Also hier ist die Frage, die ich arbeiteWhile Schleife für die Überprüfung der Noten ist ungültig funktioniert aus irgendeinem Grund nicht
Noten mit Eingabe-Validierung (C++). Ändern Sie Klassenprogramme mit Arrays und Funktionen. (das Programm sollte minimal Funktionen für Durchschnitt, Min, Max, # über dem Durchschnitt, etc. insgesamt 4 Funktionen haben) Fügen Sie Logik (zum Haupt), so dass, wenn der Benutzer eine ungültige Note (niedriger als Null, höher als 100) eingibt , wird dem Benutzer eine Fehlermeldung angezeigt und es wird ihm erlaubt, die Note erneut einzugeben. Dies wird so lange wiederholt, wie der Benutzer ungültige Noten eingibt. Sie benötigen eine While-Schleife.
Wenn ich eine Nummer kleiner als 0 eingeben, wird es nicht den Code in der while-Schleife aus irgendeinem Grund ausgeführt wird, auch meine Minimum-Funktion funktioniert nicht entweder
Hier ist der Code, den ich für die Hauptfunktion aufweisen und die minimale Funktion
#include <iostream>
using namespace std;
double average(double x[], int n);
double maximum(double x[], int n);
double minimum(double x[], int n);
int nAboveAvg(double x[], int n);
int main()
{
double grades[50];
int ngrades;
cout<<"How many grades? (max = 50) ";
cin>>ngrades;
//create for loop to get grades from user
for(int i = 0; i<ngrades; i++)
{
cout<<"Enter grade ";
cin>> grades[i];
while(grades[i]< 0 || grades[i] > 100)
{
cout<<"Invalid grade- please enter again"<<endl;
cin>>grades[i];
}
}
//call the functions
double avg = average(grades, ngrades);
double max = maximum(grades, ngrades);
double min = minimum(grades, ngrades);
int nAbove = nAboveAvg(grades, ngrades);
//display results
cout << "Average = " << avg << endl;
cout << "# above average = " << nAbove << endl;
cout<<"Max value is = "<<max<<endl;
cout<<"Min value is = "<<min<<endl;
}
//Minimum function
double minimum(double x[], int npts)
{
double min = x[0];
for(int i = 0; i < npts; i++)
{
if(x[i] < min)
{
min = x[i];
}
}
return min;
}
Ihr Code ist in Ordnung. Was ist dein Problem? – DimChtz
"weniger als 0" - wie sieht Ihre tatsächliche Eingabe aus? – Ian
Ihre minimale Funktion ist in Ordnung. Stellen Sie sicher, dass Sie den Wert weniger als 0 für 'grade [i]' nicht für 'ngrades eingeben: p .. wollte nur sicher .. –