求救:课程设计 学生成绩管理系统

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:53:14
学生成绩管理系统
 数据输入:如果没有数据文件,从键盘输入学生数据(包括学生的学号、姓名、 性别、年龄及五门功课的成绩),并保存到磁盘文件“*.txt”。如果有数据文件,则可向该文件写数据。
 数据查询:根据姓名或学号,查找相应学生的信息并在屏幕上显示。
 修改数据:修改某名学生的某门课的成绩(注意修改的权限)。
 统计数据:按学号升序显示全部学生的信息;
 按平均分降序打印全部学生的信息,并保存到磁盘文件“.txt”;
 统计不及格课程学生的信息。
 对上题的学生数据原型为:
99101 李强 男 19 89 98 67 86 75
99102 王丽 女 20 67 87 58 89 94
等。
要求用VC++ 过程化设计,不要C语言

#define NULL 0
#define TYPE struct stu
#define LEN sizeof(struct stu)
struct stu /* 定义学生信息对应的结构体类型*/
{
int num;
char name[12];
struct stu*next;
};
TYPE*creat(int n) /*建立链表的函数*/
{
struct stu*head,*pf,*pb;
int i;
for(i=0;i<n;i++)
{
pb=(TYPE*)malloc(LEN);
printf("请输入第%d个学生的学号和姓名:",i+1);
scanf("%d%s",&pb->num,pb->name);
if(i==0)
pf=head=pb;
else
pf->next=pb;
pb->next=NULL;
pf=pb;
}
return(head);
}
TYPE*delete(TYPE*head,int num) /*删除指定结点的函数*/
{
TYPE*pf,*pb;
if(head==NULL)
{
printf("\n没有记录!\n");
goto end;
}
pb=head;
while(pb->num!=num&&pb->next!=NULL)
{
pf=pb;
pb=pb->next;
}
if(pb->num==num)
{
if(pb==head)
head=pb->next;
else
pf->next=pb->next;