mikronik24 Temat założony przez niniejszego użytkownika |
Znak Dzielenia » 2015-04-27 12:52:27 Napisałem ostatnio program. Wszystko jest OK, może nie jest to jakiś super kod, nie jest maksymalnie skrócony, ale nie o tym. W tym kodzie mam Case'y i problem polega na tym, że jeśli w jednym z Case'ów dam w działaniu znak dzielenia "/" nie działa mi pętla, proszę o pomoc.Powiem jeszcze że jestem nowy na tym forum, i nie mam pojęcia jak wstawić kod więc wstawiam tak :) #include <iostream> #include <cstdlib> #include <fstream>
using namespace std;
void menu() { cout << "========MENU========"; cout << "\n[1] - szyfrowanie"; cout << "\n[2] - odszyfrowywanie"; cout << "\n[3] - Wyczysc plik"; cout << "\nAby zakonczyc dzialanie programu,\n po prostu wcisnij [9] i [ENTER].\n"; }
int main() { fstream plik; int ile = 0; char a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, space; char szyfr; int alo; char tymczasowa; int haslo; int dlugosc; int odszyfrkod; int odszyfrhaslo; a = 1; b = 2; c = 3; d = 4; e = 5; f = 6; g = 7; h = 8; i = 9; j = 10; k = 11; l = 12; m = 13; n = 14; o = 15; p = 16; q = 17; r = 18; s = 19; t = 20; u = 21; v = 22; w = 23; x = 24; y = 25; z = 26; space = 69; cout << "Podaj haslo(tylko cyfry): "; cin >> haslo; system( "cls" ); menu(); cin >> alo; do { system( "CLS" ); switch( alo ) { case 1: tymczasowa = 0; cout << "podaj litere: "; cin >> tymczasowa; if( tymczasowa == 'a' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * a << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'b' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * b << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'c' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * c << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'd' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * d << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'e' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * e << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'f' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * f << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'g' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * g << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'h' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * h << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'i' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * i << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'j' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * j << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'k' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * k << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'l' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * l << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'm' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * m << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'n' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * n << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'o' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * o << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'p' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * p << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'q' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * q << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'r' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * r << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 's' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * s << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 't' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * t << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'u' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * u << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'v' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * v << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'w' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * w << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'x' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * x << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'y' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * y << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'z' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * z << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == ' ' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * space << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == '9' ) { return 0; } plik.close(); break; case 2: | plik.open( "qqtx.txt", ios::out | ios::app ); | | cout << "Podaj klucz: "; | int klucz; | cin >> klucz; | cout << "Podaj szyfr: "; | int kdd; | cin >> kdd; | if( kdd > 0 ) | { | } | system( "PAUSE" ); | | break; case 3: plik.open( "qqtx.txt", ios::out | ios::trunc ); plik.close(); system( "PAUSE" ); return 0; break; } } while( dlugosc ); return 0; }
|
|
darko202 |
» 2015-04-27 13:17:07 1. kod wstawiasz w [cpp] ... [\cpp]
2. opisz komunikat błędu miejsce w którym wstawiasz znak "/" |
|
mikronik24 Temat założony przez niniejszego użytkownika |
Odp. » 2015-04-27 13:21:13 1. Ok dzięki za poinformowanie mnie jak się wstawia :) 2. Problem jest taki, że przerywa mi pętlę i zwraca 0 więc program się zamyka. KOD: case 2:
plik.open( "qqtx.txt", ios::out | ios::app );
cout << "Podaj klucz: "; int klucz; cin >> klucz; cout << "Podaj szyfr: "; int kdd; cin >> kdd; if( kdd > 0 ) { cout << "Wynik: " << kdd / klucz; } system( "PAUSE" );
break;
|
|
Monika90 |
» 2015-04-27 13:59:09 zastanów się jaką wartość ma zmienna dlugosc |
|
darko202 |
» 2015-04-27 14:00:36 nie chce mi się sprawdzać, ale twój problem wynika prawdopodobnie z tego że dzielenie realizujesz w strumieniu cout który wcześniej zamienia dzielone int na ciąg znaków
spróbuj nawiasy + rzutowanie (int)(kdd / klucz) lub same nawiasy (kdd / klucz) |
|
mikronik24 Temat założony przez niniejszego użytkownika |
» 2015-04-27 16:13:06 Ok, sprawdzę jak będę w domu i powiem co mi tam wyszło. |
|
mikronik24 Temat założony przez niniejszego użytkownika |
» 2015-04-27 20:28:40 Udało mi się. Przepisałem cały Case 2, ale nie w CodeBlock's tak jak to miało miejsce przedtem, tylko w DevC++ i na innym komputerze. Poniżej zamieszczam kod. #include <iostream> #include <cstdlib> #include <fstream>
using namespace std;
void menu() { cout << "========MENU========"; cout << "\n[1] - szyfrowanie"; cout << "\n[2] - odszyfrowywanie"; cout << "\n[3] - Wyczysc plik"; cout << "\nAby zakonczyc dzialanie programu,\n po prostu wcisnij [9] i [ENTER].\n"; }
int main() { fstream plik; int ile = 0; char a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, space; char szyfr; int alo; char tymczasowa; int haslo; int dlugosc; int odszyfrkod; int odszyfrhaslo; a = 1; b = 2; c = 3; d = 4; e = 5; f = 6; g = 7; h = 8; i = 9; j = 10; k = 11; l = 12; m = 13; n = 14; o = 15; p = 16; q = 17; r = 18; s = 19; t = 20; u = 21; v = 22; w = 23; x = 24; y = 25; z = 26; space = 69; cout << "Podaj haslo(tylko cyfry): "; cin >> haslo; system( "cls" ); menu(); cin >> alo; do { system( "CLS" ); switch( alo ) { case 1: tymczasowa = 0; cout << "podaj litere: "; cin >> tymczasowa; if( tymczasowa == 'a' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * a << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'b' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * b << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'c' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * c << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'd' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * d << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'e' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * e << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'f' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * f << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'g' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * g << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'h' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * h << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'i' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * i << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'j' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * j << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'k' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * k << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'l' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * l << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'm' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * m << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'n' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * n << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'o' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * o << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'p' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * p << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'q' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * q << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'r' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * r << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 's' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * s << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 't' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * t << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'u' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * u << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'v' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * v << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'w' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * w << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'x' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * x << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'y' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * y << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == 'z' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * z << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == ' ' ) { plik.open( "qqtx.txt", ios::out | ios::app ); plik << haslo * space << endl; plik.close(); tymczasowa = 0; } if( tymczasowa == '9' ) { return 0; } plik.close(); break; case 2: int kdwn; cout << "Podaj klucz: "; int klucz; cin >> klucz; do { cout << "Podaj szyfr: "; int kdd; cin >> kdd; kdwn = kdd / klucz; if( kdwn == 1 ) { cout << "Odszyfrowana litera to: " << "A\n"; } if( kdwn == 2 ) { cout << "Odszyfrowana litera to: " << "B\n"; } if( kdwn == 3 ) { cout << "Odszyfrowana litera to: " << "C\n"; } if( kdwn == 4 ) { cout << "Odszyfrowana litera to: " << "D\n"; } if( kdwn == 5 ) { cout << "Odszyfrowana litera to: " << "E\n"; } if( kdwn == 6 ) { cout << "Odszyfrowana litera to: " << "F\n"; } if( kdwn == 7 ) { cout << "Odszyfrowana litera to: " << "G\n"; } if( kdwn == 8 ) { cout << "Odszyfrowana litera to: " << "H\n"; } if( kdwn == 9 ) { cout << "Odszyfrowana litera to: " << "I\n"; } if( kdwn == 10 ) { cout << "Odszyfrowana litera to: " << "J\n"; } if( kdwn == 11 ) { cout << "Odszyfrowana litera to: " << "K\n"; } if( kdwn == 12 ) { cout << "Odszyfrowana litera to: " << "L\n"; } if( kdwn == 13 ) { cout << "Odszyfrowana litera to: " << "M\n"; } if( kdwn == 14 ) { cout << "Odszyfrowana litera to: " << "N\n"; } if( kdwn == 15 ) { cout << "Odszyfrowana litera to: " << "O\n"; } if( kdwn == 16 ) { cout << "Odszyfrowana litera to: " << "P\n"; } if( kdwn == 17 ) { cout << "Odszyfrowana litera to: " << "Q\n"; } if( kdwn == 18 ) { cout << "Odszyfrowana litera to: " << "R\n"; } if( kdwn == 19 ) { cout << "Odszyfrowana litera to: " << "S\n"; } if( kdwn == 20 ) { cout << "Odszyfrowana litera to: " << "T\n"; } if( kdwn == 21 ) { cout << "Odszyfrowana litera to: " << "U\n"; } if( kdwn == 22 ) { cout << "Odszyfrowana litera to: " << "V\n"; } if( kdwn == 23 ) { cout << "Odszyfrowana litera to: " << "W\n"; } if( kdwn == 24 ) { cout << "Odszyfrowana litera to: " << "X\n"; } if( kdwn == 25 ) { cout << "Odszyfrowana litera to: " << "Y\n"; } if( kdwn == 26 ) { cout << "Odszyfrowana litera to: " << "Z\n"; } } while( dlugosc ); system( "PAUSE" ); break; case 3: plik.open( "qqtx.txt", ios::out | ios::trunc ); plik.close(); system( "PAUSE" ); return 0; break; } } while( dlugosc ); return 0; }
A tutaj poprawiony fragment z Case'a 2 z dodanymi już funkcjami deszyfrowania. (Tak, tak wiem że to nie jest prawdziwy program szyfrująco deszyfrujący, ale mam 13 lat i dopiero się uczę. I tak wiem, że to nie jest usprawiedliwienie :) ) case 2:
int kdwn;
cout << "Podaj klucz: "; int klucz; cin >> klucz;
do { cout << "Podaj szyfr: "; int kdd; cin >> kdd; kdwn = kdd / klucz; if( kdwn == 1 ) { cout << "Odszyfrowana litera to: " << "A\n"; } if( kdwn == 2 ) { cout << "Odszyfrowana litera to: " << "B\n"; } if( kdwn == 3 ) { cout << "Odszyfrowana litera to: " << "C\n"; } if( kdwn == 4 ) { cout << "Odszyfrowana litera to: " << "D\n"; } if( kdwn == 5 ) { cout << "Odszyfrowana litera to: " << "E\n"; } if( kdwn == 6 ) { cout << "Odszyfrowana litera to: " << "F\n"; } if( kdwn == 7 ) { cout << "Odszyfrowana litera to: " << "G\n"; } if( kdwn == 8 ) { cout << "Odszyfrowana litera to: " << "H\n"; } if( kdwn == 9 ) { cout << "Odszyfrowana litera to: " << "I\n"; } if( kdwn == 10 ) { cout << "Odszyfrowana litera to: " << "J\n"; } if( kdwn == 11 ) { cout << "Odszyfrowana litera to: " << "K\n"; } if( kdwn == 12 ) { cout << "Odszyfrowana litera to: " << "L\n"; } if( kdwn == 13 ) { cout << "Odszyfrowana litera to: " << "M\n"; } if( kdwn == 14 ) { cout << "Odszyfrowana litera to: " << "N\n"; } if( kdwn == 15 ) { cout << "Odszyfrowana litera to: " << "O\n"; } if( kdwn == 16 ) { cout << "Odszyfrowana litera to: " << "P\n"; } if( kdwn == 17 ) { cout << "Odszyfrowana litera to: " << "Q\n"; } if( kdwn == 18 ) { cout << "Odszyfrowana litera to: " << "R\n"; } if( kdwn == 19 ) { cout << "Odszyfrowana litera to: " << "S\n"; } if( kdwn == 20 ) { cout << "Odszyfrowana litera to: " << "T\n"; } if( kdwn == 21 ) { cout << "Odszyfrowana litera to: " << "U\n"; } if( kdwn == 22 ) { cout << "Odszyfrowana litera to: " << "V\n"; } if( kdwn == 23 ) { cout << "Odszyfrowana litera to: " << "W\n"; } if( kdwn == 24 ) { cout << "Odszyfrowana litera to: " << "X\n"; } if( kdwn == 25 ) { cout << "Odszyfrowana litera to: " << "Y\n"; } if( kdwn == 26 ) { cout << "Odszyfrowana litera to: " << "Z\n"; } } while( dlugosc );
system( "PAUSE" );
break;
//P.S. Jeśli to możliwe to prosiłbym o ocenę i jakies podpowiedzi :D |
|
pekfos |
» 2015-04-27 20:51:35 Jeśli to możliwe to prosiłbym o ocenę |
Kod wygląda strasznie. Powinno ci to zająć 50 linii, a nie >500.. |
|
« 1 » 2 |