




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档课 程 设 计 报 告课程名称 面向对象程序设计 课题名称 高校学籍管理系统 专 业 通信工程 班 级 通信工程1301 学 号 201303020129 姓 名 吴念洋 指导教师 乔汇东 2015年 12 月 30日湖南工程学院课 程 设 计 任 务 书课程名称 面向对象程序设计 课 题 高校学籍管理系统 专业班级 通信工程1301 学生姓名 吴念洋 学 号 200803020126 指导老师 乔汇东 、胡瑛、黄哲 审 批 任务书下达日期 2015年 12 月 26 日任务完成日期 2015年 12 月 30 日一、设计内容与设计要求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完面向对象程序设计课程后进行的一次全面的综合练习。要求学生达到熟练掌握C+语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。2.课题题目公司考勤管理系统高校学籍管理系统高校工资管理系统高校人事管理系统文件加密管理系统3设计要求:设计课题题目:第5个课题是扩展课题,有能力完成的同学可以选择。其余每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。换题者不记成绩。根据自己对应的课题完成以下主要工作:完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。完成系统详细设计:包括数据库需求分析;类层次图;界面设计与各功能模块实现。系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。关键源程序(带注释)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。二、进度安排第 周 星期 时:分时:分 星期 时:分时:分 星期 时:分时:分 星期 时:分时:分课题2:高校学籍管理系统 (一)、课程设计题目:高校学籍管理系统(二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次; (3)在系统的设计中,至少要用到面向对象的一种机制。3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理: 1、问题描述(功能要求): (1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。(2)能够将指定的信息从文件中删除。(3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。(4)可以统计全部学生的总成绩,及其在班上的排名。(5)能够统计各科的平均成绩及及格率。(6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。(7)如果检索不到相应的信息应提示用户。(8)扩展要求:能先行设置本学期的科目 每个学生信息应该包括:姓名、学号、成绩成绩信息应该包括:科目数量、各科目名称、各科目成绩2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)写出需求分析(做什么);(2)分析系统中的各个实体之间的关系及其属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)用户界面的设计; (7)分析系统功能模块(系统流程图);(8)代码编写,功能调试;(9)完成系统总结报告以及系统使用说明书。目 录一、需求分析71.系统设计目的与意义72.系统功能需求(系统流程图)72.系统功能流程图83.输入输出的要求8二、总体分析91.系统功能分析92.系统功能结构图10三、详细设计111.类设计:11三、界面设计与各功能模块的实现121.界面设计12四、系统调试121.首页进入学籍管理系统主菜单122录入学生信息界面:133.显示学生信息界面134.查找学生信息界面145.删除学生信息界面146.统计学生信息:16五、使用说明及心得体会16六、附件17 一、 需求分析1.系统设计目的与意义要求用C+面向程序设计语言编写一高校学籍管理系统,1、目的: 1)要求学生达到熟练掌握C+语言的基本知识和技能; 2)基本掌握面向对象程序设计的基本思路和方法; 3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2. 系统设计的意义:系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进行了统计;系统数据的录入 除可以手工录入外,还可以采用文件的录入;系统统计学生的基本信息较全面,包括学号,姓名,性别,成绩;程序中查找运用了两种查找方式即学号查找和姓名查找。2.系统功能需求(系统流程图)1.要求完成以下功能:1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。2)能够将指定的信息从文件中删除。3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。4)可以统计全部学生的总成绩,及其在班上的排名。5)能够统计各科的平均成绩及及格率。6)要求有错误提示功能,例如性别只能输入nan,nv,输入错误提示重新输入。7)如果检索不到相应的信息应提示用户。 2.系统功能流程图退出主程序初始化程序菜单程序查找删除修改统计录入显示保存3.输入输出的要求1.输入的要求:通过主函数体调用其他函数应用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能完成学生信息和成绩的输入。记录查询功能可以对数据各分类的记录进行查询。2.输出的要求:1)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。2)可以统计全部学生的总成绩,及其在班上的排名。3)能够统计各科的平均成绩及及格率。4)如果检索不到相应的信息应提示用户二、 总体分析1. 系统功能分析能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。能够将指定的信息从文件中删除。能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。可以统计全部学生的总成绩,及其在班上的排名。能够统计各科的平均成绩及及格率。要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。如果检索不到相应的信息应提示用户。 2.系统功能结构图 三、详细设计1.类设计:类:student 数据成员编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩class xinxiprotected: int number; /学号char name20; /姓名char sex6; /性别char p10010; float fenshu10;float shuliang;float average;float sum;float aver;float jigelv;三、 界面设计与各功能模块的实现1. 界面设计1.界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。2.功能模块实现设计通过主窗体调用其他窗体。应用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能完成学生信息和成绩的输入。记录查询功能可以对数据各分类的记录进行查询。四、 系统调试1.首页进入学籍管理系统主菜单2录入学生信息界面:3.显示学生信息界面:4.查找学生信息界面:5.删除学生信息界面:6.统计学生信息:五、 使用说明及心得体会此次c+课程设计,在指导教师的精心教导下,我们学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。好好打牢基础,因为之前学的时候自己动手实践的比较少,到后面就比较吃力,所以还是要多练习。六、附件源文件代码:#include#include using namespace std;int di=0;int num=0;class xinxipublic:int number;char name20;char sex6;char p10010;float fenshu10;float shuliang;float average;float sum;float aver;float jigelv;int i;virtual void Show()/显示cout学生学号:numbern学生姓名:namen学生性别:sexn学生科目数量 :shuliangendl;for(int i=0;ishuliang;i+)coutpi的成绩为:fenshuiendl;cout总成绩为:sumendl;cout平均成绩为:averageendl;void Book(int n)coutnumber;coutname;coutsex;while(1)if(strcmp(sex,nan)=0|strcmp(sex,nv)=0)break;elsecout输入有误,请重新输入:sex;/*coutshuliang; for(i=0;ishuliang;i+)cout请输入科目i+1的名称pi;cout请输入科目i+1的成绩fenshui;*/while(1) /通过课程确定数量char a;int b;for(i=0,b=0;i+)cout请输入科目i+1的名称pi;cout请输入科目i+1的成绩fenshui;b+;cout是否继续输入?(Y/N)a;if(a=Y|a=y)continue;elseshuliang=b;break;break;/*virtual void Save(fstream &f)/保存到文件f中fnumber name sex fenshu shuliang average sumnumbernamesexfenshushuliangaveragesum;*/;xinxi d100;xinxi v100;/输入学生信息void BookIn()while(1)cout*endl;cout*endl;cout请输入学生信息:endl;ddi.Book(num+);di+;for(int j=0;jdi;j+) /计算总成绩和平均成绩float s=0;for(int i=0;idj.shuliang;i+)s=s+dj.fenshui;dj.sum=s; dj.average=dj.sum/dj.shuliang;cout是否继续输入:Y继续、其他退出x;if(x!=y & x!=Y)break;/删除学生信息void BookOut()int i;while(1)int c;cout*endl;cout*endl;cout请输入您要删除的学生学号:c;for(i=0;idi;i+)if(c=di.number)di=d-di;cout删除成功!endl;elsecout输入错误!endl;system(PAUSE);cout是否继续删除:Y继续、其他退出x;if(x!=y & x!=Y)break;/学生信息查询void Inquiry()while(1)cout*endl;cout*endl;cout1、按学号查询endl;cout2、按姓名查询endl;cout请输入您的选择: ?c;if(c=1)couta;for(int i=0;idi;i+)if(a=di.number)test=1;break;elsetest=0;if(test=0)cout没有这个学生!endl;system(PAUSE);else if(test=1)di.Show();else if(c=2)char c10;coutc;for(int i=0;idi;i+)if(strcmp(c,)=0)test=1;break;elsetest=0;if(test=0)cout没有这个学生!endl;system(PAUSE);else if(test=1)di.Show();else cout输入错误!endl;system(PAUSE);cout是否继续查询:Y继续、其他退出x;if(x!=y & x!=Y)break;/显示学籍信息void Display()for(int i=0;idi;i+)di.Show();coutnendl;void Paixu()int i,k;int tempsum;char tempname10;for(i=0;idi;i+)strcpy(,);vi.sum=di.sum;for(i=0;idi-1;i+) for(k=i+1;kdi;k+)if(vi.sumvk.sum) strcpy(tempname,);strcpy(,);strcpy(,tempname);tempsum=vi.sum;vi.sum=vk.sum;vk.sum=tempsum;for(i=0;idi;i+)cout第i+1名: 总成绩:vi.sum分endl;system(PAUSE);void Danke()for(int j=0;jdj.shuliang;j+)float sum=0;for(int i=0;idi;i+)sum=sum+di.fenshuj;vj.aver=sum/di;coutdj.pj的平均分为:vj.averendl;system(PAUSE);for(int m=0;mdm.shuliang;m+)float k=0;for(int i=0;i=60)k+;vm.jigelv=k/di;coutdm.pm的及格率为:vm.jigelvdi;/读入for(i=0;idi;i+)di.Load(file);file.close();/文件关闭void FileSave()/信息保存函数int i;fstream file;file.open(mydata.dat, ios:out);/打开保存数据的文件filediendl;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动仲裁签协议书劳动关系仲裁书(13篇)
- 2025年事业单位工勤技能-湖南-湖南公路养护工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北家禽饲养员二级(技师)历年参考题库典型考点含答案解析
- 2025-2030中国线上超市行业经营效益与未来运营模式分析报告
- 医疗与医药行业:医疗信息化在智慧医疗建设中的应用报告
- 2025年事业单位工勤技能-浙江-浙江工程测量员二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河南-河南热处理工五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-河南-河南图书资料员四级(中级工)历年参考题库典型考点含答案解析
- 2024版出租果树合同范本
- 2024-2025年度上海市设备监理师之设备监理合同题库与答案
- 多媒体教室使用的课件
- 2025年军队专业技能岗位文职人员招聘考试(工程机械驾驶员)历年参考题库含答案详解(5卷)
- 2025年下半年广西现代物流集团社会招聘校园招聘笔试参考题库附带答案详解(10套)
- 2025年粉笔辅警考试题库
- 水声传感器技术研究与应用
- 2025年小学教研室教学计划
- 2025年上海市建筑工程施工合同模板
- 手术室护理业务学习
- 贩卖人口罪与强迫劳动罪
- 新员工入职职业道德培训
- 宽带宣传活动方案
评论
0/150
提交评论