zeit -> Passwort
-
SideWinder schrieb:
@volkard: Kann deine Art die Zeit abzufragen nicht auch schief gehen in Bezug auf Zeitzonen/Sommerzeit/etc.?
Ja, sie wird schiefgehen. Zeitzonen wären ja noch ok, weil der Rechner sie nicht wechseln wird. Aber das mit der Sommerzeit ist eine arge Wurst. Man muß wohl Deine <ctime>-Seite konsoltieren.
-
erstmal wow und danke, dass das so schnell geht

Ich werd das mal ausprobieren
-
Dann hoffe ich mal, dass das Buch auch die populäreren Schleifen durchnimmt (for, while, do...while). Man kommt so gut wie immer um goto herum und erhält mit den Alternativen ein lesbareres Programm.
-
krümelkacker schrieb:
Dann hoffe ich mal, dass das Buch auch die populäreren Schleifen durchnimmt (for, while, do...while). Man kommt so gut wie immer um goto herum und erhält mit den Alternativen ein lesbareres Programm.
Wäre das auch hier so?
Zur leichteren Begutachtung durch einen pretty-printer geschickt:#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> int main(int argc, char *argv[]) { int Anzahl = 0; int Anzahl2 = 3; int zahl1; int zahl2; int zahl3; int zahl4; Start : printf("Das ist ihr %d. Versuch \n",Anzahl+1); printf("Gib deinen Passwort ein:\n"); zahl1=getch(); zahl2=getch(); zahl3=getch(); zahl4=getch(); //printf("Sie haben %c%c%c%c%c eingegeben\n",zahl1,zahl2,zahl3,zahl4); if (Anzahl <= 1) { if (zahl1 == '1' && zahl2 == '2' && zahl3 == '3' && zahl4 == '4') { printf("Das Eingegebene Passwort ist richtig.\n"); goto Weiter; } else { printf("Das eingegebene Passwort war falsch.\n"); Anzahl++; system("cls"); goto Start; } } else { printf("Sie haben 3 mal ein falsches Passwort eingegeben \n"); system("pause"); return 0; } Weiter : printf("\nSie haben nun Zugriff auf die Datei.\n"); system("PAUSE"); system( "\"C:\\Programme\\Mozilla Firefox\\firefox.exe\"" ); system("EXIT"); return 0; }
-
Ja es nimmt schleifen durch, nur hab ich davor mit Batch datein gespielt und da hab ich des halt hergenommen ^^
-
SO gehts leider auch net:
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> #include <time.h> int main(int argc, char *argv[]) { int Anzahl = 0; int Anzahl2 = 3; time_t zeit=time(0);//Sekunden seit 1.1.1970,0:00 int minutenSeitMitternacht=zeit%=24*60*60; int stunden=minutenSeitMitternacht/60; int minuten=minutenSeitMitternacht%60; int s1=stunden/10; int s2=stunden%10; int m1=minuten/10; int m2=minuten%10; int zahl1; int zahl2; int zahl3; int zahl4; char p1=s1+'0'; char p2=s2+'0'; char p3=m1+'0'; char p4=m2+'0'; Start : printf("Das ist ihr %d. Versuch \n",Anzahl+1); printf("Gib deinen Passwort ein:\n"); zahl1=getch(); zahl2=getch(); zahl3=getch(); zahl4=getch(); //printf("Sie haben %c%c%c%c%c eingegeben\n",zahl1,zahl2,zahl3,zahl4); if (Anzahl <= 1) { if(zahl1 == 's1' && zahl2 == 's2' && zahl3 == 'm1' && zahl4 == 'm2') { printf("Das Eingegebene Passwort ist richtig.\n"); goto Weiter; } else { printf("Das eingegebene Passwort war falsch.\n"); Anzahl++; system("cls"); goto Start; } } else { printf("Sie haben 3 mal ein falsches Passwort eingegeben \n"); system("pause"); return 0; } Weiter : printf("\nSie haben nun Zugriff auf die Datei.\n"); system("PAUSE"); system( "\"C:\\Programme\\Mozilla Firefox\\firefox.exe\"" ); system("EXIT"); return 0; }
-
Oh, ich Nube habe ja die Sekunden glatt verabdudelt. Meinen komplizierten Weg mit % und / müßtest Du ganz von Neuem überdenken, Sorry.
Außerdem
if (zahl1 == s1 && zahl2 == s2 && zahl3 == m1 && zahl4 == m2)
statt
if (zahl1 == 's1' && zahl2 == 's2' && zahl3 == 'm1' && zahl4 == 'm2')
-
volkard schrieb:
Oh, ich Nube habe ja die Sekunden glatt verabdudelt. Meinen komplizierten Weg mit % und / müßtest Du ganz von Neuem überdenken, Sorry.
Außerdem
if (zahl1 == s1 && zahl2 == s2 && zahl3 == m1 && zahl4 == m2)
statt
if (zahl1 == 's1' && zahl2 == 's2' && zahl3 == 'm1' && zahl4 == 'm2')Hey, bei mir klappt es, wenn ich zwei Sunden zurückgehe, also jetzt 2151 eingebe und
int minutenSeitMitternacht=zeit%(24*60*60)/60;
mache.
-
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> #include <time.h> int main(int argc, char *argv[]) { int Anzahl = 0; int Anzahl2 = 3; time_t zeit=time(0);//Sekunden seit 1.1.1970,0:00 //int minutenSeitMitternacht=zeit%=24*60*60; int minutenSeitMitternacht=zeit%(24*60*60)/60; int stunden=minutenSeitMitternacht/60; int minuten=minutenSeitMitternacht%60; int s1=stunden/10; int s2=stunden%10; int m1=minuten/10; int m2=minuten%10; int zahl1; int zahl2; int zahl3; int zahl4; char p1=s1+'0'; char p2=s2+'0'; char p3=m1+'0'; char p4=m2+'0'; Start : printf("Das ist ihr %d. Versuch \n",Anzahl+1); printf("Gib deinen Passwort ein:\n"); zahl1=getch(); zahl2=getch(); zahl3=getch(); zahl4=getch(); //printf("Sie haben %c%c%c%c%c eingegeben\n",zahl1,zahl2,zahl3,zahl4); if (Anzahl <= 1) { if(zahl1 == p1 && zahl2 == p2 && zahl3 == p3 && zahl4 == p4) { printf("Das Eingegebene Passwort ist richtig.\n"); goto Weiter; } else { printf("Das eingegebene Passwort war falsch.\n"); system("pause"); Anzahl++; system("cls"); goto Start; } } else { printf("Sie haben 3 mal ein falsches Passwort eingegeben \n"); system("pause"); return 0; } Weiter : printf("\nSie haben nun Zugriff auf die Datei.\n"); system("PAUSE"); system( "\"C:\\Programme\\Mozilla Firefox\\firefox.exe\"" ); system("EXIT"); return 0; }so sieht bei mir im mom aus... Es ging kurzzeitig (auch mit dem ding, dass man 2 Stunden abziehen musste also im 01:25 musste man 23:25 eingeben), aber dann ging plötzlich nimma
ich weiß nicht was ich verändert hab...
Kann sich jemand meine version anschaun und mir sagen was ich da falsch gemacht hab?Danke schonmal ^^
-
Da ist nichts falsch. Bei mir klappt's wunderbar.
-
mach doch mal die "gotos" raus und kapsele das schön in funktionen das kann man sich ja garnicht anschauen
