




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1设计目的32 设计题目及要求33设计算法分析3 3.1 模块调用层次图3 3.2 核心算法描述4 3.3 系统特点64程序代码65调试情况86结论11学生信息管理1.设计目的本课程设计的目的就是要通过一次集中的强化训练,使学生能及时巩固已学的知识,补充未学的但又必要的内容。进行课程设计目的在于加深对程序设计基础中基础理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计的能力。具体目的如下:1使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。2培养学生综合运用所学知识独立完成课题的能力。3培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。4提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。5培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。6对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。2.设计题目及要求【1】设计题目 【2】要求实现如下功能:(1)建立学生信息的结构体(2)学生信息的初始化(可以从文件获取)(3)学生信息的添加、修改、删除、查找(4)学生信息的输出(5)对学生信息按学号、成绩排序(6)计算一门课的平均分和总分(7)将学生信息保存为文件综合应用数组、指针、结构体、文件等,对该设计题目进行设计和实现。课程设计完成后,提交课程设计报告。3.设计算法分析 3.1 模块调用层次图 【1】变量描述定义形式/名称含义/作用数组char name20定义姓名数组结构体struct student stu50声明一个结构数组全局变量int input=0;float ave,sum; FILE *fp; 全局变量标记当前录入学生个数文件stu_list2.doc保存学生信息函数Save InputStu DelStu ModifyStu FindStu InsertStu SortStu ListStu保存 录入 删除 修改 查找 插入 排序 显示学生信息 【2】系统模块调用层次图MainListStuSortStuInsertStuFindStuModifyStuDelStuInputStuSave3.2核心算法描述1.总体模块流程图: 开始 !(scanf(%d,&in1)=1 N T 学生信息 保存 排序 删除 插入 查询 修改 结束2.修改模块: for(i=0;i=15;i+) for(i=0;iinput;i+) 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) 输出查询后学生信息 无找到有关信息4.插入模块:for(i=0;iinput;i+) stui.num=id T(flag=0)F(flag!=0) 学号信息已经存在 输入要插入学生信息 5.删除模块: ask != nT Fi=0;iinput;i+ stui.num = delnum T (flag=0) F(flag!=0) for(j=i;jinput;j+) 删除成功且 显示删除后数据 删除指定学生的信息 没有要删除的学生6.排序模块: chose=1T F(chose=2)for(i=0;iinput-1;i+) for(i=0;iinput-1;i+) for(j=i+1;jinput;j+) for(j=i+1;jstuj.num stui.avestuj.ave T F T F temp=stui temp=stui stui=stuj stui=stuj stuj=temp stuj=temp3.3 系统特点【1】特点:这个学生信息管理系统建立了学生信息的结构体,实现了学生信息的录入、添加、修改、删除、查找等功能,并能计算学生的平均分和总分,对学生进行排序。4. 程序代码【1】程序代码 void Help(); void Save(struct student stu); void InputStu(struct 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; int in; int in1; char ch; void InputStu(struct student stu) pp=stu; system(cls); int i; printf(Number of students you want to enter information:); scanf(%d,&input);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 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,&chose);switch(chose)case 1: printf(Please enter your query No. students:);scanf(%d,&id);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. Studies Name No. classes The first subjec The second subject The third subjectAverage Totaln);void InsertStu(struct 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(nNo. Studies Name No. classes The first subjec The second subject The third subjectAverage Totaln);for(i=0;iinput;i+)printf(n %d %s %d t%d t%d t%d t%d %d,stui.num,,stui.classid,stui.score1,stui.score2,stui.score3,stui.ave, stui.sum); getch(); void DelStu(struct student stu) system(cls);pp=stu; 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(To sort the data before:n);printf(nNo. Studies Name No. classes The first subjec The second subject The third subjectAverage Totaln);for(i=0;iinput;i+)printf(n %d %s %d %dt %dt %dt %dt %dn,stui.num,,stui.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定义应改为in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁合同范本长住房合约6篇
- 农资赠与合同范本3篇
- 合伙修路协议书格式5篇
- 简易机器抵押合同范本
- 电动车租赁协议书(示范协议)5篇
- 2025百货商场柜台出租合同3篇
- 足疗店合同范本
- 承接窑炉维修合同范本
- 房产限时销售合同范本
- 公寓出租全托合同范本
- 2025年福建省机关事业单位工勤人员技能等级考试(财务会计员·技师)历年参考题库含答案详解(5套)
- 2025年全国通信专业技术人员职业水平考试(通信专业实务·初级)历年参考题库含答案详解(5套)
- 2025年国企财务招聘笔试题和答案(基础知识测试题)
- 人工智能 - 趋势Trends - Artificial Intelligence by Mary Meeker 中文版
- GB/T 45759-2025精细陶瓷陶瓷粉体中粗颗粒含量的测定湿筛法
- 作者作品:旅行家(叶圣陶)
- 2中国人首次进入自己的空间站(教学课件)-八年级语文上册公开课讲堂(统编版2024)
- 甘肃省民宿项目管理办法
- 秋季皮肤护理
- 海洋可再生能源开发要点
- 2025年兵团职工考试试题及答案
评论
0/150
提交评论