Ich blende aus und kann mir nicht vorstellen, wie der Name der Person mit der höchsten Note im Array angezeigt werden soll. Dies ist der Code, den ich habe, es funktioniert alles außer dem Anzeigen des Namens der höchsten Note, es stürzt ab, wenn es zu diesem Teil kommt.Anzeige des Namens für die höchste Nummer im Array
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
const int STUDENTS = 5;
string studentGrade[STUDENTS] = { "Amanda Baynes", "Victor Hughes", "Scott Collins", "Lori Macbeth ", "Manny Lopez " };
int grades[STUDENTS], count, highest;
highest = grades[0];
for (count = 0; count < STUDENTS; count++)
{
cout << "Enter score for student " << (studentGrade[count]) << ": ";
cin >> grades[count];
}
cout << endl;
for (count = 0; count < STUDENTS; count++)
{
for (count = 0; count < STUDENTS; count++)
cout << studentGrade[count] << setw(10) << right << grades[count] << endl;
}
for (count = 0; count < STUDENTS; count++)
{
if (grades[count] > highest)
highest = grades[count];
studentGrade[count] = highest;
}
cout << "The highest score " << highest << " is obtained by " << studentGrade[count] << endl;
return 0;
}
'studentGrade [count] = höchste;' Dies sollte nicht kompilieren. Für was, glaubst du, brauchst du das überhaupt? Was Sie brauchen, ist eine zusätzliche Variable, die sich an den Wert von "count" erinnert, bei dem die höchste Note erreicht wurde. –
Eigentlich kompiliert es. Es gibt ein 'operator = (char)' overload, was das letztendlich zum Aufruf bringt. –
Sie sollten nur eine separate Variable behalten, um den Namen des Schülers mit der höchsten Note zu verfolgen. Dieser Code hat einen Segmentierungsfehler, weil er beim letzten Cout vom Ende seines studentGrade-Arrays abläuft. – ifma