面向对象课程设计报告.doc

上传人:飞****2 文档编号:66771880 上传时间:2022-12-21 格式:DOC 页数:16 大小:224KB
返回 下载 相关 举报
面向对象课程设计报告.doc_第1页
第1页 / 共16页
面向对象课程设计报告.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《面向对象课程设计报告.doc》由会员分享,可在线阅读,更多相关《面向对象课程设计报告.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、面向对象课程设计报告课程设计题目: 宿舍管理系统 学 生 姓 名: 肖 莹 专 业: 计算机应用技术班 级: 学 号: 5指 导 教 师: 阳红星 2014年 1月1日 面向对象课程设计报告1.程序设计内容及要求1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:A.采用交互工作方式B.建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)2)查询菜单: (用二分查找实现以下操作)A.按姓名查询 B.按学号查询 C.按房号查询3)打印任一查询结果(可以连续操作)2、课程设计的目的了解面向对象的核心概念以及对象的具体含义,熟悉用面向对象去编

2、程,掌握面向对象的编程环境并充分利用。3、方法设计与论证构思流程图:4、算法说明主要有主菜单函数,插入功能子菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排序函数,插入函数以及查找函数。在每个区域中会调用不同的函数来实现主要的功能。比如,在学生显示这个功能里调用显示函数;在插入功能里调用子菜单函数;在显示信息时调用排序函数先对需要输出的信心进行排序,然后再输出;在查找功能里会调用查找函数来进行查找,包括按照班级,学号,姓名,宿舍号等查询。5、设计代码#include #include #include #include using namespace std;class stude

3、ntprivate: long int stu_num; /学号,宿舍号 char stu_name10; /姓名 char class_name10; /班别char house_name10; /宿舍public: student() stu_num=0; stu_name0 =0; class_name0 =0; house_name0 =0;student:student(long a, char * b,char *c,char *d) Setdata(a , b, c, d); char * Getstuname(void) /姓名查找 return stu_name ;long

4、Getstunum(void) /学号查找 return stu_num;char * Gethousename(void) /宿舍号查找 return house_name;char * Getclassname(void) /按班级查找 return class_name;void Setdata(long a, char *b,char *c,char *d) stu_num = a; strcpy(stu_name, b); strcpy(class_name, c); strcpy(house_name, d);void Show(void) cout学号:stu_numt姓名:st

5、u_namet; cout班级号:class_namett宿舍号:house_namen;void main(void)student s1;int flags=0; long stu_num; /学号 char stu_name40; /姓名 char class_name40; /班级 char house_name20; /宿舍time_t t; time(&t); ifstream file1; ofstream file3; char flag = y; cout -学生成绩管理系统-endl; while( flag=y | flag=Y) cout-n; couttt 1: 已

6、经 注 册 学 生! nn; couttt 2: 通 过 学 号 查 看 学 生 信 息! nn; couttt 3: 通 过 宿 舍 号 查 看 学 生 信 息! nn; couttt 4: 通 过 姓 名 查 看 学 生 信 息! nn; couttt 5: 通 过 班 级 查 看 学 生 信 息! nn; couttt 6: 显 示 全 部 学 生 信 息! nn; couttt 7: 通 过 学 号 修 改 学 生 信 息! nn; couttt 8: 通 过 学 号 删 除 学 生 信 息! n; cout-n; coutchoice; switch(choice) case 1:

7、file3.open(c:stu.dat,ios:app|ios:binary);input: flags=0; coutstu_num; while(!file1.eof() int n; file1.read(char *)&s1,sizeof(student); n=file1.gcount(); if(n=sizeof(student) if(s1.Getstunum()=stu_num) flags=1; file1.clear(); file1.close(); if (flags=1) cin.clear(); cout 学号重复,请重输入! endl; goto input;

8、coutstu_name; coutclass_name; couthouse_name; s1.Setdata(stu_num,stu_name,class_name,house_name); file3.write(char*)&s1,sizeof(s1); file3.clear(); file3.close(); break; case 2: /按学号查找 coutstu_num; while(!file1.eof() int n; file1.read(char *)&s1,sizeof(student); n=file1.gcount(); if(n=sizeof(student)

9、 if(s1.Getstunum()=stu_num) /显示学生信息 s1.Show(); flags=1; file1.clear(); file1.close(); if (flags=0) cout 对不起,没有找学号为: stu_num 的学生记录! endl; flags=0; break; case 3: /按宿舍号查找 couthouse_name; file1.open(c:stu.dat,ios:in | ios:binary | ios:beg);/按读方式打开文件 while(!file1.eof() int n; file1.read(char *)&s1,sizeo

10、f(student); n=file1.gcount(); if(n=sizeof(student) if(strcmp(s1.Gethousename(),house_name)=0) s1.Show(); flags=1; file1.clear(); file1.close(); if (flags=0) cout 对不起,没有找到宿舍为: house_name 的学生记录! endl; flags=0; break; case 4: /按姓名查找 coutstu_name; file1.open(c:stu.dat,ios:in | ios:binary | ios:beg);/按读方

11、式打开文件 while(!file1.eof() int n; file1.read(char *)&s1,sizeof(student); n=file1.gcount(); if(n=sizeof(student) if(strcmp(s1. Getstuname(),stu_name)=0) s1.Show(); flags=1; file1.clear(); file1.close(); if (flags=0) cout 对不起,没有找到姓名为: stu_name 的学生记录! endl; flags=0; break; case 5: /按班级查找 coutclass_name;

12、file1.open(c:stu.dat,ios:in | ios:binary | ios:beg);/按读方式打开文件 while(!file1.eof() int n; file1.read(char *)&s1,sizeof(student); n=file1.gcount(); if(n=sizeof(student) if(strcmp(s1. Getclassname(),class_name)=0) s1.Show(); flags=1; file1.clear(); file1.close(); if (flags=0) cout 对不起,没有找到班级为: class_nam

13、e 的学生记录! endl; flags=0; break; case 6: /显示全部学生信息 file1.open(c:stu.dat,ios:in | ios:binary);/按读方式打开文件 while(!file1.eof() int n; file1.read(char *)&s1,sizeof(student); n=file1.gcount(); if(n=sizeof(student) s1.Show(); flags=1; file1.clear(); file1.close(); if (flags=0) cout 对不起,没有该记录! endl; flags=0; break; default: flag = n; break; 7、运行截图6、课程设计心得通过此次的面向对象课程设计,知道了面向对象的核心概念就是数据封装、继承和多态性,了解了对象的含义就是将某组数据和使用该组数据的一组基本操作封装在一起,而成的一个实体。并且更加熟悉了面向对象的编程环境。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