C语言课程设计_学生成绩管理系统.pdf
《C语言课程设计_学生成绩管理系统.pdf》由会员分享,可在线阅读,更多相关《C语言课程设计_学生成绩管理系统.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言课程设计报告:学生成绩管理系统 系统需求 一、当前学生信息:通过结构体 struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过 cin 函数来进行给当前学生输入初始信息.二、学生成绩查询:输入一个学号,在文件中查找此学生,若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息.同时也可以全部把各科的平均成绩,最高和最低分输出。三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来。四、输出全部学生信息和全部学生成绩。五、退出系统.六、附加说明:系统将来完善的功能有:可以通
2、过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。总体设计 一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数 cin(stu*p1)来实现此操作。2、查询模块:可用 stu*lookdata(stu*p1)来实现。找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。3、插入模块:可用 insert()函数来实现。其中通过学号的大小来比较的,并且以此来排序。4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相
3、关成绩,同时也可以分别通过 caverage()、maverage()、eaverage()和 comaverage()来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。5、退出系统:可用一个函数 exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。二、系统主模块结构图:详细设计 一、界面设计 此系统界面采用图形和数字化菜单设计。主界面设计如下:学生成绩管理系统 请选择相应的数字执行相应的功能:1:是否输入其他数据 2:查看数据 3:插入数据 4:查找数据 5:更新数据 6:保留数据 7:显示或打印数据 8:语文成绩状况 9:数学成绩状况 10:英语
4、成绩状况 11:计算机成绩状况 12:?13:退出系统 二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student char nameMAX;int numMAX;char sexMAX;int chinese;int mathematic;int english;int computer;struct student*next;程序代码:/原始密码是 123456#includestdio.h#includestddef.h#includestddef.h#includestring.h#define MAX 10 typedef stru
5、ct student /*定义结构体*/char nameMAX;/*姓名*/int numMAX;/*学号*/char sexMAX;/*性别*/int chinese;/*语文*/int mathematic;/*数学*/int english;/*英语*/int computer;/*计算机*/struct student*next;/*结构体指针*/stu;stu*head;/*头指针*/void print()/*显示或打印函数*/system(cls);printf(tttScore Manage Systemn);/*成绩管理系统*/printf(Enter Recordt);/
6、*输入数据*/printf(Displayt);/*显示*/printf(Insertt);/*插入数据*/printf(Questt);/*访问数据*/printf(Updatet);/*以前数据*/printf(Savet);/*保留数据*/printf(Fresht);/*更新数据*/printf(Chinese Averaget);/*语文平均成绩*/printf(Math Averaget);/*数学平均成绩*/printf(English Averaget);/*英语平均成绩*/printf(Computer Averaget);/*计算机平均成绩*/printf(Quittn);
7、/*退出*/void cin(stu*p1)/*输入相关数据的函数*/printf(Enter name:n);scanf(%s,&p1-name);printf(Enter num:n);scanf(%d,&p1-num);printf(Enter sex:n);scanf(%s,&p1-sex);printf(Enter score:n);printf(Enter chinese:n);scanf(%d,&p1-chinese);printf(Enter math:n);scanf(%d,&p1-mathematic);printf(Enter English:n);scanf(%d,&p
8、1-english);printf(Enter Computer:n);scanf(%d,&p1-computer);stu*cindata()/*其他数据是否继续输入的函数*/stu*p1,*p2;int i=1;char ch;p1=(stu*)malloc(sizeof(stu);head=p1;while(i)cin(p1);printf(Do you Want to Continue?yes or no);/*是否继续输入数据*/ch=getchar();ch=getchar();if(ch=n|ch=N)i=0;p1-next=NULL;else p2=p1;p1=(stu*)ma
9、lloc(sizeof(stu);p2-next=p1;return(p1-next);stu*lookdata(stu*p1)/*查看数据的函数*/while(p1!=NULL)printf(Num:%dt,p1-num);printf(Name:%st,p1-name);printf(Sex:%st,p1-sex);printf(n);printf(Chinese:%dt,p1-chinese);printf(Math:%dt,p1-mathematic);printf(English:%dt,p1-english);printf(Computer:%dt,p1-computer);pri
10、ntf(n);p1=p1-next;return p1;void insert()/*通过比较学号来插入数据的函数*/stu*p1,*p3,*p2;char ch;p1=head;p3=(stu*)malloc(sizeof(stu);p3-next=NULL;if(head=NULL)head=p3;return;cin(p3);while(p1!=NULL&(p1-numnum)/*通过学号的比较来插入*/p2=p1;p1=p1-next;if(p2=head)p3-next=head;head=p3;return;p3-next=p1;p2-next=p3;find(stu*p2)/*通
11、过姓名查找查看数据的函数*/char name20;int b=0;printf(Enter the name of the student you want to find:);/*通过姓名查看*/scanf(%s,name);while(p2!=NULL)if(strcmp(name,p2-name)=0)printf(The data you want has be foundn);printf(Name:%st,p2-name);printf(Num:%dt,p2-num);printf(sex%st,p2-sex);printf(n);printf(Chinese:%dt,p2-ch
12、inese);printf(Math:%dt,p2-mathematic);printf(English:%dt,p2-english);printf(Computer:%dt,p2-computer);printf(n);b=1;else if(b=0)printf(sorry not find data!);p2=p2-next;if(b=1)print();printf(Find onen);else print();printf(Not findn);void caverage()/*求各学生语文平均分、最高和最低分成绩的函数*/stu*p1;int i;float max=0.0,m
13、in=200.0;float sum=0.0,aver=0;p1=head;if(p1=NULL)printf(not data!);else for(i=0;p1!=NULL;i+,p1=p1-next)sum+=p1-chinese;aver=sum/i;p1=head;for(i=0;p1!=NULL;i+,p1=p1-next)if(maxchinese)max=p1-chinese;p1=head;for(i=0;p1!=NULL;i+,p1=p1-next)if(minp1-chinese)min=p1-chinese;printf(Chinese Average:%f,aver)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 学生 成绩管理系统
限制150内