当前位置:文档之家› 面向对象程序设计课程设计-高校学籍管理系统

面向对象程序设计课程设计-高校学籍管理系统

课程设计报告课程名称面向对象程序设计课题名称高校学籍管理系统专业通信工程班级通信工程0801学号姓名指导教师2010年01 月16日湖南工程学院课程设计任务书课程名称面向对象程序设计课题高校学籍管理系统专业班级通信工程0801学生姓名学号************指导老师审批任务书下达日期2009年12 月29 日任务完成日期2010年01 月16 日《面向对象程序设计》课程设计任务书授课班级:通信工程0801/02 学时:3授课教师:一、课程设计报告规范(包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等)。

(一)需求分析系统设计目的与意义系统功能需求(系统流程图);输入输出的要求;(二)总体设计系统功能分析;系统功能模块划分与设计(系统功能模块图)。

(三)详细设计数据库需求分析数据库概念结构设计(E-R图);数据库逻辑结构设计。

类层次图(四)界面设计与各功能模块实现(五)系统调试调试问题出现的主要问题:编译语法错误及修改,重点是运行逻辑问题修改和调整(六)使用说明及编程体会说明如何使用你编写的程序,详细列出每一步的操作步骤。

(七)关键源程序(带注释)二、书写格式1、设计报告要求用A4纸打印成册;2、标题为:黑体三号,正文为:宋体五号。

三、答辩与评分标准:1、完成基本功能:40分;2、设计报告及使用说明书:40分;3、设置错误或者按照要求改变结果:10分;4、回答问题:10分。

四、教材及参考书朱战立等著, C++面向对象程序设计,人民邮电出版社;郑莉著, C++ 语言程序设计(含实验指导书)。

清华大学出版社 ( 结构化程序设计部分 ) 钱能主编 ,C++ 程序设计教程,清华大学出版社, 2000.11戴锋编著, Visual C++ 程序设计基础 , 清华大学出版社 ,2001.4吕日著, C++ 程序设计教程,清华大学出版社,C++ 大学教程,美国 Harvey M.Deitel 等五、课程设计时间安排1、班级:通信工程0801/022、指导教师:雷晓3、时间安排:上机时间:十九周周一下午14:00-18:00周二下午14:00-18:00十九周周三上午08:00-12:00附:选题方案:所选题目根据学生学号确定,学号模6加1,即(学号%6+1)。

如你的学号为17,则所选题目号为:17%6+1==6(题目6)。

六、设计项目:题目3:高校学籍管理系统(一)、课程设计题目:高校学籍管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

4、写出设计说明书(三)、设计方法和基本原理:1、功能要求要求完成以下功能:1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。

2)能够将指定的信息从文件中删除。

3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

4)可以统计全部学生的总成绩,及其在班上的排名。

5)能够统计各科的平均成绩及及格率。

6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。

7)如果检索不到相应的信息应提示用户。

2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:a) 写出需求分析(做什么)b) 分析系统中的各个实体之间的关系及其属性和行为;c) 根据问题描述,设计系统的类层次;d) 完成类层次中各个类的描述(包括属性和方法);e) 完成类中各个成员函数的定义;f) 用户界面的设计g) 分析系统功能模块(系统流程图)h) 代码编写i) 功能调试;j) 完成系统总结报告以及系统使用说明书。

目录一、需求分析 (7)1.系统设计目的与意义 (7)2.系统功能需求(系统流程图) (7)2.系统功能流程图 (8)3.输入输出的要求 (8)二、总体分析 (9)1.系统功能分析 (9)2.系统功能结构图 (9)三、详细设计 (10)1.类设计: (10)三、界面设计与各功能模块的实现 (12)1.界面设计 (12)四、系统调试 (14)1.首页进入学籍管理系统主菜单 (14)2录入学生信息界面: (14)3.显示学生信息界面 (15)4.查找学生信息界面 (15)5.删除学生信息界面 (16)6.修改学生信息 (16)7.统计学生信息: (17)五、使用说明及心得体会 (18)六、附件 (19)一、需求分析1.系统设计目的与意义要求用C++面向程序设计语言编写一高校学籍管理系统,1、目的:1)要求学生达到熟练掌握C++语言的基本知识和技能;2)基本掌握面向对象程序设计的基本思路和方法;3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2.系统设计的意义:系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进行了统计;系统数据的录入除可以手工录入外,还可以采用文件的录入;系统统计学生的基本信息较全面,包括学号,姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、计算机的成绩;程序中查找运用了两种查找方式即学号查找和姓名查找。

