program zwracajacy wartosc z funkcji do funkcji głównej
Ostatnio zmodyfikowano 2014-07-03 20:55
antonio12 Temat założony przez niniejszego użytkownika |
program zwracajacy wartosc z funkcji do funkcji głównej » 2014-07-03 15:40:32 Napisałem takie coś: #include <iostream> using namespace std;
double pytania() { int predkosc, punkty = 0; cout << " -------- 1 pytanie --------\n\n"; cout << "Jaka jest dozwolona predkosc w miescie ? Wynik podaj w km/h \n"; cin >> predkosc; if( predkosc == 60 ) { punkty = punkty + 1; } return punkty; }
int main() { int wybor, punkty; poczatek: cout << "-------- EGZAMIN TEORETYCZNY NA PRAWO JAZDY KATEGORII B --------\n\n\n"; cout << "Aby zdac trzeba zdobyc 2/3 pkt\n"; cout << "jesli jestes gotow wpisz 1 : "; cin >> wybor; if( wybor == 1 ) { cout << "zaczynamy test\n"; pytania(); } else { cout << "sproboj za moment\n"; system( "cls" ); goto poczatek; } int wynik = pytania(); cout << "Zdobyles : " << wynik << " punktow\n"; system( "pause" ); }
I mam pytanie czemu jak odpowiem na pytanie to nie przekierowuje mnie do funkcji głównej konkretnie do linijki cout << "Zdobyles : " << wynik << " punktow\n" ? |
|
Jacob99 |
» 2014-07-03 15:49:39 Przekierowuje. Tylko ty dwa razy wywołujesz funkcję pytania() , pierwszy raz w if , a drugi raz przed cout . |
|
antonio12 Temat założony przez niniejszego użytkownika |
» 2014-07-03 15:55:48 sory ale nie rozumiem. W funkcji pytania() nie może być użyty warunek if ? |
|
pekfos |
» 2014-07-03 16:34:17 Za każdym razem jak piszesz pytania(), to jest wywoływana funkcja i jej kod jest wykonywany. W main() wywołujesz ją 2 razy. if( wybor == 1 ) { cout << "zaczynamy test\n"; pytania(); } else { cout << "sproboj za moment\n"; system( "cls" ); goto poczatek; } int wynik = pytania(); cout << "Zdobyles : " << wynik << " punktow\n";
|
W tym wypadku wynik powinieneś odbierać w if i tam też go wyświetlać. cout << "Jaka jest dozwolona predkosc w miescie ? Wynik podaj w km/h \n"; cin >> predkosc;
if( predkosc == 60 )
|
Niezły test na B.. ;) |
|
Jacob99 |
» 2014-07-03 16:34:31 Chodzi o to, że w main() wywołujesz dwa razy funkcję pytania() . Pierwszy raz: if( wybor == 1 ) { cout << "zaczynamy test\n"; pytania(); }
Drugi raz: int wynik = pytania(); cout << "Zdobyles : " << wynik << " punktow\n";
|
|
antonio12 Temat założony przez niniejszego użytkownika |
» 2014-07-03 20:55:22 ok dzięki już działa. |
|
« 1 » |