Frage von nick9970, 12

Problem mit C Programm?

Hallo. Ich benutze das folgende C programm in visual studio, welches das von mir generierte passwort vergleicht mithilfe von (strcmp) aber es funktioniert einfach nicht. Sprich was müsste ich machen damit ich ein "zugriff gewährt" erhalte?

include

include

main() { char geheim[10], passwort[80]; int versuch = 3; geheim[0] = 6; geheim[1] = 7; geheim[2] = 0; geheim[3] = 1; printf("\nSie haben drei Versuche.\n"); do { printf("\nBitte Passwort eingeben: \n"); gets(passwort); if (strcmp (geheim,passwort) == 0) { printf("\nZugriff gewaehrt!\n"); break; } else printf("\nZugriff verweigert! \n\a"); versuch--;

} while (versuch > 0);

}

Antwort
von kordely, 9

1. Vielleicht musste geheim und passwort gleichlängig sein.

2. 6, 0 und 7 bedeuten die Charactere mit dem Kode 6, 0 und 7, nicht die Zahlen. Sie sollten '6', '0' und '7' sein.

Kommentar von nick9970 ,

habs ausprobiert..ändert leider nichts :(

Kommentar von ralphdieter ,

Das abschließende '\0' fehlt auch:

geheim[0] = '6';
geheim[1] = '7';
geheim[2] = '0';
geheim[3] = '1';
geheim[4] = '\0';

oder einfach nur:

char geheim[10] = "6701";
Antwort
von soiza1000, 12

Bitte schreib deinen Code nicht in einer Schlange! Das versteht kein Mensch bitte schreib mal den Code mit Absätzen und Zeilen

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten