高校学籍管理系统_第1页
高校学籍管理系统_第2页
高校学籍管理系统_第3页
高校学籍管理系统_第4页
免费预览已结束,剩余26页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、页眉课程设计报告课程名称面向对象程序设计课题名称高校学籍管理系统专业通信工程班级通信工程 1301学号201303020129姓名吴念洋指导教师乔汇东2015年12月30日页脚页眉湖南工程学院课程设计任务书课程名称面向对象程序设计课题高校学籍管理系统专业班级通信工程 1301学生姓名吴念洋学号200803020126指导老师乔汇东 、胡瑛、黄哲审批任务书下达日期2015年12月 26日任务完成日期2015年12月 30日页脚页眉一、设计内容与设计要求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完面向对象程序设计课程后进行的一次全面的综合练习。要求学生达到熟练掌握C+

2、语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。2.课题题目公司考勤管理系统高校学籍管理系统高校工资管理系统高校人事管理系统文件加密管理系统3设计要求:设计课题题目:第5 个课题是扩展课题,有能力完成的同学可以选择。其余每位同学根据自己学号除以4 所得的余数加一选择相应题号的课题。换题者不记成绩。根据自己对应的课题完成以下主要工作:完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。完成系统总体设计: 包括系统功能分析; 系统功能模块划分与设计(系统功

3、能模块图)。完成系统详细设计: 包括数据库需求分析; 类层次图;界面设计与各功能模块实现。系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻页脚页眉辑问题修改和调整。使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。关键源程序(带注释)按规定格式完成课程设计报告,将其打印稿(A4 纸)上交给老师存档。不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。二、进度安排第周星期时:分时:分星期时:分时:分星期时:分时:分星期时:分时:分页脚页眉课题 2:高校学籍管理系统(一)、课程设计题目:高校学籍管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟

4、练掌握C+ 语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求:(1)要求利用面向对象的方法以及C+ 的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统的设计中,至少要用到面向对象的一种机制。3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。4、写出设计说明书(三)、设计方法和基本原理:页脚页眉1、问题描述(功能要求):( 1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。( 2)能够将指定的信息从文件中删除。( 3)能够按

5、编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。( 4)可以统计全部学生的总成绩,及其在班上的排名。( 5)能够统计各科的平均成绩及及格率。( 6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。( 7)如果检索不到相应的信息应提示用户。( 8)扩展要求:能先行设置本学期的科目每个学生信息应该包括:姓名、学号、成绩成绩信息应该包括:科目数量、各科目名称、各科目成绩2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:( 1)写出需求分析(做什么) ;( 2)分析系统中的各个实体之间的关系及其属性和行为;( 3)根据问题描述,设计系统的类层次;( 4)完成类层

6、次中各个类的描述(包括属性和方法) ;( 5)完成类中各个成员函数的定义;( 6)用户界面的设计;( 7)分析系统功能模块(系统流程图) ;( 8)代码编写,功能调试;( 9)完成系统总结报告以及系统使用说明书。页脚页眉目录一、需求分析81.系统设计目的与意义82.系统功能需求(系统流程图)82.系统功能流程图93.输入输出的要求9二、总体分析101.系统功能分析102.系统功能结构图11三、详细设计121.类设计:12三、界面设计与各功能模块的实现131.界面设计13四、系统调试131.首页进入学籍管理系统主菜单132 录入学生信息界面:143.显示学生信息界面144.查找学生信息界面155

7、.删除学生信息界面156.统计学生信息:17五、使用说明及心得体会17六、附件18页脚页眉一、需求分析1.系统设计目的与意义要求用 C+ 面向程序设计语言编写一高校学籍管理系统,1、目的:1)要求学生达到熟练掌握C+ 语言的基本知识和技能;2)基本掌握面向对象程序设计的基本思路和方法;3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2. 系统设计的意义:系统要能够对相应的数据进行很好的测试, 系统的统计对每一科的总成绩, 平均成绩,及格律都进行了统计;系统数据的录入 除可以手工录入外,还可以采用文件的录入;系统统计学生的基本信息较全面,包括学号,姓名,性别,成绩;程序中查找运

