[C++]Papier,kamień i nożyce
Ostatnio zmodyfikowano 2012-12-20 00:36
Kocimientus Temat założony przez niniejszego użytkownika |
[C++]Papier,kamień i nożyce » 2012-12-19 22:47:29 Program nie działa tak jak powinien. Wypisuje przegraną lub remis nawet jeśli powinienem wygrać. Od wczoraj szukam błędu i nie mogę znaleźć i liczę że mnie naprowadzicie :P #include <iostream> #include <ctime> #include <cstdlib> using namespace std;
void menu() { cout << "[1]Papier" << endl; cout << "[2]Kamien" << endl; cout << "[3]Nozyce" << endl; }
void papier() { cout << "Twoj wybor: Papier" << endl; }
void kamien() { cout << "Twoj wybor: Kamien" << endl; }
void nozyce() { cout << "Twoj wybor: Nozyce" << endl; }
void punkty( int p1points, int p2points ) { cout << "Twoje punkty: " << p1points << endl; cout << "Punkty przeciwnika:" << p2points << endl; }
int main() { srand( time( NULL ) ); static int punkty1, punkty2; int zz; int cc; menu(); do { cin >> zz; cc =( rand() % 3 ) + 1; switch( zz ) { case 1: papier(); break; case 2: kamien(); break; case 3: nozyce(); break; } switch( cc ) { case 1: { cout << "Wybor przeciwnika: Papier" << endl; cc = 1; } break; case 2: { cout << "Wybor przeciwnika: Kamien" << endl; cc = 2; } break; case 3: { cout << "Wybor przeciwnika: Nozyce" << endl; cc = 3; } break; } if( zz == cc ) { cout << "Remis" << endl; punkty( punkty1, punkty2 ); continue; } if(( zz == 2 ) ==( cc == 1 ) ||( zz == 1 ) ==( cc == 3 ) ||( zz == 3 ) ==( cc == 2 ) ) { cout << "Przegrywasz!" << endl; punkty2++; punkty( punkty1, punkty2 ); continue; } if(( zz == 2 ) ==( cc == 3 ) ||( zz == 1 ) ==( cc == 2 ) ||( zz == 3 ) ==( cc == 1 ) ) { cout << "Wygrywasz!" << endl; punkty1++; punkty( punkty1, punkty2 ); continue; } } while( punkty1 <= 100 || punkty2 <= 100 ); } |
|
DejaVu |
» 2012-12-20 00:36:09 |
|
« 1 » |