Я хочу найти самый высокий и самый низкий из каждого человека окончательные результаты в процентах, сумме, проекте, MID, Финале и оценке с помощью метода поиска.
Я не понимаю, что вы имеете в виду, потому что многие из этих данных уникальны для каждого человека, так как говорить о мин / макс на них? Вы говорите о мин / макс среди всех людей?
В любом случае, некоторые замечания по поводу вашего скачкообразного кода помогут вам
Предупреждение о двух строках
printf("Highest Value \t\t\t%15d %25d %11d %10d %10d\n",person[i].MaxPer,person[i].sum,person[i].project,person[i].MID,person[i].Final);
printf("Lowest Value \t\t\t%15d %25d %11d %10d %10d\n",person[i].MinPer,person[i].sum,person[i].project,person[i].MID,person[i].Final);
вне for ( i = 0; i < input; i++) {
, поэтому i значения ввод , и вы получаете доступ к неинициализированным значениям и может быть вне person
В
scanf ("% d", & input);
вы не проверяете scanf возвращает 1, чтобы узнать, является ли ввод действительным числом, вам также необходимо проверить, является ли input меньше 10, иначе вы получите доступ из массив, в любом случае, чтобы также проверить положительное значение, чтобы указать на ошибку, в противном случае кажется хорошей идеей.
Также проверьте другой scanf , чтобы узнать, был ли введен правильный ввод, никогда не думайте, что пользователь вводит допустимый ввод
Поля MaxPer и MinPer не существуют, но также и в
person[i].MaxPer = person[i].percentage;
printf("\n");
//input quiz
for ( k = 0; k < 4; k++) {
printf("Input Quiz%d : ",k );
scanf("%d",&person[k].quiz[i] );
count2+=person[k].quiz[i];
person[i].average = count2/4;
}
person[i].sum = person[i].average*0.10;
person[i].MinPer = person[i].percentage;
person[i].percentage;
не изменяется, поэтому MaxPer и MinPer будут иметь одинаковое значение
почему вы устанавливаете person[i].average
в цикле, а не после?
почему *0.10
То же самое в
for ( j = 0; j < 3; j++) {
printf("Input Assignment%d : ",j );
scanf("%d",&person[i].assignment[j] );
count+=person[i].assignment[j];
person[i].average = count/3;
}
person[i].percentage = person[i].average*0.20;
почему вы устанавливаете person[i].average
в цикле, а не после?
почему person[i].average*0.20;
как если бы вы управляли 5 значениями?