2022年C语言实训报告之学籍管理系统 .pdf
《2022年C语言实训报告之学籍管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言实训报告之学籍管理系统 .pdf(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京联合大学实训报告课程名称: C语言程序设计课项目名称:学籍管理系统学院:自动化学院专业 信息处理与智能技术姓名:杜旭亮陶晓申付娟学号:_ 指导教师:李论成绩:2011 年 6 月 19 日目录一、实训题目与要求. - 2 -1. 问题提出 . - 2 - 2. 功能要求 . . - 2 - 3. 任务分工 . . - 2 - 二、设计实训题目功能. - 4 -总体设计 . . - 4 - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 47 页 - - - - - -
2、 - - - 学籍管理系统实训报告03,13,23 学员- 1 - 算法设计 . . - 6 - 1 ,分析录入成绩模块算法. - 7 - 2. 分析成绩统计的算法. - 7 - 3. 学籍处理 . - 11 - 4. 创新功能 . - 15 - 结构体说明 . . - 19 - 程序代码设计 . . - 19 - 测试与调试 . . - 24 - 三个人总结 . - 26 -杜旭亮的个人小结 . . - 26 - 陶晓申的个人小结 . . - 26 - 付娟的个人总结 . . - 27 - 四结束语 . - 28 -附表 1. 程序源码 . - 28 -附录 2 用户使用说明书. - 45
3、-参考文献 . - 46 -名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 2 - 一、实训题目与要求1. 问题提出为了分析教学成果并进行相应的学籍处理,各学校每到期末都对综合成绩进行分类统计、上报成绩汇总结果等, 这给每位教师和学籍管理人员带来很大的工作量。使用学籍管理系统可以减少工作者的工作负担。2.功能要求循环显示如图( a)所示的主菜单。请输入选项编号( 04)请输入选项编
4、号( 04)请输入选项编号( 04)1- 录入成绩1-按学号排序1-生成并打印补考通知单2- 统计成绩2-按平均分排序2生成并打印退学名单3- 处理学籍3统计各分数段人数3生成并打印新名单4-创新功能4-返回4-返回0-退出系统0-退出系统0-退出系统(a)(b)(c)在主菜单中选择 1:录入成绩。假设某班的原始成绩单如下:学号姓名高数英语编程电路法律03 zhanghe 89 92 88 79 97 13 wangpei 72 86 94 83 77 23 lifeng 91 84 90 79 83 。 。 。 。 。 。其中,原始数据的排列时无序的。系统应能够保留原始成绩单。在主菜单选择2
5、:进入图( b)子菜单并统计成绩。在此可以计算平均成绩,统计各分数段人数, 按学号排序, 按平均分排序。在子菜单选择1 时,将该班学生的成绩单按学号生序排列后存放在“按学号排序.txt.”文件中。在子菜单选择2 时,将该班学生的成绩单按平均分降序排序后存放在“按平均分排序 .txt”文件中。在子菜单选择 3时,统计各分数段人数,并如表12.1 所示的形式输出。在子菜单选择4 时,返回主名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 47 页 - - - - - - - -
6、 - 学籍管理系统实训报告03,13,23 学员- 3 - 菜单,选择 0 时,退出系统。表 12.1:各门课、各分数段人数统计90 分以上8089分7079分6069分60 分以下高数英语编程电路法律在主菜单选择3:进入如图( c)所示的子菜单,并处理学籍。为不及格的同学打印补考通知单时,应在通知单上写明补考的科目,时间,地点(键盘输入)。为了参加多门科目补考的学生,应避免时间重复。为3 门以上不及格的学生打印退学通知单,通知单上应打明学生的学号,姓名,退学原因(几门课不及格,成绩是多少)。删除已退学的学生,将该班中升入高年级的学生信息写入文件“升学名单.txt”中。在子菜单选择 4,返回主
7、菜单,选择0,退出系统。在主菜单选择 4,此功能学生自由发挥,根据本组爱好增加与本题目相关的新功能。在主菜单选择 0,显示结束信息,退出系统。3.任务分工组长:杜旭亮。负责小组程序的输入和创新部分,分配任务, 使工作衔接有序。 将各部分文件衔接,查找错误,排版论文。组员:陶晓申负责小组程序的处理学籍的部分。主要负责绘制流程图, 检查流程的连续, 可操作性。组员:付娟负责小组程序的成绩统计的部分。完成自己部分的编程, 流程图,组织论文的创作,主要负责论文部分。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
8、 - - - - 第 4 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 4 - 二、设计实训题目功能.总体设计程序通过主模块调用其他函数来实现各种要求实现的功能。显示主菜单模块通过调用myprint 函数显示主菜单, 提示使用的用户改执行的操作,实现基本的人机对话。创建“学生基本信息 .txt”文件由调用 scoreInput函数通过键盘输入学生的信息。统计学生信息调用函数scoreStat ,并通过子菜单的选择实现功能。处理学籍功能调用函数studentStatus ,通过子菜单的选择实现处理学籍的功能。创新功能由调用函数mynew,自己
9、编写的新功能由这部分实现。void mainprint(); /*主输出部分 */ void scoreprint(); /*成绩录入 */ void scoreStat(); /*统计成绩 */ void studentStatus(); /*学籍处理 */ void bukao(); /*生成并打印补考通知单 */ void tuixue(); /*生成并打印退学通知单 */ void xinmingdan(); /*生成并打印新名单 */ void sortAnhao(); /*按学号排序 */ void jisuanPingjun(); /*计算平均分并排序 */ void tongj
10、iFenshu(); /*统计分数段 */ void fenxi(); /*分析学生成绩,算出不及格门数*/ void mynew(); /*创新功能 */ void outstudent(); /*输出单个学生信息 */ void outdanke(); /*输出单科成绩 */ void teshutuixue(); /*非考试退学 */ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23
11、学员- 5 - 图 2.1.1:主模块图(1) 菜单的设计主函数的作用主要是调用myprint函数显示主界面,由于菜单比较简单所以采用 printf函数将菜单项注意打印在屏幕上, 边框则采用 printf输出|- 拼接起来实现人机对话的第一步 . 然后通过读取用户的输入, 调用 switch 函数对用户的输入进行进一步的处理,并使用 do-while函数实现用户的选择性的重复操作。我们为用户提供了一个正常的出口,我们采用人机对话的形式,用户选择某一菜单以后,程序完成对于的功能, 然后询问用户是否继续选择,用户即可退出也可以继续输入,而且主菜单0 选项也可正常退出开始录入成绩统计成处理学籍创新功
12、退出输入学号输入姓名输入成返回按学号按平均分排序统计分补考名退学名单升学名返回名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 6 - 算法设计调用 myprint 函数输入 choose 的值Choose=? 2.调用scoreStat 3.调用studentStatus4.调用mynew 1.调用scoreInput 输入 yes_no yes_no=n 或 N 或 y 或 Y
13、yes_no=y 或 Y 假真假真开始结束0 退出图 2.1.2 总体设计流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 7 - 1 ,分析录入成绩模块算法:创建一个文件“学生基本信息.txt ”,并把从键盘输入的数据(学号、姓名、成绩)存放在该文件中;每写入一组记录,文件记录数增 1。建立录入成绩模块的流程图如下图所示。采用先输入一组信息,应用scanf 输入能有效阻止函数
14、判断值的位置占用,采用while 利用输入的信息都是非“#“,用“ #”作为信息结束的判断语言。如果没有输入“#” ,则继续,并且 i+ 。图 2.1.3: 输入流程图2.分析成绩统计的算法:成绩统计分为三大项和退出部分,按学号正向排序,按平均成绩逆向排序,打印各个分数段的人数。利用switch 方法使分支明确化。2.1分析按学号排序模块的算法:双重循环排序。结束开始i+ 结束打开文件打开成功?输入学生学号输入学生姓名输入各科成绩ex1i.num0!=#&ex1i.name0!=#真假名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
15、- 名师精心整理 - - - - - - - 第 8 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 8 - 从学生基本信息 .txt中读取信息,进行比较,假设第一个学生的学号是最小的,和之后的所有人进行比较,如果有比他学号还小的,将两个进行对调。图 2.2.1:按学号排序流程图2.2,按平均成绩排序:先算每个人的平均成绩,存放,调用,双重循环排序;利用打开文件打开成功?结束开始i=1, j=i+1 i0temp=ex2i; ex2i=ex2j; ex2j=temp; 结束程序并存档jn j+ 真结束循环假i+ 名师资料总结 - - -精品资
16、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 9 - 新定义的数组将成绩平均计算,依次排序,将学生成绩按平均成绩按降序排序。开始打开文件结束按 成 绩 排读 取 文 件成绩排序i=0 i+ in 退 出 循计算平均成绩真假i=0 i+ in-1 真假ji平均交换位置真真j+ 结束循环假结束程序存档图 2.2.2:按平均成绩排序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
17、 - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 10 - 2.3,统计各分数段人数并打印:定义二维数组,将各科成绩转化成5 个空间的成绩数组 ,双 重循 环, 将各 个成 绩段 的人 数各 次相 加, 得到 最后 结果 ; (如 下图 )开始i+ 打开文件打开成功?结束i=0, j=0 j100|listij0e+ t=(int)listij/10in 真假j+ 假真真d e f a u lt : a j 4 +9 : a j 0 +8 : a j 1 +7 :
18、 a j 2 +6 : a j 3 +10:aj0+打印并结束总循环图 2.2.3:统计各分数段人数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 11 - 3.学籍处理:此处分三部分和退出功能;打印补考学生名单;退学名单;升学名单;3.1,打印补考学生名单:由于不考需要考试场地,时间,而且互相不能重复,所以将考试科目, 时间,地点都定义为二维字符串,方便输入和计算; 补考学生要
19、求是有一到三门科目不及格,所以要先判断,后计算是否补考;打开文件打开成功?结束开始输入补考时间和地点i=0,j=i+1 i4,j5 s t r c m p ( t i m e i , t m e j ) = 0 & s t r c m p ( s i t e i , s t e j ) = 0i=0, j=0 in j5 e x 3 i . s c o r e j 0 & c o u n t 3输入 choose 的值0.输出高 数成绩和考试时间地点1.输出英 语成绩和考试时间地点2.输出语 言编程成绩和考试时间地点4输出法律基础成绩和考试时间地点3.输出电 路设计成绩和考试时间地点结束名师资
20、料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 13 - 结束开始打开文件打开成功?输入补考时间和地点i=0,j=i+1 i4,j5 s t r c m p ( t i m e i , t m e j ) = 0 & s t r c m p ( s i t e i , s t e j ) = 0假真i=0, j=0 in j5 e x 3 i . s c o r e j 3, 退学结束
21、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 14 - 3.3,升学名单:升学名单由非退学人员升入, 故而此部分在退学名单中有所显示;打印新名单,将退学名单中的人删除,将后面的学生提前,覆盖原来学生的信息。图 2.3.3 生成新名单退学部分c o u n t +满足退学标准k=i K 3名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
22、 - - - - - 名师精心整理 - - - - - - - 第 15 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 15 - 4.创新功能:此部分为自由发挥部分,我们组的创新功能具有较强的针对性:查询某学生信息;查询单科成绩;非考试不及格退学的学生;此部分依旧采用switch语言进入,选择具有多向性,显示更能清晰。图 2.4.0:创新功能主流程图输入choose的值Choose=? 2.调用outdanke 3.调用teshutuixue 1.调用outstudent 输入 yes_no yes_no=n 或 N 或 y 或 Y yes
23、_no=y 或 Y 假真假真开始结束调用函数0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 16 - 4.1,查询学生信息:此为学生查询部分。输入自己的姓名就可以看到自己的情况;图 2.4.1:查询单个学生成绩开始结束结束打开文件打开成功?输入要查询的学生姓名i=0 in strcmp(ex4i.name,ch)= =0 i+ 假真i=n 真假查无此人真输出要查学生的成绩输入
24、 yes_no yes_no=n 或 N 或 y 或 Y yes_no=y 或 Y 假真假真假名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 17 - 4.2,查询单科成绩:科目老师输入自己所教的科目,查考学生的情况;图 2.4.2:查询单科成绩结束开始结束打开文件打开成功?输 入 要 查 询 的科目名称i=0 i5 strcmp(sbji,ch)=0 i+ 假真i=5 真假输入
25、有误真j=i ,输出要查询的单科成绩输入 yes_no yes_no=n 或 N 或 y 或 Y yes_no=y 或 Y 假真假真名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 18 - 4.3,非不及格退学学生: 因故不能继续上学的学生办理退学手续后班级清除其信息;图 2.4.3:非考试原因退学学生开始查无此人结束错误再次学生号打开文件打开成功?结束输 入 要 查 询 的学生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言实训报告之学籍管理系统 2022 语言 报告 学籍 管理 系统
限制150内