2.系统功能需求(系统流程图)1.要求完成以下功能:1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。

2)能够将指定的信息从文件中删除。

3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

4)可以统计全部学生的总成绩,及其在班上的排名。

5)能够统计各科的平均成绩及及格率。

6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。

7)如果检索不到相应的信息应提示用户。

2.系统功能流程图3.输入输出的要求1.输入的要求:通过主函数体调用其他函数应用系统主控界面包括学生信息录入,查找等功能模块。

学生信息录入功能完成学生信息和成绩的输入。

记录查询功能可以对数据各分类的记录进行查询。

2.输出的要求:1)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

2)可以统计全部学生的总成绩,及其在班上的排名。

3)能够统计各科的平均成绩及及格率。

4)如果检索不到相应的信息应提示用户二、总体分析1.系统功能分析能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。

能够将指定的信息从文件中删除。

能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

可以统计全部学生的总成绩,及其在班上的排名。

能够统计各科的平均成绩及及格率。

要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。

如果检索不到相应的信息应提示用户。

2.三、详细设计1.类设计:类:student数据成员编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩,计算机成绩class student{protected:int number; //学号char name[20]; //姓名char sex[6]; //性别char place[20]; //籍贯char nation[6]; //民族char birth[20]; //出生日期char party[10]; //政治面貌char id[20]; //身份证号float score[3]; //成绩类:school成员函数录入函数input():逐步输入学生信息;修改函数mend():按姓名或编号修改学生信息;统计函数count():统计各科的总成绩,计算平均成绩,统计各科的及格率;查找函数found():按学号或姓名查找学生的记录;修改函数mend():修改指定学号学生成绩记录;删除函数del():删除指定学号学生记录;输出函数show():输出班级所有学生成绩记录;class school{void input(); //录入函数void mend(); //修改函数void del(); //删除函数int find(student **p,int num,char *pn="^"); //子查找函数void found(); //查找函数void show(); //显示函数void count(); //统计函数void save(); //保存函数void begin(); //初始化函数void clear(); //清空函数char mainmenu(); //主菜单函数具体如下图所示:三、界面设计与各功能模块的实现1.界面设计1.界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。

2.功能模块实现设计通过主窗体调用其他窗体。

应用系统主控界面包括学生信息录入,查找等功能模块。

学生信息录入功能完成学生信息和成绩的输入。

记录查询功能可以对数据各分类的记录进行查询。

具体举例如下:1)查找函数:void school::found(){student *p;int num=-1,n=9;char name[20]="^";do{cout<<"1:按编号查找,2:按姓名查找: ";cin>>n;}while(n<1||n>2);if(n==1){cout<<"请输入编号: ";cin>>num;}if(n==2){cout<<"请输入姓名: ";cin>>name;}if(!find(&p,num,name) ){cout<<"SORRY!找不到你要查找的内容!"<<endl; return;}(p->next)->output();}2)删除函数void school::del(){student *p,*p2;int num;cout<<"请输入编号: ";cin>>num;if( !find(&p,num,"^") ){cout<<"SORRY!找不到你要删除的内容!"<<endl; return;}(p->next)->output();p2=p->next;p->next=p2->next;delete p2;school::setkey(1);}四、系统调试1.首页进入学籍管理系统主菜单2录入学生信息界面:3.显示学生信息界面:4.查找学生信息界面:5.删除学生信息界面:6.修改学生信息:7.统计学生信息:五、使用说明及心得体会此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。

相关主题