2022年C语言实训报告之学籍管理系统 .pdf

上传人:Che****ry 文档编号:27188961 上传时间:2022-07-23 格式:PDF 页数:47 大小:1.07MB
返回 下载 相关 举报
2022年C语言实训报告之学籍管理系统 .pdf_第1页
第1页 / 共47页
2022年C语言实训报告之学籍管理系统 .pdf_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《2022年C语言实训报告之学籍管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言实训报告之学籍管理系统 .pdf(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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:非考试原因退学学生开始查无此人结束错误再次学生号打开文件打开成功?结束输 入 要 查 询 的学生

26、学号i=0 in strcmp(ex4i.num,ch)=0 j=i jn-1 ex4j=ex4j+1 i=n 真假j+ i+ 假假真输入 yes_no yes_no=y 或 Y 假真假真yes_no=n 或 N 或 y 或 Y 假名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 19 - 结构体说明在程序中为了实现学生信息的链接统一,我们定义了结构体学生信息, 通过结构体的调用实

27、现信息的统一处理。struct student char num13; /*学生学号 */ char name18; /*学生姓名 */ float math; /*数学成绩 */ float english; /*英语成绩 */ float cprogram; /*c 程序成绩 */ float circuit; /*电路设计成绩 */ float law; /*法律基础成绩 */ float pingjun; /*平均成绩 */ float score5; /*定义五科成绩数组 */ ; 程序代码设计以补考函数为例讲解: void bukao() int i=0,j=0,count=0,n

28、=0; char time510=,site515=,sbj510=高 数,英语 ,c 语言编程 ,电路设计 ,法律基础 ; 定义循环变量i,j 并将其清零,定义参数常量count,n 控制循环次数;定义二维字符串使输入的各科补考情况能进入循环。struct student ex3N=0; 定义结构体数组存放学生信息。FILE *fp=NULL; 定义文件指针指向文件。system(color 2f); 给运行窗口加色。学生基本信息 .txt,r); 打开之前输入的学生信息。if(fp=NULL) printf(n 打开文件失败! n); return; 如果没有指向, 则显示文件无法打开。名

29、师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 20 - printf(n 欢迎进入生成并打印补考通知单系统!n); while(feof(fp)=0) 打开文件将文件中的内容读出。 fscanf(fp,%3d%15s%16s%f%f%f%f%fn,&i,ex3i.num,ex3i.name,&ex3i.score0,&ex3i.score1,&ex3i.score2,&ex3i.

30、score3,&ex3i.score4); i+; n+; 以数组形式读取文件便于循环。fclose(fp); 关闭文件。for(i=0;i5;i+) 依次输入补考时间地点, 循环比较,如果有冲突,重新输入。 printf(n 请输入%s的补考时间、地点: ,sbji); scanf(%s%s,&timej,&sitej); for(i=0;i4;i+) for(j=i+1;j5;j+) while(strcmp(timei,timej)=0&strcmp(sitei,sitej)=0) printf(nn%s 科目与 %s科目相冲突,请重新输 %s 的考试时间、地点:,sbji,sbjj,s

31、bjj); scanf(%s%s,&timej,&sitej); for(i=0;in;i+) 调用学生信息,统计学生不及格科目数。 for(j=0;j5;j+) if(ex3i.scorej0&count3) 符合补考条件,进入补考打印部分。 printf(nn); printf(n%15s学 生 %d 门 课 不 及 格 , 补 考 科 目 、 时 间 、 地 点 :,ex3i.name,count); for(j=0;j5;j+) if(ex3i.scorej60) switch(j) 定义二维字符串将科目数组化,使之循环。找到对应科目,输出学生考试信息,补考信息。 case 0:pri

32、ntf(n高 数 :%3.1f ,时 间 %s, 地名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 21 - 点%s,ex3i.scorej,timej,sitej);break; case 1:printf(n英 语 :%3.1f ,时 间 %s, 地点%s,ex3i.scorej,timej,sitej);break; case 2:printf(nc语 言 编 程 :%3.

33、1f , 时 间 %s, 地点%s,ex3i.scorej,timej,sitej);break; case 3:printf(n电 路 设 计 :%3.1f ,时 间 %s, 地点%s,ex3i.scorej,timej,sitej);break; case 4:printf(n法 律 基 础 :%3.1f ,时 间 %s, 地点%s,ex3i.scorej,timej,sitej);break; 程序结束。此外,有几个特别的语言需要说明:do mainprint(); printf( ); choose=getche( ); switch(choose) case1:scoreInput(

34、);break; /*成绩录入 */ case2:scoreStat();break; case3:studentStatus();break; case4:mynew();break; case0:break; default:printf(n %c 是非法选项! n); break; if(choose=0) break; printf(n 即将进入主菜单,要继续选择吗(Y/N) ?n); do yes_no=getche( ); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=y|yes_no=Y); 使用该语句来

