计算机程序编程课程设计实验报告学生成绩.

上传人:我** 文档编号:115355921 上传时间:2019-11-13 格式:DOC 页数:36 大小:591.50KB
返回 下载 相关 举报
计算机程序编程课程设计实验报告学生成绩._第1页
第1页 / 共36页
计算机程序编程课程设计实验报告学生成绩._第2页
第2页 / 共36页
计算机程序编程课程设计实验报告学生成绩._第3页
第3页 / 共36页
计算机程序编程课程设计实验报告学生成绩._第4页
第4页 / 共36页
计算机程序编程课程设计实验报告学生成绩._第5页
第5页 / 共36页
点击查看更多>>
资源描述

《计算机程序编程课程设计实验报告学生成绩.》由会员分享,可在线阅读,更多相关《计算机程序编程课程设计实验报告学生成绩.(36页珍藏版)》请在金锄头文库上搜索。

1、计算机程序编程课程设计实验报告2实验名称学生成绩管理系统学 院通信工程学院专业班级通信工程系11级25班姓 名梁仙友学 号52112507任课教师孙大洋实验时间2013/8/14 实验目的:使用标准C或C+实现学生成绩管理系统的录入、查询、删除、统计等基本操作。进一步巩固C语言的学习,以提高学生对开发环境的进一步认识和综合编程能力。系统功能模块结构图:数据结构设计及用法说明:数据结构定义如下 typedef struct St1 char IDNumber16;/*学号*/ char FamilyName16; /*姓*/char GivenName16; /*名*/ int sex; /*性

2、别(0代表“女”,1代表“男”)*/ int BirthYear; /*出生年*/int BirthMonth; /*出生月*/int BirthDay; /*出生日*/ float score4; /*成绩*/ float sum; /*总分*/ float average; /*平均分*/ struct St1 *next; StudentNode;需要处理的基础数据学生基本信息:学号(例如2003级12班6号写作20031206)、姓、名、性别、出生年月日、课程名称(外语SCORE0、高数SCORE1、C语言SCORE2、马哲SCORE3)、考试成绩等。统计每个学生各门功课的平均成绩,并

3、按平均成绩从高到低的次序排名输出每个学生各门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩)。列出90分以上(包括90)、80分以上(包括80)、70分以上(包括70)、60分以上(包括60)、不及格学生清单(学号、姓名、不及格的课程和成绩)。统计并输出各门功课的平均成绩和总平均成绩。按班级统计并输出总成绩。(需要对学号进行解析)以下代码可以获取系统当前时间,用于判断年龄是否合理。#include time.h void main()struct tm* ptm;long ts;int y,m,d,h,n,s;ts = time(NULL); ptm = localt

4、ime(&ts); y = ptm- tm_year+1900; /年 m = ptm- tm_mon+1; /月d = ptm- tm_mday; /日h = ptm- tm_hour; /时n = ptm- tm_min; /分s = ptm- tm_sec; /秒程序结构(画流程图):主函数:StudentNode *head; head=first();Scanf(%d,&n)Menuseclect=1开始Menuseclect=2Menuselect=3Menuselect=4Menuselect=5Menuselect=6Menuselect=7Menuselect=8Menuse

5、lect=9Menuselect=10head=Create()head=Delete(head)Print(head)Search(head)Save(head)head=Load()分析数据SearchClass(head):head=Insert(head,New)exit(0)结束StudentNode *create ()StudentNode *Delete(StudentNode *head)void Print(StudentNode *head)StudentNode *Load()StudentNode *compute(StudentNode *head)Search(h

6、ead) StudentNode *Insert(StudentNode *head,StudentNode *New) 各模块的功能1、StudentNode *Create() :根据提示学生录入学生基本信息:学号(例如2003级12班6号写作20031206)、姓、名、性别、出生年月日、课程(外语SCORE0、高数SCORE1、C语言SCORE2、马哲SCORE3)成绩。2、StudentNode *Delete (StudentNode *head):根据所给学号删除对应学号学生对基本信息。3、void Print(StudentNode *head):先根据学生干的平均成绩对学生进行

7、排序,再根据平均成绩从高到低依次输出各个学生的基本信息,在统计列出90分以上(包括90)、80分以上(包括80)、70分以上(包括70)、60分以上(包括60)、不及格学生清单(学号、姓名、不及格的课程和成绩)。4、StudentNode *search(StudentNode *head):找出对应姓名的学生的基本信息并输出。5、StudentNode *Save(StudentNode *head):将链表中的记录依次保存到所指定的文件中。6、StudentNode *Load():从指定文件中读取学生的相关信息并依次输出。7、StudentNode *compute(StudentNod

8、e *head):计算所有学生的总分和平均分并输出。8、StudentNode * CompositorByAverage (StudentNode *head):输出对应班级的学生的学号 姓 名 总分 平均分。9、StudentNode *Insert(StudentNode *head,StudentNode *New):将输入的学生的基本信息插入到对应链表中并按平均成绩排序后输出链表中学生的基本信息。试验结果(包括输入数据和输出结果)菜单界面显示界面文件查找:体会通过一个星期的C语言编程设计实验我学会了很多东西,初步了解了学生成绩管理系统的编程过程,对编程有了更深一次的掌握,学会了如何分

9、块把问题解决。使用标准C或C+实现学生成绩管理系统的录入、查询、删除、统计等基本操作。本次实验设计的成绩管理系统功能还有限,都是些基本功能,还有很多的功能有待完善,比如学生成绩是否符合正太分布,虽然完成的功能有限,但是感觉收获还是很大,写代码的时候需要集中精力,很多小细节可能导致大错误,比如大括号的丢失,程序调试也很费时间,最好是分布检查每个部分,确保准确的运行,再逐步释放代码,很容易发现问题所在。附录:程序清单及源程序软盘#include#include#include#include /*字符串函数*/ #include #define LEN sizeof(StudentNode)typ

10、edef struct St1 char IDNumber16; /*学号*/ char FamilyName16; /*姓*/ char GivenName16; /*名*/ int sex; /*性别(0代表女,1代表男)*/ int BirthYear; /*出生年*/ int BirthMonth; /*出生月*/ int BirthDay; /*出生日*/ int score4; /*成绩*/ int sum; /*总分*/ int average; /*平均分*/ int rank; /*排名*/ struct St1 *next; StudentNode;StudentNode

11、*New;StudentNode *first()return NULL;int Menu() /菜单选择函数int m;printf(n按回车键进入主菜单.press any button to enter menun);getchar(); printf(nn);printf(n);printf(tt欢迎使用学生管理系统n);printf(ntt Welcome to student database systemn);printf( MENUn); printf(ttt1 输入学生成绩记录 Enter listn);printf(ttt2 删除记录 Delete a record from listn); printf(ttt3 显示链表中所有记录 Print listn);printf(ttt4 按照姓名查找记录 Search record on namen);printf(ttt5 记录保存到文件 Save the filen);printf(ttt6 从文件中读入记录 Load th

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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