Problem z utrzymaniem poprawnej wartości zmiennej
Ostatnio zmodyfikowano 2016-05-04 20:22
vampir1971 Temat założony przez niniejszego użytkownika |
Problem z utrzymaniem poprawnej wartości zmiennej » 2016-05-04 19:36:28 Witam! Oto mój kod: #include <iostream> #include <fstream> #include <time.h> #include <windows.h> #include <MMSystem.h> using namespace std; int odpowiedz[ 29 ]; int wynik = 0; void wait( int seconds ) { clock_t endwait; endwait = clock() + seconds * CLOCKS_PER_SEC / 100; while( clock() < endwait ) { } } int main() { string imie; string nazwisko; cout << "**********************************************************" << endl; cout << "*Witaj w Quiz'ie o —redniowieczu. Dobra odpowied« = 1 pkt" << endl; cout << "*Wybierz odpowiedzi spo˜r¢d 1, 2 i 3" << endl; wait( 300 ); cout << "*Podaj imi©: "; cin >> imie; cout << "*Podaj nazwisko: "; cin >> nazwisko; cout << "*Witaj " << imie << " " << nazwisko << ". Powodzenia!" << endl; cout << "***********************************************************" << endl; wait( 300 ); system( "cls" ); cout << endl; cout << endl; cout << "Pierwsze pytanie: Daty wyznaczaj¥ce pocz¥tek i koniec epoki ˜redniowiecza to:" << endl; cout << "1. 1096r. - 1292r. - pocz¥tek i koniec wypraw krzy¾owych" << endl; cout << "2. 1096r. - 1492r. - pocz¥tek wypraw krzy¾owych i odkrycie Ameryki przez Krzysztofa Kolumba" << endl; cout << "3. 476r. - 1492r. - upadek Cesarstwa Zachodniorzymskiego i odkrycie ameryki przez Krzysztofa Kolumba" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 0 ]; if( odpowiedz[ 0 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Drugie Pytanie: Obowi¥zuj¥ce w ˜redniowieczu style architektoniczne i sztuce to:" << endl; cout << "1. Styl romaäski i gotycki" << endl; cout << "2. Styl ˜redniowieczny" << endl; cout << "3. Styl gotycki" << endl; cout << "Twoja odpowied«:"; cin >> odpowiedz[ 1 ]; if( odpowiedz[ 1 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Gratulacje! To dobra odpowied«!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Trzecie pytanie: Wyprawy krzy¾owe to inaczej:" << endl; cout << "1. Krucjaty" << endl; cout << "2. —wi©toszki" << endl; cout << "3. krzy¾anki" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 2 ]; if( odpowiedz[ 2 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Brawo! Rewelacyjna odpowied«" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Czwarte pytanie: przedstawienie Matki Bo¾ej bolej¥cej nad martwym ciaˆem syna to:" << endl; cout << "1. topos" << endl; cout << "2. pieta" << endl; cout << "3. motyw maryjny" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 3 ]; if( odpowiedz[ 3 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Gratulacje! To dobra odpowied«! Sk¥d wiedziaˆe˜?" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Pi¥te pytanie: Pierwszym kr¢lem Polski byˆ:" << endl; cout << "1. Bolesˆaw Chrobry" << endl; cout << "2. Mieszko I" << endl; cout << "3. Bolesˆaw —miaˆy" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 4 ]; if( odpowiedz[ 4 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Nast©pne pytanie: Chrzest Polski odbyˆ si© w:" << endl; cout << "1. 996 r." << endl; cout << "2. 1000 r." << endl; cout << "3. 966 r." << endl; cout << "twoja odpowied«: "; cin >> odpowiedz[ 5 ]; if( odpowiedz[ 5 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Brawo!!!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Si¢dme pytanie: Rozbicie dzielnicowe zostaˆo zakoäczone:" << endl; cout << "1. wyp©dzeniem Solomei z Polski" << endl; cout << "2. koronacj¥ Wˆadysˆawa okietka" << endl; cout << "3. ˜mierci¥ Wˆadysˆawa Wygnaäca" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 6 ]; cout << endl; if( odpowiedz[ 6 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Gratulacje!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "¢sme pytanie: Sˆynny miecz koronacyjny kr¢l¢w Polski to:" << endl; cout << "1. Zawisza" << endl; cout << "2. Bolesˆawiec" << endl; cout << "3. Szczerbiec" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 7 ]; cout << endl; if( odpowiedz[ 7 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Gratulacje! Sk¥d ty tyle wiesz?" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Nast©pne pytanie: Zakon Szpitala Naj˜wi©tszej Maryi Panny Domu Niemieckiego w Jerozolimie to:" << endl; cout << "1. Templariusze" << endl; cout << "2. Krzy¾acy" << endl; cout << "3. Joannici" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 8 ]; cout << endl; if( odpowiedz[ 8 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Nast©pne pytanie: Krzy¾k¢w do Polski sprowadziˆ:" << endl; cout << "1. Konrad Mazowiecki" << endl; cout << "2. Karol Mazowiecki" << endl; cout << "3. Konrad Wielki" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 9 ]; cout << endl; if( odpowiedz[ 9 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "jedenaste pytanie: —redniowieczny uniwersalizm to:" << endl; cout << "1. jednakowy styl w sztuce" << endl; cout << "2. jednakowe wzorce osobowe" << endl; cout << "3. jeden ustr¢j, jedna religia, jeden j©zyk" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 10 ]; if( odpowiedz[ 10 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Dwunaste pytanie: Katedra Notra Dame jest zbudowana w stylu:" << endl; cout << "1. gotyckim" << endl; cout << "2. romaäskim" << endl; cout << "3. renesansowym" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 11 ]; if( odpowiedz[ 11 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Brawo!" << endl; if(( imie[ imie.size() - 1 ] == 'a' ) &&( imie != "Kuba" ) ) { cout << "Jeste˜ genialna" << endl; } else { cout << "Jeste˜ genialny" << endl; } } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Nast©pne pytanie: Wsp¢lny j©zyk ludzi ¾yj¥cych w czasach ˜redniowiecza to:" << endl; cout << "1. Polski" << endl; cout << "2. acina" << endl; cout << "3. Grecki" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 12 ]; if( odpowiedz[ 12 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Gratulacje!" << endl; if(( imie[ imie.size() - 1 ] == 'a' ) &&( imie != "Kuba" ) ) { cout << "Gdzie zdobyˆa˜ tak¥ wiedz©?" << endl; } else { cout << "Gdzie zdobyˆe˜ tak¥ wiedz©?" << endl; } } cout << "Nast©pne pytanie: Okres najwi©kszej ˜wietno˜ci paästwa bizantyjskiego przypadaˆ na rz¥dy:" << endl; cout << "1. Konstantyna Wielkiego" << endl; cout << "2. Bazylego II M˜ciwego" << endl; cout << "3. Justyniana I Wielkiego" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 13 ]; if( odpowiedz[ 13 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Nast©pne pytanie: Mahomet zapocz¥tkoeaˆ islam w:" << endl; cout << "1. V w. n. e." << endl; cout << "2. VI w. p. n. e." << endl; cout << "3. VII w. n. e." << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 14 ]; if( odpowiedz[ 14 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Nast©pne pytanie: D¾ihat to:" << endl; cout << "1. ˜wi©ta ksi©ga islamu" << endl; cout << "2. ˜wi©ta wojna" << endl; cout << "3. modlitwa" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 15 ]; if( odpowiedz[ 15 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Siedemnaste pytanie: Mahomet uciekaˆ:" << endl; cout << "1. z Medyny do Mekki" << endl; cout << "2. z Damaszku do Medyny" << endl; cout << "3. z Mekki do Medyny" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 16 ]; if( odpowiedz[ 16 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Nast©pne pytanie: B¢g wyznawc¢w islamu to:" << endl; cout << "1. Allah" << endl; cout << "2. Jahwe" << endl; cout << "3. Zeus" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 17 ]; if( odpowiedz[ 17 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Nast©pne pytanie: Dwie wa¾ne dynastie Frank¢w to:" << endl; cout << "1. Ludwikowie i Karolingowie" << endl; cout << "2. Merowingowie i Ludwikowie" << endl; cout << "3. Karolingowie i Merowingowie" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 18 ]; if( odpowiedz[ 18 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Okr¥gˆe dwudzieste pytanie (jeszcze tylko 10): Imperium uniwersalne miaˆy tworzy†:" << endl; cout << "1. Galia, Germania, Sˆowiaäszczyzna i Rzym" << endl; cout << "2. Germania i Sˆowiaäszczyzna" << endl; cout << "3. Rzym, Galia i Germania" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 19 ]; if( odpowiedz[ 19 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Brawo! —wietnie ci idzie." << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Nast©pne pytanie: Alfabet sˆowiaäski to:" << endl; cout << "1. cyrlica" << endl; cout << "2. gˆagolica" << endl; cout << "3. obie odpowiedzi s¥ poprawne" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 20 ]; if( odpowiedz[ 20 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Gratulacje. Oby tak dalej!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Nast©pne pytanie: Ziemia —wi©ta to:" << endl; cout << "1. Italia" << endl; cout << "2. Palestyna" << endl; cout << "3. Germania" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 21 ]; if( odpowiedz[ 21 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Brawo! Idziesz po zwyci©stwo!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Pytanie nr 23: Testament Bolesˆawa Krzywoustego zostaˆ ogˆoszony w :" << endl; cout << "1. 1138 r." << endl; cout << "2. 1122 r." << endl; cout << "3. 1140 r." << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 22 ]; if( odpowiedz[ 22 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Gratulacje! Ju¾ niedaleko." << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Nast©pne pytanie: Pierwsz¥ stolic¥ Polski byˆo:" << endl; cout << "1. Poznaä" << endl; cout << "2. Gniezno" << endl; cout << "3. Gdaäsk" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 23 ]; if( odpowiedz[ 23 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Wow! Idziesz jak burza!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Pytanie nr 25: ''Zastaˆ Polsk© drewnian¥, a zostawiˆ murowan¥'' - O jakim Polskim wˆadcy tak m¢wimy?" << endl; cout << "1. o Kazimierzu Odnowicielu" << endl; cout << "2. o Wˆadysˆawie okietku" << endl; cout << "3. o Kazimierzu Wielkim" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 24 ]; if( odpowiedz[ 24 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Brawo! Jeszcze tylko 5 pytaä." << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Pytanie dwadzie˜cia sze˜†: Norman¢w zwano" << endl; cout << "1. wikingami" << endl; cout << "2. wiktorianami" << endl; cout << "3. wodzami" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 25 ]; if( odpowiedz[ 25 ] == 1 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Gratulacje! Oby tak dalej!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Nast©pne pytanie: Normanowie sˆyn©li z:" << endl; cout << "1. architektury" << endl; cout << "2. ¾eglarstwa i ˆupie¾y" << endl; cout << "3. szkolnictwa" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 26 ]; if( odpowiedz[ 26 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Ju¾ niedaleko!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Nast©pne pytanie: D¾uma zostaˆa nazwana:" << endl; cout << "1. ˜miertelniczk¥" << endl; cout << "2. ˜mierci¥ ubogich" << endl; cout << "3. czarn¥ ˜mierci¥" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 27 ]; if( odpowiedz[ 27 ] == 3 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; cout << "Brawo!" << endl; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Przedostatnie pytanie :)" << endl; cout << "Okres, kiedy chˆopi nie musieli pˆaci† czynszu to:" << endl; cout << "1. tr¢jpol¢wka" << endl; cout << "2. wolnizna" << endl; cout << "3. ˆawa" << endl; cout << "Twoja Odpowied«: "; cin >> odpowiedz[ 28 ]; if( odpowiedz[ 28 ] == 2 ) { system( "cls" ); wait( 50 ); wynik = wynik + 1; } else { system( "cls" ); wait( 50 ); cout << "To nie jest poprawna odpowied«" << endl; } cout << "Zdobyte do tej pory przez Ciebie punkty to: " << wynik << endl; cout << "Ostatnie pytanie :) Powodzenia!" << endl; cout << "Suzerenem byˆ:" << endl; cout << "1. rycerzem" << endl; cout << "2. szlachcicem" << endl; cout << "3. kr¢lem" << endl; cout << "Twoja odpowied«: "; cin >> odpowiedz[ 29 ]; if( odpowiedz[ 29 ] == 3 ) { wynik = wynik + 1; } cout << "chwila niepewno˜ci... sprawdzam wynik" << endl; wait( 500 );
i teraz element zapisu ofstream zapis( "wynikisrednowiecze.txt", ios_base::app ); zapis << imie << endl; zapis << nazwisko << endl;
zapis << wynik << endl; zapis.close(); cout << "Nacinij Enter aby zako\344czy\206"; cin.ignore(); cin.get();
} No i problem jest taki, że gdy otwieram plik zapisu zamiast poprawnego wyniku jest jedynie 0 lub 1 (więc w zmiennej wynik jest tylko wynik ostatniego zadania). Co robię źle? |
|
Masterpc16 |
» 2016-05-04 19:58:23 uuu dużo kodu 1. kod wpisujesz w znacznikach [*cpp] tutaj kod [*/cpp] z obu usuwasz * 2. możesz ten kod podać w tych znacznikach i wrzucić osobno linijki odpowiedzialne za zapis i odczyt pliku txt? Bo trochę nie chce mi się doszukiwać ich :) |
|
vampir1971 Temat założony przez niniejszego użytkownika |
» 2016-05-04 20:05:29 Gotowe |
|
Masterpc16 |
» 2016-05-04 20:17:30 Nie potrzebnie tworzysz zmienne globalne ponieważ z nich korzysta tylko funkcja main i to w niej powinny zostać zadeklarowane (tam gdzie stringi) i gdy tak zrobisz to wszystko jest w porządku |
|
vampir1971 Temat założony przez niniejszego użytkownika |
» 2016-05-04 20:22:15 Ok dzięki bardzo mi pomogłeś. Już rozumiem dlaczego wszyscy mówią, że zmienne globalne to zło |
|
« 1 » |