8、用了两种查找方式即学号查找和姓名查找。2.系统功能需求( 系统流程图)1.要求完成以下功能:1) 能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。2) 能够将指定的信息从文件中删除。3) 能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。4) 可以统计全部学生的总成绩,及其在班上的排名。5) 能够统计各科的平均成绩及及格率。6) 要求有错误提示功能,例如性别只能输入 nan,nv ,输入错误提示重新输入。7) 如果检索不到相应的信息应提示用户。页脚页眉2.系统功能流程图主程序初菜始单化程程序序录显查删修统保退入示找除改计存出3.输入输出的要求1.输入的要求:通过主函数体调用

9、其他函数应用系统主控界面包括学生信息录入,查找等功能模块。 学生信息录入功能完成学生信息和成绩的输入。记录查询功能可以对数据各分类的记录进行查询。2.输出的要求:1) 能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。2) 可以统计全部学生的总成绩,及其在班上的排名。3) 能够统计各科的平均成绩及及格率。4) 如果检索不到相应的信息应提示用户页脚页眉二、总体分析1. 系统功能分析能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。能够将指定的信息从文件中删除。能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。可以统计全部学生的总成绩,及其在班上的排名。 能够统计各科

10、的平均成绩及及格率。要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。如果检索不到相应的信息应提示用户。页脚页眉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;

11、页脚页眉三、界面设计与各功能模块的实现1. 界面设计1.界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。2.功能模块实现设计通过主窗体调用其他窗体。 应用系统主控界面包括学生信息录入,查找等功能模块。 学生信息录入功能完成学生信息和成绩的输入。记录查询功能可以对数据各分类的记录进行查询。四、系统调试1.首页进入学籍管理系统主菜单页脚页眉2 录入学生信息界面:3.显示学生信息界面 :页脚页眉4.查找学生信息界面 :5.删除学生信息界面 :页脚页眉页脚页眉6.统计学生信息:五、使用说明及心得体会此次 c+ 课程设计,在指导教师的精心教导下,我们学会了如何用C+ 编写一个简单的应用程序。首

12、先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设页脚页眉计,最后是代码设计与调试。 程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。根据 C+ 课程所学的概念、理论和方法,按照C+ 程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+ 语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识, 提高实践能力和计算机的综合运用能力。好好打牢基础, 因为之前学的时候自己动手实践的比较少,到后面就比较吃力,所以还是要多练习。六、附件源文件代码:#include<iostream>#include <fstream>usi

13、ng 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<<"学 生 学 号 :"<<number<<"n"<<"学 生 姓 名

14、:"<<name<<"n"<<"学 生 性别 :"<<sex<<"n"<<" 学生科目数量 :"<<shuliang<<endl; for(int i=0;i<shuliang;i+)cout<<pi<<"的成绩为 :"<<fenshui<<endl;cout<<"总成绩为 :"<<sum<

15、;<endl;cout<<"平均成绩为 :"<<average<<endl;void Book(int n)cout<<"学生学号 :" cin>>number;cout<<"学生姓名 :" cin>>name;cout<<"学生性别 :" cin>>sex;while(1)if(strcmp(sex,"nan")=0|strcmp(sex,"nv")=0)bre

16、ak;elsecout<<"输入有误,请重新输入:"<<endl;cin>>sex;/*cout<<" 请输入本学期科目数量 :" / 通过数量确定课程 cin>>shuliang;for(i=0;i<shuliang;i+)页脚页眉cout<<"请输入科目 "<<i+1<<" 的名称 "<<endl;cin>>pi;cout<<"请输入科目 "<<

17、;i+1<<" 的成绩 "<<endl;cin>>fenshui;*/while(1)/ 通过课程确定数量char a;int b;for(i=0,b=0;i+)cout<<"请输入科目 "<<i+1<<" 的名称 "<<endl;cin>>pi;cout<<"请输入科目 "<<i+1<<" 的成绩 "<<endl;cin>>fenshui;

