Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ wynik=inf? (petla while)

Ostatnio zmodyfikowano 2013-02-25 18:17
Autor Wiadomość
Samodoskonalacy
Temat założony przez niniejszego użytkownika
C++ wynik=inf? (petla while)
» 2013-02-25 17:09:33
C/C++
#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.
P-76951
pekfos
» 2013-02-25 17:13:41
wyzeruj
wynik
 na początku programu.
P-76952
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.
P-76953
pekfos
» 2013-02-25 17:18:48
Po wyjściu z pętli,
uczniowie
 jest równe 0.
P-76956
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?
P-76958
pekfos
» 2013-02-25 17:23:56
Dodatkową zmienną?
P-76959
MrPoxipol
» 2013-02-25 17:26:30
Wynik dziel przez dodatkową zmienną uczniowie1(albo jak tam chcesz)
C/C++
int uczniowie1 = uczniowie;
srednia = wynik / uczniowie;
P-76960
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:

C/C++
#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?
P-76961
« 1 » 2
  Strona 1 z 2 Następna strona