网站大量收购独家精品文档,联系QQ:2885784924

C语言成绩管理系统.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言成绩管理系统.doc

目 录 1前言 2 2需求分析 3 2.1要求 3 2.2任务 3 2.3运行环境 3 2.4开发工具 4 3概要设计 5 3. 1系统流程图如3.1. 5 3.2 查找流程图如3.2. 5 4详细设计 5 4.1分析和设计 6 4. 2 具体代码实现. 8 4. 3程序运行结果. 13 5课程设计的总结与体会 15 参考文献 16 致 谢 17 1前言 随着科学技术的不断书展,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。使用计算机对学校学生成绩统计,具有对于手工统计所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩统计的效率。 为此,我们编写了学生成绩统计系统。本系统共实现四大功能,包括: 随机产生学生的学号、三门成绩、姓名; 输出学生的数据; 3、计算三门科目的平均成绩和每个学生的总成绩; 4、用平均数找出最高成绩和最低成绩输出他们的信息。 本程序应用了rand、函数,结构体,共用体,函数,数组,for循环,switch语句等相关内容。 由于自己能力有限,难免有不足的地方,恳请老师耐心指导,提出建议。 2需求分析 2.1要求 (1)用c语言实现程序设计;利用结构体进行相关信息处理;3)画出成绩统计的系统流程图; (4)系统的各个功能模块要求用函数的形式实现;界面友好(良好的人机互交),程序要有注释。(包括、C语言 3概要设计 3. 1系统流程图如3.1. 3.2 查找流程图如3.2. 4详细设计 4.1分析和设计 在程序的开头部分用宏定义,因为学生人数为10名,所以N的宏定义为10。 #define N 10 再定义结构体类型和全局的结构体数组,用来存放学生的信息。 struct student { int number; char name[N]; int score[3]; /*三门成绩*/ }; struct student studata[N]; 用随机函数Random()来随机产生学生信息放在name[]字符数组和score[]数组中。 void GetName(char name[]) { int len, i=0; len=Random(3,10); /*用随机函数产生学生姓名字母的长度3-10*/ name[i]=Random(65,90); /*随机产生学生姓名的首个大写字母*/ for (i=1; ilen; i++) name[i]=Random(97,122); /*随机产生学生姓名的小写字母*/ name[i]=\0; } GetName(studata[i].name); studata[i].score[0]=Random(60,100); studata[i].score[1]=Random(60,100); studata[i].score[2]=Random(60,100); } } /*随机产生每个学生3门成绩的分数*/ 自定义函数PrintData(),里面包括printf()输出函数,用来输出10名学生随机产生的姓名和三门成绩。 void PrintData() { int i; for (i=0; iN; i++) { printf(Student %d:\n, studata[i].number); printf(Name: %s\n, studata[i].name); printf(Scores of three subjects: %d, %d, %d\n, studata[i].score[0], studata[i].score[1], studata[i].score[2]); } } 查找函数FindPeak(),用来查找总分最高的学生和总份最低的学生,并且输出他们的信息,包括姓名,学号,三门成绩,总分和平均分,具体分析如图3.2。 void FindPeak() { int maxbound=0, minbound=0; int max=0, min=300; /*将最高分赋值为0,因为每个同学的总分总会大于0,所以一定不会出现找不到的情况;将最低分赋值为300,因为总分最高不会超过300,所以不会出现找不到的情况*/ int sum=0, i; for (i=0; iN; i++) { sum=studata[i].score[0]+studata[i].score[1]+studata[i].score[2]; if (summax) { maxbound=i; max=su

文档评论(0)

资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档