35、实现在用户输入选择项后,程序判断后进入对应模块,并相应名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 22 - 的调用模块使用的函数进行运算,并使用break 在调用完函数后退出switch 语句。然后询问用户是否继续操作,使用do-while语句来确认用户的输入的合法性,并使用使用 getch 语句来读取,然后使用外层的do-while 判断是否退出循环;而 myprint 函

36、数简单使用了 printf语句来显现将主菜单打印在屏幕上的功能。for(i=0;in-1;i+) for(j=i+1;j0) temp=ex2i; ex2i=ex2j; ex2j=temp; 进行排序时,我们需要先将最开始的学生当成学号最小的学生,用后面的学习生的学号和他的进行对比, 如果后面某个学生的学号筱宇第一个学生的学号,将这个学生的所有性能系和第一个学生对调,那么这个学生的信息就放在了第一位,如果后面还有这样的情况, 将他们的位置对调。 循环完后面所有的学生后就确定了第一位的学生是学号最小的。 然后进行第二个排序, 也是和后面的所有学生进行对比,有符合情况的,交换位置。一次进行到倒数第

37、二个,最后一个就不用比较了,他就是最大的。而这部分的模式也是按平均分排序的主要模式。for(j=0;j5;j+) for(i=0;i100|listij0) e+; else t=(int)listij/10; switch(t) case 10:aj0+;break; case 9:aj0+;break; case 8:aj1+;break; case 7:aj2+;break; case 6:aj3+;break; default:aj4+;break; 这部分是各科目各分数段人数统计,我们采用单科学生循环模式,aj 中 j 所代表的科目名称, 我们只选取 0100分的人员进行操作, 在实

38、际输入的过程中可能会有输入的错误,我们将不在分数段的人不纳入统计范围,并且报错,除以10 可以帮助我们选择相对应的分数段进行人数的相加。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 23 - for(i=0;i5;i+) printf(n 请输入 %s的补考时间、地点:,sbji); scanf(%s%s,&timej,&sitej); for(i=0;i4;i+) for(j

39、=i+1;j5;j+) while(strcmp(timei,timej)=0&strcmp(sitei,sitej)=0) printf(nn%s 科目与 %s科目相冲突,请重新输%s的考试时间、地点: ,sbji,sbjj,sbjj); scanf(%s%s,&timej,&sitej); 补考的考试时间和地点键盘输入,想将所有的补考信息输入,然后进行比较,依次使每一科的信息都和其他的相对比,选出时间相互冲突的, 再次输入, 直至所有的时间都不相冲。printf(n 请输入要查学的学生的姓名:); scanf(%s,&ch); for(i=0;in;i+) if(strcmp(ex4i.n

40、ame,ch)=0) printf(n 您 查询 的 是 学号 为 %s 的学 生, 他的成 绩 如下:,ex4i.num); printf(n 高数 :%-7.1f,英语 :%-7.1f,c 语言编程 :%-7.1f,电路设计:%-7.1f,法律基础 :%-7.1fn,ex4i.score0,ex4i.score1,ex4i.score2,ex4i.score3,ex4i.score4); break; if(i=n)printf(n 查无此人 .n); 查询单个学生信息,输入学生的姓名,查找,如果有符合的学生,将他的信息输出且结束循环体,如果没有,即自动断出,那么查询所代表的i=n,这样,

41、我们就判断出这个学生的信息不存在。完整程序请参见附录A 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 24 - 测试与调试测试数据类型测试数据预期结果实测结果合法数据在主菜单中输入1 进入录入同学学籍菜单进入录入同学学籍菜单在创建同学学籍输入信息在 ” d 盘学生基本信息.txt” 文件存入同学信息d 盘学生基本信息.txt文件有同学信息非法数据在主菜单中输入“ a”输出 “

42、a 为非法选项 ”输出“ a 为非法选项 ”在每次完成一项是弹出 “ 是否继续(Y/N)? ” 输入 y 没有反应没有反应图 2.5.1 开始状态名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 25 - 图 2.5.2 输入 1 之后图 2.5.3 输入 a 之后名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师

43、精心整理 - - - - - - - 第 26 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 26 - 三个人总结杜旭亮的个人小结两周的实训结束了, 对于这次 C语言实训, 我非常重视, 这次实训我们编辑的程序不再是简单的模块, 而是具有一定应用性的学籍管理系统。我们分到这个系统时认为这个系统程序调用函数少, 可能是这次实训中最简单的, 但是在实训开始后我们就发现,调用函数少,但是做的工作却是最多的。没有过多的说明, 没有这方面的经验, 我们在刚开始的时候做的非常辛苦,第一,二天基本没有什么收获。 于是我们就进行严格的分工, 将大片的信息处

