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

dokładanie lub usuwanie ilości ocen

Ostatnio zmodyfikowano 2017-03-09 12:35
Autor Wiadomość
Tropicca
Temat założony przez niniejszego użytkownika
» 2017-03-09 10:41:42
dzięki wszystkim ! :D
rozwiązałem sobie to pisząc wszystko od nowa ( dla zainteresowanych kod niżej )
C/C++
#include <iostream>
#include <windows.h>

using namespace std;

float x, y, suma = 0, srednia, oceny;

int main()
{
    cout << "Witaj w programie do liczenia sredniej (pamietaj jesli masz ocene typu 4- jest to 3.75 zas 4+ bedzie 4.5)" << endl;
   
    cout << "Ile ocen chcesz wprowadzic? :";
    cin >> x;
   
    for( int i = 0; i < x; i++ )
    {
        cout << endl << "Podaj " << i + 1 << " Ocene:";
        cin >> oceny;
        suma += oceny;
       
    }
   
    cout << endl;
    srednia = suma / x;
   
   
    {
        cout << "Z tego wynika ze twoja srednia to :" << srednia << endl;
        cout << endl;
       
        if( srednia <= 3.9 )
             cout << "No chyba musisz sie podciagnac" << endl;
        else if(( srednia >= 4 ) &&( srednia <= 5.4 ) )
             cout << "No no , calkiem niezle ;)" << endl;
       
        if( srednia >= 5.5 )
             cout << "WSPANIALE ! RODZICE MUSZA BYC DUMNI" << endl;
       
    }
   
    system( "pause" );
   
   
    return 0;
}
P-158749
mateczek
» 2017-03-09 11:05:37
C/C++
#include <iostream>
using namespace std;

int main() {
    int ilosc = 0;
    int suma = 0;
    int ocena;
   
    while( true ) {
        cout << "podaj ocene" << endl;
        cin >> ocena;
        suma += ocena;
        ilosc++;
        if( ilosc ) cout << "srednia= " << double( suma ) / ilosc << endl;
       
    }
}
P-158750
Tropicca
Temat założony przez niniejszego użytkownika
» 2017-03-09 12:12:53
srednia zawsze moze byc po przecinku , prawda ;) ?
P-158756
Anim
» 2017-03-09 12:35:34
Myślę, że @mateczek zaproponował Tobie po prostu lepsze rozwiązanie :) Przede wszystkim bez zmiennych globalnych, a po drugie takie, które nie wymaga wielkiej interakcji z użytkownikiem. Dzięki pętli while, którą zaproponował mateczek nie musisz z góry wiedzieć ile masz ocen ;p wprowadzasz tak długo, jak masz potrzebę (czyli do momentu, gdy wprowadzona ocena jest poprawna) :)

Jedyny mankament to taki, że poprzez deklarację oceny jako int nie można wprowadzać danych zmiennoprzecinkowych, ale można to zmienić deklarując od razu typ float/double, i faktycznie można pominąć rzutowanie na końcu (według mnie kwestia konwencji programowania - aczkolwiek nie jestem pewien co jest bardziej poprawne).

Poza tym to rozwiązanie, które zaproponował @mateczek nie działa do końca poprawnie ^^, ale szybko można je poprawić, np.:
C/C++
#include <iostream>
using namespace std;

int main() {
    int ilosc = 0;
    double suma = 0;
    double ocena = 1;
   
    while( true )
    {
        cout << "podaj ocene (z przedzialu 1-6)" << endl;
        cin >> ocena;
        if( ocena >= 1 && ocena <= 6 )
        {
            suma += ocena;
            ilosc++;
        }
        else
        {
            break;
        }
    }
   
    if( ilosc ) cout << "srednia= " << suma / ilosc << endl;
   
}

Aczkolwiek, w związku z tym, że dopiero zaczynasz, to uważam, że Twój kod jest w porządku :) Sam w ramach doświadczenia zaczniesz stosować w pewnym momencie lepsze rozwiązania :)
P-158757
1 2 « 3 »
Poprzednia strona Strona 3 z 3