C语言程序大作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连理工大学C程序设计(大作业)总结报告学生成绩录入处理系统
学生姓名:罗
专业班级:
学号:
联系电话:
Email :
完成日期:2015年5 月29日
一、设计任务
我的程序设计是一个学生成绩录入及处理的程序,该程序包括多种功能,能够满足大多数的学生成绩管理处理。主要能够实现的目的主要有:
第一.学生姓名学号既包括三门成绩等信息的录入,并保存到文件d://score.txt。
第二.对每个学生的成绩进行求平均分及按平均分排序的数字处理。
第三.对输入错误的学生信息加以修改重新排序保存。
第四.增加学生信息,重新排序,加以保存。
第五.按每个学生的平均分进行表格化和图形化处理。
第六.实现某位同学的信息查找,包括姓名,学号,每科成绩及平均分。
以上功能全都可以实现,但是注意录入信息的要求,下面会有注释。
二、程序设计与实现
1.结构框图
下图描述预期实现题目的设计方案或功能设计的组成结构。绘制成框图,如图所示是我设计的成绩信息管理程序设计的结构图示:
2.功能模块设计及其流程图
(1) 数据描述与存储
该学生信息统计系统设计一个全局结构体变量,将学生的姓名,学号,各科成绩及平均分保存在结构体,然后供设计各种程序调用,以完成修改,增加,排序和数据显示的功能。学生成绩数据以二进制存储在d://score.txt文件,可以利用程序随时进行增加和修改,同时它会自动排序。的描述题目所使用的核心数据,如;结构体类型定义及结构体成员含义说明。并说明所使用的数据存储方法,指定文件的路径和文件名,保存数据的格式和读数据的目的。
(2) 结构体定义及介绍
typedef struct rec /*定义一个结构体类型*/
{ char name[20]; /*第一个元素为学生姓名,20个字节*/
short number; /*第一个元素为学生学号,2个字节(输入注意不要超出)*/
short score[M]; /*(M为全局3)依次定义三门科目分数:数,英,机*/
float average; /*定义浮点型平均数,保留2位小数,有函数计算赋值*/ }score;
score stu[N]; /*(N为全局100)定义全局总数100个学生信息以录入*/
(3)对于该程序的一点说明
1.学号在0~32768之间,请录入前对学号做好数据处理。
2.该系统的成绩满分为一百分制,如有某科成绩不符合应提前处理。
3.录入退出后,同样的数据不需两次输入,可直接运行程序处理及查看。
4.保存退出后请勿删除文件,数据会丢失。
5.柱状图的分辨率在十位数。
(4) 主要函数功能基变量说明
(4) 主要函数及其流程图
此处描述所有自定义函数的函数名,函数功能,参数说明及算法描述。画出主要函数规范流程图。例如,将每个函数按如下方式的说明(strcom()流程图如图2所示)。
函数原型1
void correct() /*针对输错的学生信息进行重新输入*/
假如某位学生信息输入错误,用此功能函数就可以用正确信息将错误信息覆盖,从而获得正确信息。没有参数传递,在函数中利用循环全部信息中查找出该学生,直接利用全局变量,将该学生新信息重输以达目的。
函数原型2
void add() /*增加信息*/
如有想要输入新的学生或漏输,用此功能可以将某些学生的信息录入,当然,增加后总数不得超过100。没有参数的传递,直接在以前的数据后面增加,然后对所有学生排序,做到所有数据同等处理。
函数原型3
void loadscore() /*加载学生信息*/
这儿之所以提起这个函数,是因为我在刚开始理解利用过程中,有点赘余出错。
该函数是加载函数,如果你是输入后不关闭用时是可以不用这个函数的,因为在你
关闭之前所有的信息依然保存在全局结构体内。然而,当你关闭以后再利用时必须要用这个函数将你写在文件中的信息读入结构体,再从结构体打印到屏幕。
函数原型4 ……….
(5) 个性化设计
该函数不难,但方法思维较好,进行介绍和结构图示:
函数原型void histograma_all() /*以排序后的平均成绩按柱状图查看*/
利用*的连续输入模拟柱状图,求十位数,按每增加1输出两个**,连续输入则组成柱状图。最后在柱状图后面打印学生平均成绩。
三、设计效果
下图是录入12个学生后显示的排名结果:
下图是柱状图显示排名结果:
下图是查找界面:
四、结束语
该系统能改顺利完成学生成绩录入,学生成绩排名,学生增修后重新排名,在以表格和柱状图显示,和某同学的信息查询,能够以较好的界面和提示完成录入及数据处理,显示等。在录入,修改,增加,排名,保存,加载,浏览等一系列部分的小问题,但通过多次修改还是能找到错误所在,最终完善整个程序。
但该程序也存在卓多局限,例如分数制,输入负数无错误提醒,平均分相同排序相同等,但是,只要继续修改,相信我能突破这些局限。
12周课很快,程序这门课,应该以概念加实践平衡学习。最深的感触就是每次找到错误后的顿悟和你作业的成就感。