HackTack Geschrieben 15. Juli 2001 Geschrieben 15. Juli 2001 Hallo! Danke für eure Hife, habe das Programm umgeschrieben läuft immer noch nicht, was hab ich denn jetzt bloß falsch gemacht???? Ich brauche glaube ich ein Buch!!!!! Ich habe letzte Woche mit dem programmieren anfangen müssen und habe nun schon ein kleines Problem mit meinem Programm. Dieses Programm soll eine Namensabfrage vollziehen das heißt, wird der Name Frank über Tastatur eingegeben soll als mitteiling ausgegeben werden "richtig" bei falscher eingabe soll dem entsprechent "falsch" augegeben werden. Was stimmt an der Syntax nicht? Kann mir jemand ein Buch("C") emfehlen? Danke! #include <stdio.h> #include <string.h> void main () { char name[20]; printf("Bitte geben Sie einen Namen ein \n"); scanf("%s", name); \\ wie erkennt er den Inhalt von Name??? strcmp("name","Frank"); { if (strcmp == 0) printf("gut"); else printf("schlecht"); } } <FONT COLOR="#a62a2a" SIZE="1">[ 16. Juli 2001 10:58: Beitrag 1 mal editiert, zuletzt von HackTack ]</font>
Poldi Geschrieben 16. Juli 2001 Geschrieben 16. Juli 2001 Ich schließe mich meinem Vorredner an... Du vergleichst dort nämlich die Speicheradresse der Variable "name" mit dem String "Frank". Durch das "&" vor der Variable greifst du auf die Adresse der Variablen zu. Willst du auf den Inhalt zugreifen, laß das "&" einfach weg. Zwei Strings vergleichst du mit strcmp("String1","String2"); Hat strcmp den Rückgabewert 0 so sind die Strings gleich.
Hasi Geschrieben 16. Juli 2001 Geschrieben 16. Juli 2001 ausserdem: mit %c liest du nur einen einzigen buchstaben ein, mit %s kann man ne ganze kette einlesen buchtip ist kerningham/ritchie wie oben, da das die erfinder von C sind/ waren (leben die noch????) <FONT COLOR="#a62a2a" SIZE="1">[ 16. Juli 2001 08:59: Beitrag 1 mal editiert, zuletzt von [Hasi] ]</font>
Shadax Geschrieben 16. Juli 2001 Geschrieben 16. Juli 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von HackTack: <STRONG> char name[20]; // [...] scanf("%c",&name); // [...] </STRONG>
Shadax Geschrieben 16. Juli 2001 Geschrieben 16. Juli 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von HackTack: <STRONG>Hallo! Danke für eure Hife, habe das Programm umgeschrieben läuft immer noch nicht, was hab ich denn jetzt bloß falsch gemacht???? // [...] scanf("%s", name); \\ wie erkennt er den Inhalt von Name??? strcmp("name","Frank"); { if (strcmp == 0) printf("gut"); else printf("schlecht"); } }</STRONG>
Dagegen Geschrieben 16. Juli 2001 Geschrieben 16. Juli 2001 @HackTack du kannst es auch mal so probieren: strstr(buffer1,"Teststep") buffer1 ist ein char-Array in dem der zu durchsuchende String steht Teststep ist das zu suchende Pattern also: if(strstr(buffer1,"Teststep")) printf("Ok"); else "tu was anderes"
Shadax Geschrieben 16. Juli 2001 Geschrieben 16. Juli 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Dagegen: <STRONG>@HackTack du kannst es auch mal so probieren: [...] also: if(strstr(buffer1,"Teststep")) printf("Ok"); else "tu was anderes"</STRONG>
Dagegen Geschrieben 16. Juli 2001 Geschrieben 16. Juli 2001 dann checkst du halt nocu auf String-Ende oder Space ab: if(strcmp(name, "Frank\0") == 0) od. if(strcmp(name, "Frank ") == 0)
HackTack Geschrieben 16. Juli 2001 Autor Geschrieben 16. Juli 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Shadax: <STRONG> // probier das mal: if(strcmp(name, "Frank") == 0) printf("gut"); else printf("schlecht"); // du hattest geprüft, ob "name" gleich "Frank" ist, // und nicht, ob der _Inhalt_ von name gleich "Frank" ist</STRONG>
Poldi Geschrieben 16. Juli 2001 Geschrieben 16. Juli 2001 oops, hab das korrektur posting weiter oben übersehen ... egal. <FONT COLOR="#a62a2a" SIZE="1">[ 16. Juli 2001 16:20: Beitrag 1 mal editiert, zuletzt von Poldi ]</font>
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden