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> Zitieren
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. Zitieren
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> Zitieren
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> Zitieren
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> Zitieren
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" Zitieren
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> Zitieren
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) Zitieren
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> Zitieren
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> Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.