




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、酒店管理系统C+源代码-仅供参考学习,切勿用于任何商业用途# include <iostream.h># include <fstream.h># include <process.h># include <string.h># include <stdlib.h># include <stdio.h># include <ctype.h># include <conio.h># include <dos.h>/*/*/ CLASS NAM
2、E : MENU/ DETAILS 一 需求分析 (1)顾客 1 查看房间信息(空房号,等级,床位数) 2 入住(房号,姓名,身份证) 3 退房(结账) (2) 管理员
3、 1 查看房间信息(空房号,房间状态,等级,床位数) 2 入住(房号,改变房间状态,登记人) 3 退房(结账,登记人) 二 实体 1 房间:
4、; 号码 c_room 等级 c_dank 床数 c_nbed 状态 c_statds 价格 c_rate 2 顾客: 身份证 id
5、; 人数 m 要求等级 r 入住房间 room /这个时候不知道是设计类还是功能模块三 程序流程1. 管理员登陆 2. 选择功能 1. 登记入住 void check_in();2. 退房
6、0; void check_out(); 3. 定房 void book();4. 订房 3. 管理员退出 四 功能模块 1 顾客模块 1)登记入住 1 输入人数m和房间等级要求r 2 按r搜索空房 再按m搜索
7、0; 3 如果有符合条件的显示 4 如果没有则给出优化方案 5 选择房间 6 给出每个人每天要付的费用dayrent
8、0; 7 登记个人信息 8 改变房间状态 2)退房 1 计算每人应付费用和总共费用 2 改变房间状态 &
9、#160; 3)订房 1 输入人数m 房间等级要求r 2 按r搜索空房 再按m搜索 3 如果有符合条件的显示 4 如果没有则给出优化方案 &
10、#160; 5 选择房间 2 管理员模块 1)登录系统 1 输入用户名和密码 2 检验密码 &
11、#160; 3 通过重新输入 2)登记入住(同上) 3)退房(同上) 4)订房(同上) 5)房间信息管理
12、; 1 显示空房及对应的等级空房 2 显示已订房号码及开始入住日期 : IT CONTROLS OVER ALL THE FUNCTIONS/*class menu
13、60; public : void main_menu(void); void startup(void);
14、0; void box(void); void line_hor(int, int, int, char); void line_ver(int, int, int, c
15、har);/*/ CLASS NAME : HKEEP/ DETAILS : IT CONTROLS OVER ALL FUNCTIONS/ RELATED TO HKEEP/*class
16、hkeep public : hkeep(void); hkeep(void);
17、 void add(void); void modify(void); void deletion(void);
18、160; void display_list(void); private : void display_record(int);
19、 int found_record(int); void delete_record(int); void modify_record(int);
20、 int recordno(int); int last_code(void); int code;
21、160; char name20,roomno10,order99;/*/ CLASS NAME : MENU/ FUNCTION NAME : LINE_HOR/ DETAILS : IT ACCEPTS THE ROWS AND CO
22、LUMNS AND/ DRAWS HORIZONTAL LINES/*void menu : line_hor(int column1, int column2, int row, char c) for(column1;column1<=column2;column1+)
23、 /gotoxy(column1,row); cout<<c; /*/ CLASS NAME : MENU/ FUNCTION NAME : LINE_VER/ DETAILS&
24、#160; : IT ACCEPTS ROWS AND COLUMNS AND/ DRAWS THE VERTICAL LINE/*void menu : line_ver(int row1, int row2, int column, char c) for(row1;row1<=row2;row1+)
25、60; gotoxy(column, row1); cout << c; /*/ CLASS NAME : MENU/ FUNCTION NAME : STARTUP/
26、;DETAILS : IT CREATES THE STARTING SCREEN/*void menu : startup(void)/ clrscr(); int i,j,s; char a = " H*O*T*E*L" char b = " M*A*N*A*G*E*M*E*N*T"
27、60; for(i=0;i<=79;i+) line_ver(1,25,i,179);/ gotoxy(1,11);clreol(); gotoxy(1,13);clreol(); j = 63; s = 100; for(i=1;i<=43;i+)
28、 sound(s); s = s+20; delay(50); gotoxy(1,12); clreol();
29、 gotoxy(i,12); cout<<b; gotoxy(j,12); cout<<a; j-; gotoxy(1,1);
30、0;/ nosound(); delay(100); char ch = 219; s = 500; for(i=0;i<=79;i+) sound(s);
31、160; s =s+10; gotoxy(i,10); cout<<ch; delay(5); nosound(); delay(200); ch = 219;
32、 s = 1290; for(i = 79; i>=1;i-) sound(s); s = s- 10; gotoxy(i,14); c
33、out<<ch; delay(5); nosound(); delay(1000); clrscr(); cout<<"nnnnnnnnnnnttttProject made by :"
34、char jklf="ABCDEF" cout<<"nntttttt" for(int u=0;u<7;u+) cout<<jklf; delay(80);
35、160; char jklf1=" GHIJK :" cout<<"ntttttt" for(int v=0;v<7;v+) cout<<jklf1v; delay(80);
36、60; char jklf2="" cout<<"ntttttt" for(int w=0;w<5;w+) cout<<jklf2w; delay(80);
37、0; delay(1100); /*/ CLASS NAME : MENU/ FUNCTION NAME : BOX/ DETAILS : IT CREATS BOX FOR
38、 THE MENU/*void menu : box(void) / line_hor(2,39,1,219); line_hor(2,39,24,219); line_ver(1,24,2,219); line_ver(1,24,39,219);/*/ CLASS NAME : MENU/ &
39、#160; FUNCTION NAME : MAIN_MENU/ DETAILS : IT CREATES MENU AND CONTROLS OTHER/ FUNCTION/*void menu : main_menu(void) &
40、#160; char ch; while (1) clrscr(); textmode(C40); clrscr(); box();
41、; gotoxy(12,5); cout<<" House Keeping " gotoxy(12,6); cout<<"-" gotoxy(12,10);
42、60; cout<<" 1 : Store Customer Order" gotoxy(12,11); cout<<" 2 : Display customer Order" gotoxy(12,12);
43、160; cout<<" 3 : Delete Order" gotoxy(12,13); cout<<" 4 : Modify Order" gotoxy(12,14); cout&
44、lt;<" 0 : Quit" gotoxy(11,18); cout<<" Enter your choice" ch = getch(); textmode(C80);
45、60; clrscr(); if ( ch = '1') hkeep d; d.add();
46、 else if ( ch = '2') hkeep d; d.displa
47、y_list(); else if ( ch = '3') hkeep d;
48、 d.deletion(); else if( ch = '4') hkee
49、p d; d.modify(); else if(ch = '0') break;
50、; /*/ CLASS NAME :HKEEP/ FUNCTION NAME : HKEEP (CONSTRUCTOR)/ DETAILS : IT IS A CONSTRUCTOR FUNCTION, GIVING/
51、60; DEFAULT VALUES/*hkeep : hkeep (void) code = 0; name0 = '0' roomno0 = '0' order0 = '0'/*/ CLASS NAME : HKEEP/
52、 FUNCTION NAME : HKEEP (DESTRUCTOR)/ DETAILS : IT IS A DESTRUCTOR FUNCTION/*hkeep : hkeep (void)/*/ CLASS NAME : HKEEP/ FUNCTION NAME : DISPLAY_LIST
53、/ DETAILS : IT DISPLAYS LIST OF THE PERSON'S/ RECORDS/*void hkeep: display_list(void) clrscr(); menu m; char *
54、t_name, *t1_name = NULL; gotoxy(3,5); cout<<" Enter the character(s) for selective list " gotoxy(3,6); cout<<" or press <ENTER> for whole list or '0' to exit : &qu
55、ot; gets(t_name); if (t_name0 = '0') return; int len = strlen(t_name); clrscr(); fstream file; file.open(&quo
56、t;HKFILE.IMR", ios : binary | ios : in); file.seekg(0, ios : beg); int row = 4; int found = 0; int pageno = 1; int flag = 1; char ch;
57、; gotoxy(1,2); cout<<" Order Serial No." m.line_hor(1,79,3,196); m.line_hor(1,79,24,196); while (file.read(char *)this , sizeof (hkeep)
58、60; flag = 1; for(int i=0;i<len;i+) t1_name = name; t1_namelen = '0' if(strcmpi(t_name, t1_name
59、) = 0) delay(200); found = 1; gotoxy(1,row);
60、0; cout<<code; gotoxy(7,row); puts(name); gotoxy(27,row);
61、 cout<<" Room no. :"<<roomno; gotoxy(27,row+1); cout<<" Order : "
62、; puts(order); if( row = 22) &
63、#160; flag = 0; row = 4; gotoxy(66,1); &
64、#160; cout<<" Page No. : "<<pageno; pageno+; gotoxy(1,25);
65、0; cout<<" Press <ESC> to exit or any key to continue. " ch = getch();
66、0; if(ch = 27) return ; clrscr();
67、0; gotoxy(1,2); cout<<" Order Serial No." m.line_hor(1,79,3,196);
68、60; m.line_hor(1,79,24,196); else
69、60; row = row + 2; if ( !found ) sound(500); delay(100);
70、160; nosound(); gotoxy(1,5); cout<<"Records not found" ; if (flag) gotoxy(66,1);
71、 cout<<"age No. : "<<pageno; gotoxy(1,25); cout<<"ress any key to continue." getch();
72、160; file.close();/*/ CLASS NAME : HKEEP/ FUNCTION NAME : DISPLAY_RECORD/ DETAILS : IT DISPLAYS SINGLE RECORD FOR THE/ &
73、#160; GIVEN RECORD/*void hkeep : display_record(int t_code) fstream file; file.open("HKFILE.IMR",ios : binary | ios:in); file.seekg(0,ios:beg); while( file.read(char *) this, sizeof(hkeep)
74、 if(t_code = code) gotoxy(3,3); cout<<"Order serial No.&q
75、uot;<<code; gotoxy(3,5); cout<<"Name : " puts(name);
76、60; gotoxy(3,6); cout<<"Room No. : "<<roomno; gotoxy(3,7);
77、160; gotoxy(3,7); cout<<"Order : " puts(order); break;
78、 file.close();/*/ CLASS NAME : HKEEP/ FUNCTION NAME : LAST_CODE/ DETAILS
79、; : IT COUNTS THE RECORD IN THE FILE AND/ RETURNS THE LAST CODE/*int hkeep : last_code() fstream file; file.open("HKFILE.IMR",ios : binary | ios:in);
80、0; file.seekg(0,ios:beg); int t=0; while(file.read(char*) this, sizeof(hkeep) t+; file.close(); return t;/*/ CLASS NAME : H
81、KEEP/ FUNCTION NAME : FOUND_RECORD/ DETAILS : IT RETURNS THAT RECORD IS FOUND FOR THE/ GIVEN CODE NO. OR NOT/*int hkeep : found_record(int
82、 t_code) fstream file; file.open("HKFILE.IMR", ios : binary | ios : in ); file.seekg(0,ios:beg); int found = 0; while(file.read(char *) this, sizeof(hkeep)
83、160; if(t_code = code) found+; break;
84、60; file.close(); return found;/*/ CLASS NAME : HKEEP/ FUNCTION NAME : ADD/ DETAILS : IT ADDS TH
85、E RECORD IN THE HKEEP'S FILE/*void hkeep : add(void) menu m; int valid, saved=0 ; int t_code; t_code = last_code(); t_code+; if(t_code = 1)
86、 code = t_code; strcpy(name,"abc"); strcpy(roomno,"-"); strcpy(order,"xyz");
87、 fstream file; file.open("HKFILE.IMR", ios : binary | ios : app); file.write(char *)this, sizeof(hkeep); file.close(); de
88、lete_record(t_code); char ch; do clrscr(); gotoxy(3,3); cout<<"Order seria
89、l No."<<t_code; gotoxy(3,5); cout<<"Name : " gotoxy(3,6); cout<<"Room no. : "
90、 gotoxy(3,7); gotoxy(3,7); cout<<"Order : " m.line_hor(1,79,23,196); do
91、; valid = 1; gotoxy(1,25);clreol(); gotoxy(3,25);
92、; cout<<"ENTER THE NAME OF THE PERSON" gotoxy(13,5); gets(name);
93、160; strupr(name); if(strlen(name) > 19 | strlen(name) = 0) valid = 0;
94、60; sound(500); delay(100); nosound();&
95、#160; gotoxy(1,25); clreol(); gotoxy(1,24); &
96、#160;cout<<"LENGTH SHOULD NOT BE BLANK OR GREATER THAN 19 " gotoxy(1,25); cout<<"ress any key t
97、o continue . " getch(); gotoxy(1,24); clreol();
98、; gotoxy(1,25); clreol(); gotoxy(13,5); clreol(); while(!valid);
99、; do valid = 1; gotoxy(1,25); clreol(); gotoxy(3,25);
100、160; cout<<"ENTER THE ROOM NO. OF THE CUSTOMER, <ENTER> FOR BLANK" gotoxy(13,6); gets(roomno
101、); while(!valid); if(strlen(roomno) = 0) strcpy(roomno,"-"); do
102、 valid = 1; gotoxy(1,25); clreol(); gotoxy(3,25);
103、cout<<"ENTER THE ORDER OF THE CUSTOMER" gotoxy(13,7); gets(order); if(strlen(order) >99
104、160; | strlen(order) = 0) valid = 0; sound(500);
105、0; delay(100); nosound(); gotoxy(1,25);
106、 clreol(); gotoxy(1,24); cout<<"SHOULD NOT BE BLANK OF GREATER THAN 99"
107、160; gotoxy(1,25); cout<<"Press any key to continue. " g
108、etch(); gotoxy(1,24); clreol(); gotoxy(1,25); clreol();
109、160; gotoxy(13,10); clreol(); while(!valid); gotoxy(1,25); clreol(); gotoxy(1,23); clreol(); &
110、#160; gotoxy(1,13); cout<<"Do you want to save the record (y/n) : " do valid
111、 = 1; gotoxy(41,13); ch = getche(); ch = toupper(ch);
112、60; if(ch != 'Y' && ch != 'N') valid = 0;
113、60; sound(500); delay(100); nosound(); &
114、#160; gotoxy(41,13); clreol(); while( !valid); if (ch = 'Y')
115、; saved =1 ; code = t_code; fstream file; file.open("HKFILE.IMR", ios : binary | ios: app); file.write(char *) this, sizeof(hkeep); file.close(); t_code+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国高温超声波耦合剂行业市场分析及投资价值评估前景预测报告
- 2025年新能源行业企业数字化转型与产业链协同优化策略研究
- 2025年新能源行业绿色技术创新与产业政策建议报告
- 新能源领域2025:技术创新与知识产权运营技术标准研究报告
- 2025年海洋能发电技术专利分析报告
- 2025年教育行业质量评估与认证体系教育资源整合研究报告
- 医疗法制法规知识培训课件
- 1.3 人工智能研究内容与应用说课稿高中信息技术人教中图版2019选修4 人工智能初步-人教中图版2019
- 2025年文化遗产数字化保护与文化遗产数字化保护技术国际合作报告
- 2025年中国负性光刻胶去胶剂行业市场分析及投资价值评估前景预测报告
- 2025年中级制图员《理论知识》考试真题(含新版解析)
- 广东省2025年度初级注册安全工程师职业资格考试金属非金属矿山安全复习题及答案
- 十二经络课件
- Starter Unit 3 Welcome 单元测试(含答案)人教版(2024)七年级英语上册
- 玻璃委托代加工合同范本
- 年产9000吨塑料粒子项目报告表
- 秦朝服饰设计分享
- 子宫脱垂的中医护理查房
- 2024年12月英语四级真题及答案-第1套
- 【课件】急性百草枯农药中毒
- 老年人能力评估师试题【含答案】
评论
0/150
提交评论