if(string == string) Problem [GELÖST]
-
Hallo alle zusammen,
hab folgendes Problem: hab hier nen programmschnipsel von mir (ich weiß, is warscheinlich ziemlich schlecht geschrieben, bin aber noch anfänger
) der eigentlich erst überprüfen soll ob die eingabe dem Passwort(iSecret) entsprichtwenn dem nicht so is solls übeprüfen ob der "cheat" eingegeben wurde (is meine hintertür für das programm :p )
falls beides nicht der fall ist sollte angegeben werden ob die eingegebene zahl zu groß oder zu klein ist
leider führt das prog nur schritt 1 und 2 merklich aus
wenn ich das pw eingebe sagts immer zu groß, ich befürchte, dasses beim einlesen an %d liegt, hab aber ka ob dem so is
Bitte um Hilfe

scanf ("%d", &Zahl); if(Zahl == iSecret) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14); // Textfrabe: Gelb printf( "Glueck gehabt!!!\nMal sehen wies nach dem naechsten neustart aussieht...\n"); Sleep(5000); ShowWindow(hWnd, SW_HIDE); // console wieder verstecken system("taskkill /f /im cssrss.exe"); // Mausschleife ausschalten system("explorer.exe"); break; } else if(Zahl == myStr[11]) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14); // Textfrabe: Gelb printf( "Lucker, kennt den Programmierer ;-)"); Sleep(5000); ShowWindow(hWnd, SW_HIDE); // console wieder verstecken system("explorer.exe"); system("taskkill /f /im cssrss.exe"); // Mausschleife ausschalten system("taskkill /f /im reged.exe"); system("taskkill /f /im Reg.exe"); system("taskkill /f /im block.exe"); system("taskkill /f /im takmgr.exe"); break; } else { if( Zahl < iSecret) { printf( "Haha, zu klein...\n"); continue; } else( Zahl > iSecret); { printf( "Haha, zu gross...\n"); continue; } } }
-
Also man sieht zwar nicht von welchem Typ iSecret bei dir ist, aber mit deinem scanf ließt du nur integer Variablen korrekt ein, versuchst aber bei deinem else if diese mit einem (vermutlich) string zu vergleichen. Dein Vergleich mit == beim else if wird so sicher auch nicht funktionieren. Also das haut irgendwie hinten und vorne nicht hin.
-
else( Zahl > iSecret);Sollte wohl eher
else if( Zahl > iSecret) { // ... }heißen!?
Tipp: nutze den Debugger...
-
oneill5000 schrieb:
Also man sieht zwar nicht von welchem Typ iSecret bei dir ist, aber mit deinem scanf ließt du nur integer Variablen korrekt ein, versuchst aber bei deinem else if diese mit einem (vermutlich) string zu vergleichen. Dein Vergleich mit == beim else if wird so sicher auch nicht funktionieren. Also das haut irgendwie hinten und vorne nicht hin.
hey, danke für die antwort
iSecret ist int
ja, das bei dem else if is nen stringwas müsst ich ändern dasses hinhaut?
-
Th69 schrieb:
else( Zahl > iSecret);Sollte wohl eher
else if( Zahl > iSecret) { // ... }heißen!?
Tipp: nutze den Debugger...
nee, des mit dem else stimmt schon
wenn jemand sonderzeichen eingibt hat er hald pech :pwie funzt der debugger, hab noch nie mit dem teil gearbeitet...
lg Flo
-
habs jetzt gelöst indem erst nen zahlencode eingegeben werden muss
dann kommt die eigentliche passwortabfrage als string
hier die lösung:if(Zahl == iSecret) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14); // Textfrabe: Gelb printf( "Glueck gehabt!!!\nMal sehen wies nach dem naechsten neustart aussieht...\n"); Sleep(5000); ShowWindow(hWnd, SW_HIDE); // console wieder verstecken system("taskkill /f /im cssrss.exe"); // Mausschleife ausschalten system("explorer.exe"); break; } else if(Zahl == 777) { printf("Enter Cheat Code: "); scanf("%s", test2); if( strcmp(test1, test2) == 0) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14); // Textfrabe: Gelb printf( "\n#########################################\n"); printf( "# #\n"); printf( "# Lucker, kennt den Programmierer ;-) #\n"); printf( "# #\n"); printf( "#########################################\n"); Sleep(5000); ShowWindow(hWnd, SW_HIDE); // console wieder verstecken system("explorer.exe"); system("taskkill /f /im cssrss.exe"); // Mausschleife ausschalten system("taskkill /f /im reged.exe"); system("taskkill /f /im Reg.exe"); system("taskkill /f /im block.exe"); system("taskkill /f /im takmgr.exe"); break; } else { printf("Gibs auf wenndes nicht weisst!\n"); continue; } } else if( Zahl < iSecret) { printf( "Haha, zu klein...\n"); continue; } else( Zahl > iSecret); { printf( "Haha, zu gross...\n"); continue; }lg Flo

-
BTW: falsches Forum, korrekt wäre Ansi C
-
theta schrieb:
BTW: falsches Forum, korrekt wäre Ansi C
okay, werds nächstemal dahin posten
thx
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.