44、理成一个一个的模块。在此次编程中, 我负责的是开始的输入部分和最后的创新部分,这来那个部分都是比较简单的, 但是如果用之前我的习惯, 这段程序不仅繁杂而且可行性不高,我开始参考其他程序的输入部分, 并找到了实用性较高的一个程序模板,并据此编写自己的程序。在编辑运行方面,我发现好多知识的欠缺,最后我负责将程序汇总调整的时候,有许多程序语言需要翻书才能看明白,在调试环节我发现好多错误, 有粗心导致的丢符号,有逻辑小问题, 这都导致运行结果不符合要求,常常一整篇程序, 就因为一个小小的错误而得不到实现, 在不断的找寻错误解决错误的过程中,锻炼了我的耐心和毅力,更让我不懈坚持着。在这里,我还要特别感谢

45、我的指导老师,他总能在我对编程感到迷茫的时候鼓励我,让我不要着急,慢慢来,总会变好的。每天他都在为学生们服务,非常辛苦,谢谢!两周的实训就要结束了, 这两周里,我学到了很多东西, c 语言的实训室是束了,但我的学习不会结束,这次试训让我认识到了我们的生活中的很多东西都应用了程序,我将继续我的学习,编写有用的程序。陶晓申的个人小结在这两个星期里 ,我们在老师的带领下进行了C 语言程序实践 .在这之前我们已经对这门课程学习了一个学期.但是很多东西都只是停留在了解和书面的知识上.虽然老师会给我们很多的实践机会,.但像这次我们可以合作完成一个完整的程序还是第一次.名师资料总结 - - -精品资料欢迎下

46、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 47 页 - - - - - - - - - 学籍管理系统实训报告03,13,23 学员- 27 - 我作为其中的参与者 .感触颇多 . 在这次的实训中 ,我对 C 语言有了一个更深的了解和认识,也对这个学期学到的知识得到了巩固 .每次运行程序成功 ,拿下一个模块的时候 ,就很兴奋 .让我对下面的编辑就更加充满了信心 .通过合作 ,最终把最初学到的理论知识转化为基本技能.虽然只是很小的一个项目 .但每天我们组都来的很早,大家一起学习 .取长补短 .我们很好的再

47、实践中增长知识 ,提高我们的学习热情.尤其是在这次实训中 ,组长给了我很大的帮助.每次有问题他都会细心教我 .让我弄明白了很多曾经不懂得东西. 在实训中 ,让我对 C 语言的热情进一步提高.而且让我深刻的认识到.很多时候 ,往往是细节决定成败 ,因为不管程序的语句是有多少,但只要是有一条语句或者语法不正确,就不能使程序得到所需要的结果付娟的个人总结为期两周的C 语言的实训即将结束了,我们组制作的学籍管理系统也及时的完成。对于这次 C语言实训,我对此非常重视, 因为通过实训不仅仅是对所学知识的验证,也是对团队合作,处理好同学关系的锻炼,为毕业后更好的融入社会做准备。这两周的时间, 我们组的同学在

48、组长的带领下攻破了一个又一个的难关,才最终取得了成功。 刚拿到这个题的时候, 我们就进行了明确的分工, 我觉得这一点是非常重要的,因为一个大的程序, 光靠一个人的精力很难完成,而一个团队恰恰解决了这个问题。不过团队之间的分工必须要明确,用什么样的函数名,定义什么样的函数,这些都是需要统一的, 要不然到了最后整合的时候还是一团散沙。分工好后各自开始着手干。在这个小组中我的实力是最弱的对于有些程序的完成总是力不从心,还好我们组的队员及时的站在了我身后,指导我如何克服难点, 和我一起调试程序, 这才没有拖住大家的后腿。 也是我个人的原因, 马马虎虎, 总会犯一些低级的错误, 在以后的编程中我一定积极

49、改进。通过这次的实训我知道, C 语言这门课程仅仅靠用耳朵听,脑袋记是不够的, 我们需要更多的时间进行上机的训练,这样才能把知识真正的记牢, 熟练的掌握。 而且我认识到其实我们生活中的很多程序或许都是由我们的同龄人所编写,也深刻认识到C 语言带给我们的便捷。很感谢我们的指导老师李论在我们出现问题时给我每们的及时指导,让我们少走了很多弯路,也谢谢其他组员对我的帮助!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 47 页 - - - - - - - - - 学籍管理系统实

50、训报告03,13,23 学员- 28 - 四结束语这次实训非常的感谢指导李论老师对我们的帮助,还有同学们在我们遇到困难时能及时伸出援助之手,帮助我们解决问题,在这里我们组谢谢各位帮助过我们的人因为你们的无私帮助才使我们顺利地完成任务。附表 1.程序源码#include #include #include #include #define N 100 struct student char num13; char name18; float math; float english; float cprogram; float circuit; float law; 名师资料总结 - - -精品资

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