Po powrocie do menu if nie chce się wykonać
Ostatnio zmodyfikowano 2013-04-11 15:55
Berux Temat założony przez niniejszego użytkownika |
Po powrocie do menu if nie chce się wykonać » 2013-04-11 15:44:25 Witam. Pisałem sobie program który zamienia wpisany tekst na szyfr cezara i na odwrót. Jednak gdy wybiorę opcję 1 w menu i potem powrócę do niego, i znów wybiorę jakąś opcję, to if nie chce się wykonać. Oto kod w wersji krótszej: int main() { char znak; string wypisanie = ""; short wybor; while( true ) { system( "cls" ); cout << "---SzyfrCezara BETA---\n\n\n" "[1]Zamiana tekstu na szyfr Cezara\n" "[2]Zamiana szyfru Cezara na tekst\n\n" "> "; cin.clear(); cin.sync(); cin >> wybor; system( "cls" ); if( wybor == 1 ) { while( znak != '.' ) { } wypisanie = ""; } else if( wybor == 2 ) { while( znak != '.' ) { } wypisanie = ""; } else return false; } } Proszę o pomoc. |
|
pekfos |
» 2013-04-11 15:47:26 Resetuj znak na początku pętli. |
|
Berux Temat założony przez niniejszego użytkownika |
» 2013-04-11 15:51:21 Nic nie dało. Teraz zauważyłem, że if się wykonuje, tylko nie oczekuje na naciśnięcie klawisza przez getch(); To, co jest w if'ach: if( wybor == 1 ) { while( znak != '.' ) { znak = ' '; cout << wypisanie; cin.clear(); cin.sync(); znak = getch(); wypisanie += zamiana_na_szyfr( znak ); system( "cls" ); } wypisanie = ""; }
else if( wybor == 2 ) { while( znak != '.' ) { cout << wypisanie; cin.clear(); cin.sync(); znak = getch(); wypisanie += zamiana_na_tekst( znak ); system( "cls" ); } wypisanie = ""; }
else return false;
}
}
Już działa. Zrobiłeś to co napisał pekfos także w pętli głównej.Dzięki pekfos :) |
|
pekfos |
» 2013-04-11 15:55:08 <<nieaktualne>> |
|
« 1 » |