C语言大作业学生信息管理系统完稿.doc
《C语言大作业学生信息管理系统完稿.doc》由会员分享,可在线阅读,更多相关《C语言大作业学生信息管理系统完稿.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流C语言大作业学生信息管理系统完稿.精品文档.武汉工业学院语言 学 院电气与电子工程学院班 级英才班1101学 号111204525姓 名刘兴目录摘要3第一章 综合设计概述31.1综合设计名称31.2任务要求31.3开发环境41.4应用平台4第二章 总体设计42.1系统功能需求分析42.2系统总体设计框架42.3系统功能模块图及各功能模块的目的与意义6第三章详细设计73.1N-S流程图73.1.1主函数main( )73.1.2录入学生基本信息函数student_new( )83.1.3修改学生档案函数student_edit ( )83.1.
2、4注销学生基本信息函数student_del( )83.1.5查找学生基本信息函数search_num ( )93.1.6录入成绩函数score_input( )93.1.7修改成绩函数score_edit( )93.1.8浏览学生成绩函数browser( )103.1.9学生成绩排序函数sort_it( )10第四章 调试分析过程描述114.1调试过程114.2调试发现的问题与解决15第五章 源程序代码21参考文献30摘要大作业为程序设计的第六题 “学生信息管理系统的设计”。在设计中用到了一个主函数和12个自定义函数。主函数实现了菜单操作,可根据数据的输入,控制操作选项。自定义函数则完成了对
3、数据的处理和学生管理的各种功能。如学生信息的录入,查找,修改,成绩的录入,修改和排序,在程序设计中尽量使用模块化,结构化设计,追求功能齐全,界面完整,简洁易读的设计理念。但是,限于内存局限与设计时间限制,本程序的学生人数设计最大为32人,而且不具备读取上次已录入学生信息档案功能。但总体来说,该程序已能满足要求的功能需求。因为本人学识有限,若有未发现的缺陷,敬请谅解第一章 综合设计概述1.1 综合设计名称学生信息管理系统的设计1.2 任务要求学生信息包括学号、姓名、年龄、性别、电话等。试设计一学生的信息管理系统,使之能提供以下功能:(1) 系统以菜单方式工作。(2) 学生信息录入功能(学生信息用
4、文件保存)-输入。(3) 学生信息浏览功能-输出。(4) 查询排序功能:n 按学号查询。n 按学号排序。n 按成绩与总分排序。(5) 学生信息的删除与修改(可选项)。1.3 开发环境开发工具为Microsoft Visual C+ 6.0.1.4 应用平台Windows XP32位。第二章 总体设计2.1 系统功能需求分析(1)建立学生信息,每个学生的信息包括:学号、姓名、年龄、性别、电话等。(2)求出每个学生的总分和平均分。(3)查找:根据学号、姓名中任一项查询该生的基本信息。(4)排序:根据学号、各科分数或总分将学生的信息按照一定的顺序进行排序。(5)根据需要修改学生的基本信息。(6)根据
5、实际情况注销某生的信息。(7)根据实际情况插入某生的信息。(8)将学生信息输出至文本文件中。2.2 系统总体设计框架(1)利用switch语句设计如图所示的主菜单。主选单选项编号1输入学生信息2修改学生信息3注销学生信息4查询学生信息5录 入 成 绩6修 改 成 绩7 浏 览8 输 出0 退 出 图1 学生信息管理系统主菜单(2)选择1后,调用录入函数student_new,进入录入函数后利用输入学生基本信息。(3)选项2后,调用修改信息函数student_edit,先进入查找函数后查找到学生信息并进行修改。(4)选择3后,调用查找函数student_del,查找某个学生的信息。(5)选择4后
6、,调用删除函数search_num,根据需要删除某个学生的信息。(6)选择5后,调用浏览函数score_input,浏览所有学生的信息。(7)选择6后,调用修改成绩函数score_edit,将每个学生的信息排序并全部输出。(6)选择7后,调用浏览函数student_browser,浏览所有学生的信息。(7)选择8后,调用输出函数save,将每个学生的信息全部输出。(8)选择0后,退出学生信息管理系统。(9)根据所选菜单编号编写相应代码。排序菜单 输入选项编号1按学号排序2按语文分数查找3按高数分数查找4按外语分数查找5按总分查找6按平均分查找0退 出图2 排序子菜单2.3 系统功能模块图及各功
7、能模块的目的与意义录入学生信 息修改学生信息查 找学生信息录入学生成绩删除学生信 息浏览学生成绩修改学生成绩主模块修改学生信息删除学生信 息修改学生成绩按学号排序按语文排序按数学排序按外语排序按总分排序按平均分排序找 按学号查询输出至文件退出第三章详细设计3.1 N-S流程图3.1.1 主函数main( )主函数主要通过switch()循环语句,实现菜单界面的操作控制,并且发挥了界面友好,模块化等特点,追求语句简洁,调用简单函数,通俗易懂。但是,由于switch语句的局限性,因而在菜单操作过程中使用了goto语句,这与结构化程序设计理念相悖,也是主函数中的最大缺陷。主函数的N-S流程图如下:3
8、.1.2 录入学生基本信息函数student_new( )在编写student_new( )函数时,主要设计思路就是通过判断语句进行递归嵌套,以此达到循环连续输入的效果,减少了操作复杂性。 录入学生基本信息函数N-S流程图如下:当N输入错误!);return_confirm();修改后代码:scanf(%d,&s0);if (s0=1)student_add();else if(s0=0) return_confirm(); else printf(nntt 输入错误!);return_confirm();(2) 修改学生成绩score_edit函数,在执行时学号不存在时仍然修改问题原代码:i
9、f(n=student_search()!=-1) printf(tt 语文:%d 数学:%d 英语:%dn,studentsn.chinese,studentsn.math,studentsn.english);printf(tt 请重新输入成绩:nntt 语文:);scanf(%d,&studentsn.chinese);printf(tt 数学:);scanf(%s,&studentsn.math);printf(tt 英语:);scanf(%d,&studentsn.english);return_confirm();修改后代码:if(n=student_search()!=-1&n!
10、=33) printf(tt 语文:%d 数学:%d 英语:%dn,studentsn.chinese,studentsn.math,studentsn.english);printf(tt 请重新输入成绩:nntt 语文:);scanf(%d,&studentsn.chinese);printf(tt 数学:);scanf(%s,&studentsn.math);printf(tt 英语:);scanf(%d,&studentsn.english);return_confirm();if(n=33)return_confirm();(3) 浏览函数中由于学号太长而引起的打印不齐问题原代码:s
11、ort_it(1); while(1)page_title(tt - *浏览*);printf(按数字键选择排序方式或按 0 返回n);printf(学号-1tt姓名tt年龄t语文-2t数学-3t英语-4t总分-5n);for(n=0;n32;n+)if(INDEXn!=-1)x=INDEXn;printf(%dtt%stt,studentsx.num,studentsx.name);printf(%dt%dt,studentsx.age,studentsx.chinese);printf(%dt%dt,studentsx.math,studentsx.english);printf(%dn,
12、studentsx.chinese+studentsx.math+studentsx.english);修改后代码:sort_it(1);while(1)page_title(tt - *浏览* -);printf(按数字键选择排序方式或按 0 返回n);printf(t学号-1| 姓名| 年龄| 语文-2| 数学-3| 英语-4| 总分-5| 平均分-6|n);for(n=0;n请用数字键选择科目nntt 1-语文 2-数学 3-英语nnntt );scanf(%d,&s);for(n=0;n输入错误!tt nn);break;if(studentsn.num!=0)printf(tt 学号
13、:%dntt 姓名:%sntt 成绩:,studentsn.num,studentsn.name);scanf(%d,&t);printf(n);switch(s)case 1 : studentsn.chinese=t;break;case 2 : studentsn.math=t;break;case 3 : studentsn.english=t;break;printf(tt 若需继续录入,请按1,退出录入请按0.nnntt );scanf(%d,&s1);if (s1=1)score_input();else if(s1=0) return_confirm(); else print
14、f(nntt 输入错误!);return_confirm();修改后代码:printf(ntt 请用数字键选择科目nntt 1-语文 2-数学 3-英语nnntt );scanf(%d,&s);for(n=0;n输入错误!tt nn);break;if(studentsn.num!=0)printf(tt 学号:%dntt 姓名:%sntt 成绩:,studentsn.num,studentsn.name);scanf(%d,&t);printf(n);switch(s)case 1 : studentsn.chinese=t;break;case 2 : studentsn.math=t;b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 作业 学生 信息管理 系统 完稿
限制150内