输入10个学生的信息,每个学生含有成员名为“学号、姓名、英语、数学、政治、计算机、语文、历史、总分、平均分、名次”,分别编写六个函数求:
(1)输入一个学生的姓名,查询该学生的信息并输出,若不存在显示没找到。
(2)输入一个学生的信息,按学号顺序将该学生的信息插入后输出。
(3)输入一个已存在学生的学号信息,删除该学生的信息后输出。
(4)求每个学生的总分、平均分并输出;
(5)求英语、数学、政治、计算机、语文、历史等课程的平均分并输出结果;
(6)对名次按总分从高到低排名并找出总分第五名的学生,输出其信息。
要求:
10个学生的数据用文件存储,每个学生的结构体用数组和单链表,首先建立一个具有10个学生数据的单链表或数组,并编写输出程序,然后程序执行后先显示“菜单”,当输入为1时,执行第(1)个函数;当输入为2时,执行第(2)个函数;当输入为3时,执行第(3)个函数;当输入为4时,执行第(4)个函数;当输入为5时,执行第(5)个函数;当输入为6时,执行第(6)个函数;当输入为7时,退出系统,当输入其他数字时,提示输入有错误。
分别用单链表和结构体数组做题。
首先定义一个结构体存放学生的 信息(学号、姓名、英语、数学、政治、计算机、语文、历史、总分、平均分、名次),最后放入一个指针指向下一个学生。
struct student
{
...
struct student *next;
};
根据题目,一个要单链表,那么定义一个该结构体的指针
struct student *head;
再循环申请空间10次,每次的next都指向下一个的首地址
另外一个数组就直接struct student stu[10]就可以了
至于按键功能就用switch来做
首先getchar()得到按键是什么按键
然后
switch(getchar())
{
case '1':
break;
...
}
这样实现按键功能
其他就按照要求做吧