dokładanie lub usuwanie ilości ocen
Ostatnio zmodyfikowano 2017-03-09 12:35
Tropicca Temat założony przez niniejszego użytkownika |
» 2017-03-08 20:57:36 masz moze jakies gg czy cos w tym stylu ? w celu prostszej komunikacji |
|
Bielan |
» 2017-03-08 21:00:54 Forum jest odpowiednie do takich rzeczy. Między każdym postem masz czas dokładnie przemyśleć odpowiedź, którą otrzymałeś oraz trochę popróbować realizacji w kodzie, który również możesz publikować. |
|
Tropicca Temat założony przez niniejszego użytkownika |
» 2017-03-08 21:02:45 eh, skoro tak uważasz , w porządku , tylko moje pytanie brzmi , w momencie kiedy mam srednia =suma/5; jak mam zrobić żeby za każdym razem kiedy użytkownik wprowadza 0 liczba całości ocen też się zmieniała ? |
|
Bielan |
» 2017-03-08 21:07:59 Zamiast użyć 5 to użyć wartości wczytanej od użytkownika? |
|
Tropicca Temat założony przez niniejszego użytkownika |
» 2017-03-08 21:11:56 eh. kompletnie nie rozumiem o czym do mnie mówisz , proszę jaśniej próbowałem się bawić w dodanie nowej funkcji if if( suma >= 0 ) cout << "Podaj ilosc ocen ktora wlasnie wprowadziles: "; ale nie wiem jak zrobić żeby później ilość ocen przekształcała się w zmienną i mnożyła ją |
|
Bielan |
» 2017-03-08 21:19:35 Proponuję ci dwa podejścia. 1. Zapytaj użytkownika ile ocen chce wprowadzić, i zapisz jako zmienną X 2. Wykonaj pobranie kolejnych ocen X razy za pomocą pętli for . 3. Uzyskaną sumę z ocen podziel przez liczbę X lub 1. W nieskończonej pętli while pytaj o ocenę, a) jeżeli ocena jest z zakresu 1-6 dodaj ją do sumy ocen b) jeżeli ocena jest z poza zakresu przerwij wczytywanie danych od użytkownika 2. Podziel sumę ocen przez ilość wczytanych ocen |
|
latajacaryba |
» 2017-03-09 00:39:10 Bielan wykluczył z jakiegoś powodu tą możliwość, ale ja użyłbym vectora. Jest coś o nich tu napisane, poszukaj w dokumentacji. Dzięki vectorom nie musisz wiedziec ile ocen chce podac uzytkownik. On tez nie musi. Vector w uproszczeniu tez jest tablicą. Std::vector < int > ocenki; Int x; Do { Cin >> x; Ocenki.push_back( x ); } While( x >= 1 && x <= 6 )
I sumujesz elementy vectora i dzielisz przez ocenki.size czyli ilosc ocen. Ostrzegam ze dawno z vectorow nie korzystalem wiec mojego kodu nie przepisuj. Sprawdz dokumentacje i wtedy zrob cos na jego podobienstwo. |
|
maly7 |
» 2017-03-09 00:55:01 Jeszcze dodałbym warunek, żeby dodawało do vectora tylko poprawne oceny, tzn.: if( x >= 1 && x <= 6 ) ocenki.push_back( x ); Inaczej musisz sumowac oceny bez ostatniej i ilość to ocenki.size()-1. Ewentualnie jak ktoś wcześniej wspomniał, nie zapisywać ocen tylko sumę i ilość: int x, suma = 0, ilosc = 0; do { cin >> x; if( x >= 1 && x <= 6 ) { suma += x; ilosc++; } } while( x >= 1 && x <= 6 );
float srednia = suma / ilosc; |
|
1 « 2 » 3 |