资源描述:
《学生成绩信息管理系统(c语言)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.题目《学生成绩管理系统》的设计与实现2.功能(1)每一条记录包括一个学生的学号、姓名、3门成绩、平均成绩。(2)输入功能:可以一次完成无数条记录的输入。(3)显示功能:完成全部学生记录的显示。(4)查找功能:完成按姓名查找学生记录,并显示。(5)排序功能:按学生平均成绩进行排序。(6)插入功能:按平均成绩高低插入一条学生记录。(7)保存功能:将学生记录保存在任何自定义的文件中,如保存在:c:score。(8)读取功能:将保存在文件中的学生记录读取出来。(9)有一个清晰美观界面来调用各个功能3.要求(1)整个系统均用C语言实现;(2)利用指
2、针、链表来实现学生成绩的数据结构设计;(3)系统具有输入、显示、查询、删除、排序、插入,保存、读取基本功能;(4)系统的各个功能模块都用函数的形式来实现;(5)可以将学生成绩信息保存在文件中。(6)可以将学生信息从文件中读取出来。4.源程序#include#include#include#defineLENsizeof(structscorenode)#defineDEBUG#includestructscorenode{intnumber;/*学号*/charnam
3、e[10];/*姓名*/floatyuwen;/*语文成绩*/floatyingyu;/*英语成绩*/floatshuxue;/*数学成绩*/structscorenode*next;};typedefstructscorenodescore;intn,k;/*n,k为全局变量,本程序中的函数均可以使用它*//*==============================================================================================*/score*creat2311(void)/
4、*函数creat2311,功能:创建链表,此函数带回一个指向链表头的指针*/{score*head;score*p1,*p2,*p3,*max;inti,j;floatfen;chart[10];n=0;p1=p2=p3=(score*)malloc(LEN);head=p3;/*开辟一个新单元*/printf("请输入学生资料,输0退出!");repeat1:printf("请输入学生学号(学号应大于0):");/*输入学号,学号应大于0*/scanf("%d",&p1->number);while(p1->number<0){getch
5、ar();printf("输入错误,请重新输入学生学号:");scanf("%d",&p1->number);}/*输入学号为字符或小于0时,程序报错,提示重新输入学号*/if(p1->number==0)gotoend;/*当输入的学号为0时,转到末尾,结束创建链表*/else{p3=head;if(n>0){for(i=0;inumber!=p3->number)p3=p3->next;else{printf("学号重复,请重输!");gotorepeat1;/*当输入的学号已经存在,程序报错,返回前面重新
6、输入*/}}}}printf("请输入学生姓名:");scanf("%s",&p1->name);/*输入学生姓名*/printf("请输入语文成绩(0~100):");/*输入语文成绩,成绩应在0-100*/scanf("%f",&p1->yuwen);while(p1->yuwen<0
7、
8、p1->yuwen>100){getchar();printf("输入错误,请重新输入语文成绩");/*输入错误,重新输入语文成绩直到正确为止*/scanf("%f",&p1->yuwen);}printf("请输入英语成绩(0~100):");/*输入英
9、语成绩,成绩应在0-100*/scanf("%f",&p1->yingyu);while(p1->yingyu<0
10、
11、p1->yingyu>100){getchar();printf("输入错误,请重新输入英语成绩");/*输入错误,重新输入英语成绩直到正确为止*/scanf("%f",&p1->yingyu);}printf("请输入数学成绩(0~100):");/*输入数学成绩,成绩应在0-100*/scanf("%f",&p1->shuxue);while(p1->shuxue<0
12、
13、p1->shuxue>100){getchar();p
14、rintf("输入错误,请重新输入数学成绩");scanf("%f",&p1->shuxue);}/*输入错误,重新输入数学成绩直到正确为止*/hea