学生成绩管理系统实验报告muban

上传人:第*** 文档编号:61929859 上传时间:2018-12-15 格式:DOC 页数:17 大小:231.50KB
返回 下载 相关 举报
学生成绩管理系统实验报告muban_第1页
第1页 / 共17页
学生成绩管理系统实验报告muban_第2页
第2页 / 共17页
学生成绩管理系统实验报告muban_第3页
第3页 / 共17页
学生成绩管理系统实验报告muban_第4页
第4页 / 共17页
学生成绩管理系统实验报告muban_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《学生成绩管理系统实验报告muban》由会员分享,可在线阅读,更多相关《学生成绩管理系统实验报告muban(17页珍藏版)》请在金锄头文库上搜索。

1、学生成绩管理系统 课程设计实验报告专 业:通信工程班 级:2012级23班设计时间:2014年4月20日学 号:20122302学生姓名:李震任课教师:黄玉兰一、 系统功能模块结构图系统功能1、学生基本情况录入。2、允许对已经录入的数据进行显示。3、允许进行数据的插入。4、删除基本数据的相关信息。5、基于姓名的查询。如:姓张的所有同学。6、基于各种基本数据的统计计算。如:统计每个学生各门功课的平均成绩,并按平均成绩从高到低的次序排名输出每个学生各门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩)。列出90分及以上、80分及以上、70分及以上、60分及以上、不及格学生清

2、单(学号、姓名、不及格的课程和成绩)。统计并输出各门功课的平均成绩和总平均成绩。二、 数据结构设计及用法说明学生基本信息包括: 学号、姓、名、性别、出生年月日 、考试成绩(外语SCORE0、高数SCORE1、C语言SCORE2、马哲SCORE3、平均成绩和总成绩 所以采用的数据结构如下:struct student char IDNumber16;/*学号*/ char FamilyName16; /*姓*/char GivenName16; /*名*/ int sex; /*性别(0代表女,1代表男)*/ int BirthYear; /*出生年*/int BirthMonth; /*出生月

3、*/int BirthDay; /*出生日*/float score3;/绩*/ float sum; /*总分*/ float average; /*平均分*/ 其中char IDNumber16 用来存储学生的学号,char FamilyName16存储学生姓名中的姓,char GivenName16记录学生姓名中的名,int sex记录学生的性别, int BirthYear记录学生出生年年月日的年,int BirthMonth记录学生出生年年月日的月,int BirthDay记录学生出生年年月日的日,float score4存储学生信息中的4科成绩,float sum 用来记录学生信息

4、中的四科学习成绩的总分,float average 用来存放每位学生的平均成绩。三、程序结构成绩管理系统 1.成绩录入 2.成绩查询 3.插入记录 4删除记录 5显示全部记录 6成绩统计 7退出系统 四、各模块功能:根据学生成绩管理系统中各模块的功能不同,将本实验中学生成绩管理系统划分为以下几个功能模块:1主模块:显示系统菜单,用switch语句来选择对象来执行不同的功能模块。2 成绩录入:功能:连续添加学生的信息,包括学生学号学生姓名、性别、生日、学号和课程成绩的相关信息;3成绩查询: 功能:内分按姓名查询和按学号查询,可显示当前指定学生所有信息。4插入记录:功能:插入新记录,并将成绩做排序

5、处理,但不作输出。5删除记录:功能:删除指定学生全部记录。6显示全部记录:功能:按成绩排序输出所有学生记录。 7 成绩统计:功能:统计每个学生各门功课的平均成绩,并按平均成绩从高到低的次序排名输出每个学生各门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩)。列出90分以上(包括90)、80分以上(包括80)、70分以上(包括70)、60分以上(包括60)、不及格学生清单(学号、姓名、不及格的课程和成绩)。统计并输出各门功课的平均成绩和总平均成绩。8退出系统五、实验结果主菜单:按1录入信息:按2查询成绩:按3插入记录按4删除记录按5显示全部记录:按6成绩统计:按7退出6

6、、 心得与体会 之前从未编写过这么大的程序,刚看到题目的时候感觉大框挺清晰,依仗之前的C语言底子,决定代码完全由自己来完成,于是踏上一条坎坷路。在细化编写的过程中,困难层出不穷,比如功能怎样来实现,还有编译时的错误,执行中的乱码。有了问题就要查错,而查错的过程相当闹心,需要足够的耐心、仔细、打不败的韧劲,由此感觉到程序员的心理承受力需要多么强大!然而,当经历千辛万苦问题终于被改正,程序终于按功能运行的时候,那种顺畅,无以言表! 经历了这次练习,我明显对编程又增加了兴趣,并且对大型程序也不再怵,在思路和技巧上都有增强,以后还要继续提高编程能力,用好编程。附录:程序清单(原创)#include#i

7、nclude#include struct student char IDNumber16;/*学号*/ char FamilyName16; /*姓*/ char GivenName16; /*名*/ int sex; /*性别(0代表女,1代表男)*/ int BirthYear; /*出生年*/ int BirthMonth; /*出生月*/ int BirthDay; /*出生日*/ float score4; /*成绩*/ float sum; /*总分*/ float average; /*平均分*/ struct student *next; ; struct student *

8、head; struct student *p,*q,*v;/*/ void Getinformation() /*信息连续输入 OK*/ printf(请输入学号);scanf(%s,p-IDNumber); printf(请输入姓); scanf(%s,p-FamilyName); printf(请输入名); scanf(%s,p-GivenName); printf(请输入性别(0代表女,1代表男));scanf(%d,&p-sex); printf(请输入出生年);scanf(%d,&p-BirthYear); printf(请输入出生月);scanf(%d,&p-BirthMonth

9、); printf(请输入出生日);scanf(%d,&p-BirthDay); printf(请输入外语成绩);scanf(%f,&p-score0); printf(请输入高数成绩);scanf(%f,&p-score1); printf(请输入C语言成绩);scanf(%f,&p-score2); printf(请输入马哲成绩);scanf(%f,&p-score3); p-next=(struct student*)malloc(sizeof(struct student); p=p-next; p-next=NULL; void deal(); deal(); /*/ void de

10、al() /* 成绩处理 (排序) OK*/ int i,j,m,count=0; float f; char k16;q=head; while(q-next)!=NULL)q-sum=(q-score0+q-score1+q-score2+q-score3);(q-average)=(q-sum)/4;q=q-next; for(q=head;q-next!=NULL;q=q-next) count+; for(i=1;icount;i+)for(q=head,j=0;jnext,j+) if (q-sum)next-sum) strcpy(k,q-IDNumber);strcpy(q-I

11、DNumber,q-next-IDNumber);strcpy(q-next-IDNumber,k); strcpy(k,q-FamilyName);strcpy(q-FamilyName,q-next-FamilyName);strcpy(q-next-FamilyName,k); strcpy(k,q-GivenName);strcpy(q-GivenName,q-next-GivenName);strcpy(q-next-GivenName,k); m=q-sex;q-sex=q-next-sex;q-next-sex=m; m=q-BirthYear;q-BirthYear=q-nex

12、t-BirthYear;q-next-BirthYear=m; m=q-BirthMonth;q-BirthMonth=q-next-BirthMonth;q-next-BirthMonth=m; m=q-BirthDay;q-BirthDay=q-next-BirthDay;q-next-BirthDay=m; f=q-score0;q-score0=q-next-score0;q-next-score0=f; f=q-score1;q-score1=q-next-score1;q-next-score1=f; f=q-score2;q-score2=q-next-score2;q-next-s

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号