C++ wynik=inf? (petla while)
Ostatnio zmodyfikowano 2013-02-25 18:17
Samodoskonalacy Temat założony przez niniejszego użytkownika |
C++ wynik=inf? (petla while) » 2013-02-25 17:09:33 #include <iostream> using namespace std; int main() { float uczniowie; float ocena; float wynik; float srednia; cout << "ilu jest uczniow w klasie:"; cin >> uczniowie; while( uczniowie ) { cout << "podaj ocene kazdego ucznia \t ocena:"; cin >> ocena; wynik = wynik + ocena; uczniowie = uczniowie - 1; } srednia = wynik / uczniowie; cout << "srednia twojej klasy wynosi:" << srednia; return 0; } Po skompilowaniu wyskakuje mi "Srednia twojej klasy wynosi:inf" Prosze o pomoc gdyz jestem zielony i naprawde nie mam sie kogo poradzic i przepraszam za zabrudzanie forum takimi prostymi rzeczami z gory dziekuje i pozdrawiam. |
|
pekfos |
» 2013-02-25 17:13:41 wyzeruj wynik na początku programu. |
|
Samodoskonalacy Temat założony przez niniejszego użytkownika |
» 2013-02-25 17:15:25 Wynik wyzerowany, nic to nie zmienilo. Wyzerowalem rowniez pozniej ocene, wynik, srednia pozostawiajac uczniow jest nadal INF. |
|
pekfos |
» 2013-02-25 17:18:48 Po wyjściu z pętli, uczniowie jest równe 0. |
|
Samodoskonalacy Temat założony przez niniejszego użytkownika |
» 2013-02-25 17:23:03 Tez to wczesniej wylapalem co w takim razie powinienem zrobic? |
|
pekfos |
» 2013-02-25 17:23:56 Dodatkową zmienną? |
|
MrPoxipol |
» 2013-02-25 17:26:30 Wynik dziel przez dodatkową zmienną uczniowie1(albo jak tam chcesz) int uczniowie1 = uczniowie; srednia = wynik / uczniowie; |
|
Samodoskonalacy Temat założony przez niniejszego użytkownika |
» 2013-02-25 17:30:14 I gdzie powinienem ja wsadzic w takim razie? wykombinowalem cos takiego: #include <iostream> using namespace std; int main() { float ilosc; float uczniowie; float ocena; float wynik = 0; float srednia; cout << "ilu jest uczniow w klasie:"; cin >> uczniowie; cin >> ilosc; while( uczniowie ) { cout << "podaj ocene kazdego ucznia \t ocena:"; cin >> ocena; wynik = wynik + ocena; uczniowie = uczniowie - 1; } srednia = wynik / ilosc; cout << "srednia twojej klasy wynosi:" << srednia; return 0; } Ale program nie przelicza w rzeczywistości sredniej. Kolega powiedzial ze powinienem zrobic w pentli rosnaco a nie malejaco wtedy uczniowie nie beda rowni 0. Ale nie mam pomyslu jak zadzialac moglby ktos poprawic kod, i wytlumaczyc jak dzialal? |
|
« 1 » 2 |