版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. 目录 1 设 计 目 的 3 2 设计题目及要求 3 3 设 计 算 法 分 析 3 3 . 1模 块 调 用 层 次 图 3 3 . 2核心算法描述 4 3 . 3 系统特点 6 4 程 序 代 码 6 5 调试情况 8 6 结 论 1 1 .专业 .专注. . 学生信息管理 1.设计目的 本课程设计的目的就是要通过一次集中的强化训练,使学生能及时巩固已学的知识, 补充未学的但又必要的内容。进行课程设计目的在于加深对程序设计基础中基础理论和基 本知识的理解 ,促进理论与实践的结合,进一步提高程序设计的能力。具体目的如下: 1 使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和
2、方法。 2 培养学生综合运用所学知识独立完成课题的能力。 3 培养学生勇于探索、严谨推理 、实事求是 、有错必改 ,用实践来检验理论,全方位 考虑问题等科学技术人员应具有的素质。 4 提高学生对工作认真负责、一丝不苟 ,对同学团结友爱,协作攻关的基本素质。 5 培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解 决问题的新途径的悟性,初步培养工程意识和创新能力。 6 对学生掌握知识的深度、运用理论去处理问题的能力、实验能力 、课程设计能力 、 书面及口头表达能力进行考核。 2.设计题目及要求 【1】设计题目 【2】要求 实现如下功能 : ( 1)建立学生信息的结构体 (
3、2)学生信息的初始化 (可以从文件获取 ) ( 3)学生信息的添加 、修改、删除、查找 ( 4)学生信息的输出 .专业 .专注. . ( 5)对学生信息按学号 、成绩排序 ( 6)计算一门课的平均分和总分 ( 7)将学生信息保存为文件 综合应用数组 、指针、结构体、文件等,对该设计题目进行设计和实现。课 程设计完成后 ,提交课程设计报告 。 3.设计算法分析 3.1 模块调用层次图 【1】变量描述 定义形式 / 名称 含义 /作用 数组 char name20 定义姓名数组 结构体 struct student stu50 声明一个结构数组 全局变量 int input=0;float ave
4、,sum; 全局变量标记当前录 FILE *fp; 入学生个数 文件 stu_list2.doc 保存学生信息 函数 Save InputStu DelStu 保存 录入 删除 修 ModifyStu FindStu InsertStu 改查找插入 排序 SortStu ListStu 显示学生信息 【2】系统模块调用层次图 Main SaveInputStuDelStuModifyStuFindStuInsertStuSortStuListStu .专业 .专注. . 3.2 核心算法描述 1.总体模块流程图 : 开始 !(scanf(%d,i=15;i+) for(i=0;iinput;i
5、+) stui.num=id T(flag!=0)F( flag!=0 ) 输出修改后学生信息printf(nnnull) 3.查询模块 : .专业 .专注. . for(i=0;i=15;i+) for(i=0;iinput;i+) (stui.num=id) T( flag=0 )F ( flag!=0 ) 输出查询后学生信息printf(nnnull) ( stui.classid=id ) T ( flag=0 )F( flag!=0 ) 输出查询后学生信息printf(nnnull) T ( flag=0 )(!strcmp(,name)F( flag!=0 ) 输
6、出查询后学生信息无找到有关信息 4.插入模块 : for(i=0;iinput;i+) stui.num=id T(flag=0)F(flag!=0) 学号信息已经存在输入要插入学生信息 .专业 .专注. . 5.删除模块 : ask != n TF i=0;iinput;i+ stui.num = delnum T (flag=0)F(flag!=0)for( j=i;jinput;j+) 删除成功且 显示删除后数据 删除指定学生的信息没有要删除的学生 6.排序模块 : chose=1 TF(chose=2) for(i=0;iinput-1;i+)for(i=0;iinput-1;i+)
7、for( j=i+1;jinput;j+)for(j=i+1;jstuj.numstui.avestuj.ave TFTF temp=stuitemp=stui .专业 .专注. . stui=stujstui=stuj stuj=tempstuj=temp 3.3 系统特点 【1】特点:这个学生信息管理系统建立了学生信息的结构体,实现了学生信息 的录入 、添加、修改、删除、查找等功能 ,并能计算学生的平均分和总分,对 学生进行排序 。 4. 程序代码 【1 】程序代码 void Help(); void Save(struct student stu); void InputStu(stru
8、ct student stu); void DelStu(struct student stu); void ModifyStu(struct student stu); void FindStu(struct student stu); void InsertStu(struct student stu); void SortStu(struct student stu); void ListStu(struct student stu); void main() .专业 .专注. . struct student stu50;struct student *p; intin;intin1;
9、char ch; void InputStu(struct student stu) pp=stu; system(cls); int i; printf(Number of students you want to enter information:); scanf(%d, if(fp=fopen(inputdata.sys,wb+)=NULL) printf(Cannot open file strike any key exit!); getch();exit(1); void ModifyStu(struct student stu) system(cls); pp=stu;int
10、id,i,flag=1; if(fp=fopen(modifydata.sys,wb+)=NULL) printf(Cannot open file strike any key exit!); getch();exit(1); void FindStu(struct student stu) system(cls);int i=0,id,flag=1,chose; printf(nPlease select query: 1.No. inquiries by school;2.Query by class;3.Query by namen); scanf(%d, .专业 .专注. . swi
11、tch(chose) case 1:printf(Please enter your query No. students:); scanf(%d, for(i=0;iinput;i+) if (stui.num=id) flag=0; stui.sum=stui.score1+stui.score2+stui.score3; stui.ave=stui.sum/3; printf(nNo.StudiesNameNo.classesThefirstsubjecThesecond subject The third subjectAverage Totaln); void InsertStu(s
12、truct student stu ) system(cls); int flag=1;pp=stu;int i,id; if(fp=fopen(insertdata.sys,wb+)=NULL) printf(Cannot open file strike any key exit!); getch();exit(1); void ListStu(struct student stu) int i=0; for(i=0;iinput;i+) stui.sum=stui.score1+stui.score2+stui.score3; stui.ave=stui.sum/3; printf(nN
13、o.StudiesNameNo.classesThefirstsubjecThesecond .专业 .专注. . subject The third subjectAverage Totaln); for(i=0;iinput;i+) printf(n%d%s%dt%dt%dt%d t%d%d,stui.num,,stui.classid,stui.score1,stui.score2,stui.score3,st ui.ave, stui.sum); getch(); void DelStu(struct student stu) system(cls); pp=stu;
14、int delnum,flag=1;char ask;int i,j; if(fp=fopen(Deldata.sys,wb+)=NULL) printf(Cannot open file strike any key exit!); getch();exit(1); void SortStu(struct student stu) system(cls); int i,j,chose; struct student temp; printf(T o sort the data before:n); printf(nNo.StudiesNameNo.classesThefirstsubjecT
15、hesecond subject The third subjectAverage Totaln); for(i=0;iinput;i+) printf(n%d%s%d%dt%dt%dt%dt%dn,stui.num,,st ui.classid,stui.score1,stui.score2,stui.score3,stui.ave,stui.sum); .专业 .专注. . printf(n1.Sort by Student IDt2.By the average score (high low) Sortn); void Save(struct student stu) int i,j;pp=stu; system(cls); printf(nnnntttSaving); if(fp=fopen(stu_list2.doc,wb+)=NULL) printf(Cannot open file strike any key exit!); getch();exit(1); 【2】程序执行结果 【3】结果的讨论 :系统最后将修改过后的学生信息保存了下来 5.调试情况 三科成绩 、平均分、总分不能用 float 定义应改为 int 定义应在函数的最前端 .专业 .专注. . 文件未定义 这是建立学生信息文件 添加学生信息并计算平均分和总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人房屋买卖合同协议书模板
- 铁矿设备买卖合同
- 2025隧道施工合同
- 2025合同工程完工证书
- 2025复印机买卖合同范文
- 2025年湘教版九年级历史下册阶段测试试卷
- 2025销售合同范本中英
- 土地抵押担保借款合同
- 钢结构劳务分包合同正规范本
- 车辆租赁简单合同协议书
- 骨科抗菌药物应用分析报告
- 中职安全管理方案
- 百词斩托福词汇excel版本
- 高考写作指导常见议论文论证方法知识梳理与举例解析课件27张
- (完整word版)高中英语3500词汇表
- 玻璃反应釜安全操作及保养规程
- 高中英语新课标词汇表(附词组)
- 证券公司信用风险和操作风险管理理论和实践中金公司
- 一级建造师继续教育最全题库及答案(新)
- 2022年高考湖南卷生物试题(含答案解析)
- GB/T 20909-2007钢门窗
评论
0/150
提交评论