结构体设计(计算、查找)

CSDN问答 2022-06-24 09:35:26 阅读数:185

设计计算结构查找

要求:
输入学生各科成绩,分别设计函数来计算学生各科的平均成绩、各科全部学生的平均成绩、查找学生成绩,然后对成绩进行输出。
希望有小伙伴可以帮忙看一下代码有没有什么错误,以及求问“各科全部学生的平均成绩”这一块的函数怎么写啊?
#include<stdio.h>
#include<string.h>
struct students_list{
char name[20];
int Math[50];
Int English[50];
Int Science[50];
};
void student_average(struct students_list students[ ],intneme);
void subject_average(struct students_list students[ ],int
subject);
void search_student(struct students_list students[ ],char*name);
int Count=0;

int main(void)
{
int choice,i;
char name[20];
char subject[10];
struct students_list students[50];
for(i=1;;i++){
printf("请依次输入学生姓名、数学成绩、英语成绩、科学成绩:");
scanf("%s %d3(不知道为什么不能连着输入三个d)",&students[i].name,&students[i].Math, &students[i].English, &students[i].Science);
Count++;
}
do{
printf("学生成绩功能选项:1:计算学生平均分 2:计算课程平均分 3:查询学生成绩 0:退出并输出成绩\n");
printf("请选择功能:"); scanf("%d", &choice);
switch(choice){
case 1:
printf("请输入要查找的学生姓名:");
scanf("%s", name);
student_average(students,name);
break;
case 2:
printf("请输入要查找的课程:");
scanf("%s", subject);
subject_average(students,subject);
break;
case 3:
printf("请输入要查找的学生姓名:");
scanf("%s", name);
search_student(students, name);
break;
case 0: break;
}
}while(choice != 0);
for(i=1;i<Count;i++){
printf("%s: %d
3(不知道为什么不能连着输入三个d)",students[i].name,students[i].Math, students[i].English, students[i].Science);
}
return 0;
}
/学生平均分/
void student_average(struct students_list students[ ],intneme)
{
int i,flag = 0;
double average;
if(Count == 0){
printf("成绩单是空的!\n");
return;
}
for(i = 0; i <=Count; i++)
if(strcmp(name, friends[i].name) == 0){ /
找到学生*/
flag=1; break;
}
if(flag){
average=(students[i].Math+students[i].English+students[i].Science)/3.0
printf(“student_average:%lf\n”,average);
}
else
printf("无此学生!");
}
/查询学生成绩/
void search_student(struct students_list students[ ],char*name)
{ int i, flag = 0;
if(Count == 0){
printf("成绩单是空的!\n");
return;
}
for(i = 0; i < =Count; i++)
if(strcmp(name, friends[i].name) == 0){
flag=1; break;
}
if(flag){
printf("Math: %d\n", students[i].Math);
printf("English: %d\n", students[i].English);
printf("Science: %d\n", students[i].Science);
}
else
printf("无此学生!");
}

版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7744360