Cezar
Ostatnio zmodyfikowano 2014-01-24 15:39
krisstoof Temat założony przez niniejszego użytkownika |
Cezar » 2014-01-23 14:30:24 Mam problem z cezarem. Otóż nie wiem jak wstawić poprawne wyświetlanie się alfabetu ASCII. Niektóre litery po przesunięciu wyświetlają różne znaki zamiast liter. Mógłby ktoś skorygować mój program lub podpowiedzieć jak naprawić mój program. #include<iostream> #include<cstdlib> using namespace std; void nap() { cout << "Wybierz opcje: " << endl; cout << "[1] Szyfrowanie" << endl; cout << "[2] Deszyfrowanie" << endl; } void szyfr() { string sl; int c; cout << "podaj tekst do zaszyfrowania" << endl; cin >> sl; cout << "podaj wspolczynnik przesuniecia" << endl; cin >> c; for( int i = 0; i <= sl.length(); i++ ) { sl[ i ] = int( sl[ i ] ) + c; } cout << sl << endl; }
void deszyfr() { string sl; int c; cout << "podaj tekst do deszyfrowania" << endl; cin >> sl; cout << "podaj wspolczynnik przesuniecia" << endl; cin >> c; c =- c; for( int i = 0; i <= sl.length(); i++ ) { sl[ i ] = int( sl[ i ] ) + c; } cout << sl << endl; }
int main() { int opcja; nap(); do { cin >> opcja; switch( opcja ) { case 1: szyfr(); cout << "A teraz wybierz [2] by deszyfrowac tekst" << endl; break; system( "cls" ); case 2: deszyfr(); break; } } while( opcja != 0 ); system( "pause" ); return EXIT_SUCCESS; } |
|
pekfos |
» 2014-01-23 14:48:26 Brakuje modulo. Jak do 'z' dodasz 1, to nie otrzymasz 'a'. |
|
krisstoof Temat założony przez niniejszego użytkownika |
» 2014-01-23 16:23:52 Jak użyć modulo, by móc zacząć nowy cykl liter po 'z'? |
|
pekfos |
» 2014-01-23 20:05:13 ( x - 'a' + y ) %( 'z' - 'a' + 1 ) + 'a' |
|
krisstoof Temat założony przez niniejszego użytkownika |
» 2014-01-24 15:39:38 Dzięki już działa.:) |
|
« 1 » |