




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.面向对象课程设计报告课程设计题目: 宿舍管理系统 学 生 姓 名: 肖 莹 专 业: 计算机应用技术班 级: 1240301学 号: 201240030145指 导 教 师: 阳红星 2014年 1月1日 面向对象课程设计报告1.程序设计内容及要求 1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求:A. 采用交互工作方式B. 建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)2) 查询菜单: (用二分查找实现以下操作)A. 按姓名查询 B. 按学号查询 C. 按
2、房号查询3) 打印任一查询结果(可以连续操作)2、课程设计的目的了解面向对象的核心概念以及对象的具体含义,熟悉用面向对象去编程,掌握面向对象的编程环境并充分利用。3、方法设计与论证构思流程图:4、算法说明 主要有主菜单函数,插入功能子菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排序函数,插入函数以及查找函数。在每个区域中会调用不同的函数来实现主要的功能。比如,在学生显示这个功能里调用显示函数;在插入功能里调用子菜单函数;在显示信息时调用排序函数先对需要输出的信心进行排序,然后再输出;在查找功能里会调用查找函数来进行查找,包括按照班级,学号,姓名,宿舍号等查询。
3、5、设计代码#include <iostream>#include <string>#include <fstream>#include <ctime>using namespace std;class studentprivate: 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_na
4、me0 =0;student:student(long a, char * b,char *c,char *d) Setdata(a , b, c, d); char * Getstuname(void) /姓名查找 return stu_name ;long Getstunum(void) /学号查找 return stu_num;char * Gethousename(void) /宿舍号查找 return house_name;char * Getclassname(void) /按班级查找 return class_name;void Setdata(long a, char *b,c
5、har *c,char *d) stu_num = a; strcpy(stu_name, b); strcpy(class_name, c); strcpy(house_name, d);void Show(void) cout<<"学号:"<<stu_num<<"t"<<"姓名:"<<stu_name<<"t" cout<<"班级号:"<<class_name<<"tt&qu
6、ot;<<"宿舍号:"<<house_name<<"n"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<< "-学生成绩管理系统-&q
7、uot;<<endl; while( flag='y' | flag='Y') cout<<"-n" cout<<"tt 1: 已 经 注 册 学 生! nn" cout<<"tt 2: 通 过 学 号 查 看 学 生 信 息! nn" cout<<"tt 3: 通 过 宿 舍 号 查 看 学 生 信 息! nn" cout<<"tt 4: 通 过 姓 名 查 看 学 生 信 息! nn" c
8、out<<"tt 5: 通 过 班 级 查 看 学 生 信 息! nn" cout<<"tt 6: 显 示 全 部 学 生 信 息! nn" cout<<"tt 7: 通 过 学 号 修 改 学 生 信 息! nn" cout<<"tt 8: 通 过 学 号 删 除 学 生 信 息! n" cout<<"-n" cout<<"请输入选择:" char choice; cin>>choice;
9、switch(choice) case '1': file3.open("c:stu.dat",ios:app|ios:binary);input: flags=0; cout<<"输入学号:" cin>>stu_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; file
10、1.clear(); file1.close(); if (flags=1) cin.clear(); cout << "学号重复,请重输入!" << endl; goto input; cout<<"输入姓名:" cin>>stu_name; cout<<"输入班级:" cin>>class_name; cout<<"输入宿舍:" cin>>house_name; s1.Setdata(stu_num,stu_name
11、,class_name,house_name); file3.write(char*)&s1,sizeof(s1); file3.clear(); file3.close(); break; case '2': /按学号查找 cout<<"请输入要查找学生的学号:" cin>>stu_num; while(!file1.eof() int n; file1.read(char *)&s1,sizeof(student); n=file1.gcount(); if(n=sizeof(student) if(s1.Gets
12、tunum()=stu_num) /显示学生信息 s1.Show(); flags=1; file1.clear(); file1.close(); if (flags=0) cout << "对不起,没有找学号为:"<< stu_num <<"的学生记录!" << endl; flags=0; break; case '3': /按宿舍号查找 cout<<"请输入要查找的宿舍号:" cin>>house_name; file1.open(&quo
13、t;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.Gethousename(),house_name)=0) s1.Show(); flags=1; file1.clear(); file1.close(); if (flags=0) cout << "对不起,没有找
14、到宿舍为:"<< house_name <<"的学生记录!" << endl; flags=0; break; case '4': /按姓名查找 cout<<"请输入要查找学生的姓名:" cin>>stu_name; file1.open("c:stu.dat",ios:in | ios:binary | ios:beg);/按读方式打开文件 while(!file1.eof() int n; file1.read(char *)&s1,si
15、zeof(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': /按班级查找 cout
16、<<"请输入要查找的班级名称:" cin>>class_name; 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
17、; file1.clear(); file1.close(); if (flags=0) cout << "对不起,没有找到班级为:"<< class_name <<"的学生记录!" << 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(); flag
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年内江市市级机关公开遴选考试真题
- 高频电感器制造工客户反馈处理考核试卷及答案
- 飞机装配工服务质量考核试卷及答案
- 激光头制造工工时利用效率考核试卷及答案
- 电线电缆金属导体挤制工消防疏散演练实效考核试卷及答案
- 2025春季中铁水务集团有限公司校园模拟试卷及完整答案详解1套
- 压缩天然气场站运行工职业健康技术规程
- 公司磁记录材料涂布工标准化技术规程
- 2025河南郑州市第六人民医院招聘高层次人才模拟试卷附答案详解(模拟题)
- 燃气用户安装检修工服务投诉解决率考核试卷及答案
- 2025年专转本计算机真题答案
- 江西省赣州市赣县区实验学校2025-2026学年高一上学期9月月考物理试题(含解析)
- 凿岩台车安全培训内容课件
- 初级招采人员考试(招标采购专业实务)试题库及答案(2025年全国)
- 机械拆除与人工拆除配合方案
- 2025鄂尔多斯市国源矿业开发有限责任公司社会招聘75人笔试参考题库附带答案详解
- 2025 改良Barthel指数(MBI)评定表 (可编辑)
- 动态血压监测结果解读
- 2025至2030银行贷款产业深度调研及前景趋势与投资报告
- 竞彩考试题目及答案
- 教科版(2024)科学二年级上册第一单元《造房子》测试卷(含答案)
评论
0/150
提交评论