[C++] - If sprawdzający, czy dwa słowa są takie same
Ostatnio zmodyfikowano 2016-12-29 10:46
pealike Temat założony przez niniejszego użytkownika |
[C++] - If sprawdzający, czy dwa słowa są takie same » 2016-12-28 11:12:05 Witam serdecznie. Chcę stworzyć wisielca w C++, całe sprawdzanie i tak dalej zrobiłem, lecz pozostaje kwestia wygrania. Niestety, gdy daję w IF'a oba słowa (gracza oraz podane słowo do odgadnięcia) niestety nawet, gdy są różne, i tak wywala returna i cout z wygraną. Moje pytanie jest takie: Jak tutaj stworzyć system wygranej? Podsyłam main.cpp, jest dość krótki, więc myślę, że można się rozczytać. #include <iostream> #include <conio.h> #include <cstdlib> #include <windows.h> #include <string> #include <algorithm> #include <cstring>
using namespace std;
string slowo, slowo2, podanie; int proby, maxproby; int slowolength, slowo2length;
int napis( int proby1, int maxproby ) { cout << "Proby: " << maxproby << endl; cout << "Podaj literke: "; }
int main() { cout << "Witaj w Wisielcu!" << endl; cout << "Podaj slowo by ktos odgadnal: "; getline( cin, slowo ); slowolength = slowo.length(); transform( slowo.begin(), slowo.end(), slowo.begin(),::tolower ); Sleep( 1000 ); system( "cls" ); if( slowolength >= 10 ) maxproby = 20; if( slowolength < 10 ) maxproby = 10; for(;; ) { system( "cls" ); for( slowo2length = 0; slowo2length < slowolength; slowo2length++ ) cout << slowo2[ slowo2length ]; cout << endl; napis( proby, maxproby ); cin >> podanie; transform( podanie.begin(), podanie.end(), podanie.begin(),::tolower ); maxproby--; for( int i = 0; i <= slowolength; i++ ) { if( slowo[ i ] == podanie[ 0 ] ) { slowo2[ i ] = slowo[ i ]; maxproby++; } } if( maxproby == 0 ) { cout << "Przegrales! Slowo bylo takie: " << slowo << endl; return 0; } } }
|
|
pealike Temat założony przez niniejszego użytkownika |
» 2016-12-29 10:46:12 Okej, nie potrzeba mi już pomocy, znalazłem sposób na stworzenie systemu wygranej. Jeżeli ktoś by chciał zobaczyć jak to zrobiłem, wklejam kod z kilkoma komentarzami: #include <iostream> #include <conio.h> #include <cstdlib> #include <windows.h> #include <string> #include <algorithm> #include <cstring>
using namespace std;
string slowo, slowo2, podanie; int proby, maxproby; int slowolength, slowo2length; int dren = 0;
int napis( int proby1, int maxproby ) { cout << "Proby: " << maxproby << endl; cout << "Podaj literke: "; }
int main() { cout << "Witaj w Wisielcu!" << endl; cout << "Podaj slowo by ktos odgadnal: "; getline( cin, slowo ); slowolength = slowo.size(); transform( slowo.begin(), slowo.end(), slowo.begin(),::tolower ); Sleep( 1000 ); system( "cls" ); if( slowolength >= 10 ) maxproby = 20; if( slowolength < 10 ) maxproby = 10; for(;; ) { system( "cls" ); if( dren != slowolength ) { cout << slowo2 << endl; napis( proby, maxproby ); cin >> podanie; transform( podanie.begin(), podanie.end(), podanie.begin(),::tolower ); maxproby--; for( int i = 0; i <= slowolength; i++ ) { if( slowo[ i ] == podanie[ 0 ] ) { slowo2.push_back( podanie[ 0 ] ); maxproby++; dren++; } } if( maxproby == 0 ) { cout << "Przegrales! Slowo bylo takie: " << slowo << endl; return 0; } } else { cout << "Wygrana!" << endl; return 0; } } }
|
|
« 1 » |