2016-11-15 13 views
1

Ich habe vor kurzem versucht, ein Programm zu machen, das die höchsten Testergebnisse, den niedrigsten Test und den Durchschnitt aller Testergebnisse berechnet.Höchste und niedrigste durchschnittliche C++

Bis jetzt war mein Programm in der Lage, all das zu tun; Ich habe dann versucht zu sehen, ob ich den höchsten aller DURCHSCHNITTE und den niedrigsten aller DURCHSCHNITTE berechnen kann, und ich kann es nicht herausfinden.

Ich habe viele Dinge ausprobiert und nichts hat bisher funktioniert. Im Moment bekomme ich nur alle Testergebnisse, ihre Durchschnittswerte, die höchsten Testergebnisse und den niedrigsten, aber nicht den höchsten und niedrigsten Durchschnittswert. Was kann ich tun, um das herauszufinden?

Alle Tipps, Ratschläge werden sehr geschätzt. Ich lege unten an, was ich bisher gemacht habe.

#include <iostream> 
#include <iomanip> 

using namespace std; 
const int amount = 3; 
int count; 
int Total = 0; 
int TestScore1[amount], TestScore2 [amount], TestScore3 [amount]; 
double average[amount]; 

int main() 
{ 
    for(int count = 0; count < amount; count++) 

    { 
     cout<<"Enter Test Score " << (count + 1) << ": " <<endl; 
     cin>> TestScore1[count]; 
     cin>>TestScore2[count]; 
     cin>>TestScore3[count]; 
    } 

    cout<<"Your test result are: \n Test 1: Test 2: Test 3: Average: "<<endl; 
    for(int count = 0; count < amount; count++) 

    { 
     Total = 0; 
     double average = 0; 

     Total += TestScore1[count]; 
     Total += TestScore2[count]; 
     Total += TestScore3[count]; 
     average = Total/amount; 
     cout << " " << TestScore1[count] 
     << " \t" << TestScore2[count] 
     <<" \t "<< TestScore3[count] <<"\t" << average <<endl; 


    } 

    double highest = TestScore1[0]; 
    for(int count = 1; count < amount; count++) 
    { 
     if(TestScore1[count] > highest) 
     highest = TestScore1[count]; 
    } 

    cout<<"Test 1 Highest: " <<highest <<endl; 


    double highest2 = TestScore2[0]; 
    for(int count = 1; count < amount; count++) 
    { 

     if(TestScore2[count] > highest) 
     highest2 = TestScore2[count]; 

    } 
    cout<<"Test 2 Highest: " <<highest2 <<endl; 

    double highest3 = TestScore3[0]; 
    for(int count = 1; count < amount; count++) 
    { 

    if(TestScore3[count] > highest) 
     highest3 = TestScore3[count]; 

    } 
    cout<<"Test 3 Highest: " <<highest3 <<endl; 

    double Lowest = TestScore1[0]; 
    for(int count = 1; count < amount; count++) 
    { 
     if(TestScore1[count] < Lowest) 
     Lowest = TestScore1[count]; 
    } 

    cout<<"Test 1 Lowest: " <<Lowest <<endl; 


    double Lowest2 = TestScore2[0]; 
    for(int count = 1; count < amount; count++) 
    { 

     if(TestScore2[count] < Lowest2) 
     Lowest2 = TestScore2[count]; 

    } 
    cout<<"Test 2 Lowest: " <<Lowest2 <<endl; 

    double Lowest3 = TestScore3[0]; 
    for(int count = 1; count < amount; count++) 
    { 

     if(TestScore3[count] < Lowest3) 
     Lowest3 = TestScore3[count]; 

    } 
    cout<<"Test 3 Lowest: " <<Lowest3 <<endl; 



} 
+5

'doppelter Durchschnitt = 0;' in Ihrer Schleife "verbirgt" das angegebene Array der obigen Mittelwerte. Also speichern Sie niemals die Durchschnittswerte außerhalb dieser Schleife. – Chad

+2

Nichts scheint auf "Durchschnitt [count]" zu schreiben, obwohl Sie einen skalaren Doppeldurchschnitt haben, der den Array-Namen innerhalb einer Schleife versteckt. Wo haben Sie _expect_ erwartet, dass das Array der Durchschnittswerte ausgefüllt wurde, wenn Sie dafür keinen Code geschrieben haben? – Useless

+0

@ chad du bist richtig. Das hat funktioniert. Vielen Dank. – ReMaKe

Antwort

2

Innerhalb der Schleife zweite deklarieren Sie eine Variable Durchschnitt genannt Sie

double average = 0; 

Dann, um es den Mittelwert zuweisen. Diese Variable verbirgt das Array, das Sie außerhalb deklariert haben, auch als Durchschnitt bezeichnet. Sie müssen diese Variablendeklaration aus dem Programm zu entfernen und direkt

average[count] = Total/amount; 

Auf diese Weise werden die Mittelwerte tatsächlich gespeichert sind, um das Array zu schreiben und können später abgerufen werden.

Verwandte Themen