2022年c宿舍管理完整实现.docx
《2022年c宿舍管理完整实现.docx》由会员分享,可在线阅读,更多相关《2022年c宿舍管理完整实现.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源河南工业高校计科 0906马飞扬依据本报告,可完全实现建立运行宿舍治理系统,这是我c+的课程设计;1:工程结构初始信息:2:源代码main.cpp:#include/ 预编译语句#include/ #include/ #include/using namespace std;/ #includeshow.h/ 文件包含语句#includeshow2.h/#includedenglu.h/ #includejianlixinxi.h/ #includechaxun.h/ #includexiugai.h/ #includeshanchu.h/ #includehuizong.h/ #
2、includexiumima.h/ #includezhuce.h/ #includeweisheng.h/ void mainint choice=0 ;/ 记录选择denglu ;/输入登录信息show;/显示菜单 cinchoice ;whilechoice.=0/ 循环输入选择switchchoicecase 1:jianli ;break;/ 建立宿舍信息case 2:chaxun;break;/ 查询同学信息case 3:huizong ;break;/宿舍信息汇总case 4:xiugai ;break;/修改同学信息case 5:zhuce;break; /添加同学信息case
3、 6:shanchu;break;/删除同学信息欢迎下载精品学习资源case 7:weisheng; break;/ 宿舍卫生评比case 8:xiumima ;break;/修改登录信息case 0:break;default:cout 您按错了 .choice ;chaxun.h:void chaxueint renshu ;/ 按学号查询void chabanint renshu ;/ 按班级查询void chasuint renshu ;/按宿舍查询struct student2/ 定义储备信息的结点结构char name20 ;char number20 ;char banji20
4、; int sushehao; ;student2 array1100 ;/ 定义储备信息的线性结构数组void chaxunstudent2 p;/帮忙结点变量int choice=0 ;int renshu=0 ;ifstream fin2 同学信息 .txt ;if.fin2couterror.p.namep.numberp.banjip.sushehao ;renshu+ ;renshu-;fin2.close ;cout1: 按学号查询 ;coutttt 2: 按班级查询 n ;cout3: 按宿舍查询 n ;coutchoice ;whilechoice.=0/ 循环操作欢迎下载精
5、品学习资源switchchoicecase 1:chaxuerenshu;break;case 2:chabanrenshu;break;case 3:chasurenshu;break;case 0:break;default:cout 您输错了 .endl ;break;coutchoice ;cout 已退出 .endl ;show2;/ 显示主菜单void chaxueint renshustudent2 p;int i=0 ;char xuehao20 ;coutxuehao ;/ 输入查询的学号ifstream fin1 同学信息 .txt ;if.fin1couterror.en
6、dl ;exit0 ;forint j=0 ;jp.namep.numberp.banjip.sushehao ;if.strcmpp.number,xuehao/ 找到相关信息后进行输出cout 姓名 :p.namett学号 :p.numberendl ;cout 班级 :p.banjitt宿舍号 :p.sushehaoendl ;i+ ;break;fin1.close ;ifi=0cout 没有该生信息 .endl ;欢迎下载精品学习资源void chabanint renshu/ 实现细节类似上个函数student2 p;int i=0 ;char banji20 ;coutbanji
7、 ;ifstream fin1 同学信息 .txt ;if.fin1couterror.endl ;exit0 ;forint j=0 ;jp.namep.numberp.banjip.sushehao ;if.strcmpp.banji,banjicout 姓名 :p.namett学号 :p.numberendl ;cout 班级 :p.banjitt宿舍号 :p.sushehaoendl ;i+ ;fin1.close ;ifi=0cout 没有该班同学信息.endl ;void chasuint renshu/ 实现细节类似上个函数student2 p;int i=0 ;int sush
8、ehao;coutsushehao;ifstream fin1 同学信息 .txt ;if.fin1couterror.endl ;exit0 ;forint j=0 ;jp.namep.numberp.banjip.sushehao ;ifp.sushehao=sushehaocout 姓名 :p.namett学号 :p.numberendl ;cout 班级 :p.banjitt宿舍号 :p.sushehaoendl ;i+ ;fin1.close ;ifi=0cout 该宿舍无人入住 .endl ;denglu.h:void dengluchar yonghu120 ;/储备用户输入的登
9、录信息char mima110 ;/char yonghu220 ;/储备当前系统设定的登录信息char mima210 ;/coutyonghu1 ;coutmima1 ;ifstream fin1 登录信息 .txt ;if.fin1couterror.yonghu2mima2 ;fin1.close ;ifstrcmpyonghu1,yonghu2|strcmpmima1,mima2/判定是否为合法用户cout 用户名或密码错误.endl ;exit0 ;huizong.h:void huizong欢迎下载精品学习资源char louhao20 ;int loucheng=0;int f
10、angjian=0 ;int rongliang=0 ;int i=0 ;/记录宿舍楼的基本信息student2 array4100 ;/ 储备宿舍楼的全部同学信息int susheshu=0;int renshu=0 ;/记录宿舍楼已入住的宿舍数及总入住人数ifstream fin 同学信息 .txt ;if.fincouterror.array4renshu.namearray4renshu.numberarray4renshu.banjiarray4rens hu.sushehao;renshu+ ;renshu-;/记录入住人数fin.close ;ifrenshu.=0sushesh
11、u+;/fori=1 ; irenshu;i+/ 运算已入住的宿舍个数ifarray4i.sushehao.=array4i-1.sushehaosusheshu+;ifstream fin1 宿舍信息 .txt ;if.fin1couterror.louhao ;/宿舍楼编号fin1loucheng ;/楼层个数fin1fangjian ;/ 每层房间数fin1rongliang ;/ 房间容量fin1.close ;coutlouhao 宿舍楼信息汇总 :endl ;cout 已入住 :renshu 名同学 ;/输出已入住的人数couttt 剩余容纳量 :loucheng*fangjian
12、*rongliang-renshuendl;/剩余容纳量欢迎下载精品学习资源cout 空房间数 :loucheng*fangjian-susheshuendl ;/ 空房间数show2;/ 显示主菜单jianlixinxi.h:struct student/ 储备同学信息的单链表结点储备结构char name20 ;char number20 ;char banji20 ; int sushehao;student*next ; ;struct sushe/储备各房间信息的单链表头结点int renshu;student*next ; ;void jianliint choice ;coutc
13、hoice ;/ifchoiceofstream fout3 ;fout3.open 同学信息 .txt ;if.fout3couterrorendl ;exit0 ;fout3.eof ;/ 格式化当前记录的同学信息fout3.close;char louhao20 ;int loucheng ;int fangjian ;int rongliang ;/ 储备宿舍楼基本信息coutlouhao ;/coutloucheng ;/coutfangjian ;/coutrongliang ;/ofstream fout1 宿舍信息 .txt ;欢迎下载精品学习资源if.fout1couterr
14、or.endl ;exit0 ;欢迎下载精品学习资源fout1louhaoendl ;/ 输入到文件fout1louchengendl ;/ fout1fangjianendl ;/ fout1rongliangendl ;/ fout1.close ;forint i=0 ;iloucheng ;i+/ 按楼层数逐个建立每层信息sushe*lou=new sushefangjian ;/定义储备每层信息的线性结构forint j=0 ;jfangjian ;j+/ 对该线性结构进行初始化louj.renshu=0 ;/ louj.next=NULL;/欢迎下载精品学习资源1 ): ;stud
15、ent*p=NULL ;/ 帮忙结点变量p=new student;cout 第i+1 层信息(宿舍号 -1 进入下一层) :endl ;cout宿 舍 号 ( i+1*100p-sushehao;/输入宿舍号以进行下面的操作whilep-sushehao.=-1欢迎下载精品学习资源否已满入sushe*q=NULL ;coutp-name ;coutp-number ;coutp-banji ;ifloup-sushehao%100.renshusushehao%100.renshu=0/空房间直接插loup-sushehao%100.next=p ;p-next=NULL ;loup-sus
16、hehao%100.renshu+ ;欢迎下载精品学习资源欢迎下载精品学习资源else/非空房间先找到链表尾结点再进行插入欢迎下载精品学习资源sushehao%100.renshu-1; m+q=loup-sushehao%100.next ;forintm=0;mnext ;q-next=p ;p- next=NULL ;loup-sushehao%100.renshu+ ;欢迎下载精品学习资源else/房间已满输入无效cout 该宿舍已满 ,此次输入无效 .endl ;p=new student;coutp-sushehao;ifp-sushehao=-1/ 退出本层信息输入后输入本层信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 宿舍 管理 完整 实现
限制150内