18、b+;cout<<"是否继续输入?(Y/N)"<<endl;cin>>a;if(a='Y'|a='y')continue;elseshuliang=b;break;break;/*virtual void Save(fstream &f)/ 保存到文件f 中f<<number<<" "<<name<<" "<<sex<<" "<<fenshu<<

19、" "<<shuliang<<" "<<average<<" "<<sum<<endl;virtual void Load(fstream &f)/ 从文件 f 中导出数据f>>number>>name>>sex>>fenshu>>shuliang>>average>>sum;*/;xinxi d100;页脚页眉xinxi v100;/ 输入学生信息void BookIn(

20、)while(1)cout<<"*"<<endl;cout<<"*"<<endl;cout<<"请输入学生信息:"<<endl;ddi.Book(num+);di+;for(int j=0;j<di;j+)/ 计算总成绩和平均成绩float s=0;for(int i=0;i<dj.shuliang;i+)s=s+dj.fenshui;dj.sum=s;dj.average=dj.sum/dj.shuliang;cout<<"是否

21、继续输入:Y 继续、其他退出"<<endl;char x;cin>>x;if(x!='y' && x!='Y')break;/ 删除学生信息void BookOut()int i;while(1)int c;cout<<"*"<<endl;cout<<"*"<<endl;cout<<"请输入您要删除的学生学号:"<<endl;cin>>c;页脚页眉for(i=0;i<

22、;di;i+)if(c=di.number)di=d-di;cout<<"删除成功 !"<<endl;elsecout<<"输入错误 !"<<endl;system("PAUSE");cout<<"是否继续删除:Y 继续、其他退出"<<endl;char x;cin>>x;if(x!='y' && x!='Y')break;/ 学生信息查询void Inquiry()while(1)c

23、out<<"*"<<endl;cout<<"*"<<endl;cout<<"1、按学号查询"<<endl;cout<<"2、按姓名查询"<<endl;cout<<"请输入您的选择: ?"<<endl;int c;int test;cin>>c;if(c=1)cout<<"请选择要查询学号:"int a;cin>>a;for

24、(int i=0;i<di;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;cout<<"请选择要查询的姓名:"cin>>c;for(int i=0;i<di;i+)if(strcmp(c,)=0)test=1;break;elset

25、est=0;if(test=0)cout<<"没有这个学生!"<<endl;system("PAUSE");else if(test=1)di.Show();else页脚页眉cout<<"输入错误 !"<<endl;system("PAUSE");cout<<"是否继续查询:Y 继续、其他退出"<<endl;char x;cin>>x;if(x!='y' && x!='Y&

26、#39;)break;/ 显示学籍信息void Display()for(int i=0;i<di;i+)di.Show();cout<<"n"<<endl;void Paixu()int i,k;int tempsum;char tempname10;for(i=0;i<di;i+)strcpy(,);vi.sum=di.sum;for(i=0;i<di-1;i+)for(k=i+1;k<di;k+)if(vi.sum<vk.sum)strcpy(tempname,);strc

27、py(,);strcpy(,tempname);tempsum=vi.sum;页脚页眉vi.sum=vk.sum;vk.sum=tempsum;for(i=0;i<di;i+)cout<<"第 "<<i+1<<" 名:"<<<<""<<" 总成绩 :"<<vi.sum<<"分 "<<endl;system("PAUSE

28、");void Danke()for(int j=0;j<dj.shuliang;j+)float sum=0;for(int i=0;i<di;i+)sum=sum+di.fenshuj;vj.aver=sum/di;cout<<dj.pj<<"的平均分为 :"<<vj.aver<<endl;system("PAUSE");for(int m=0;m<dm.shuliang;m+)float k=0;for(int i=0;i<di;i+)if(di.fenshum>

29、;=60)k+;vm.jigelv=k/di;cout<<dm.pm<<"的及格率为 :"<<vm.jigelv<<endl;system("PAUSE");/*void FileLoad()/ 信息读取函数页脚页眉int i;fstream file;file.open("mydata.dat", ios:in);/ 打开保存数据的文件if(!file)return;/ 文件不存在则直接返回file>>di;/ 读入for(i=0;i<di;i+)di.Load(file);file.close();/ 文件关闭void FileSave()/ 信息保存函数int i;fstream file;file.open("mydata.dat", ios:out);/ 打开保存数据的文件file<<di<<endl;/ 记录for(i=0;i<di;i+)/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论