1、其中,用户可以通过机器自助订房,减轻了前台的负担,也使订房速度更加便捷,使客户得到更便捷的服务。1.系统管理员应该具有初步的对用户的浏览增加删除查看的功能,对用户密码的初始化,修改管理员自身的登录密码以及备份系统信息功能,以防系统信息丢失。2.客户可以在自助机器上进行订房,先查看房间,然后选择适合的房间订房,查看自己历史订房信息以及修改自己的信息(身份证号与手机号),如果该用户没有注册过,那么可以在界面选择注册,注册后自动登录然后实现其他操作。3.前台可以查看房间信息,可以查看当前酒店住店所入住用户,办理订房、退房以及查看收益信息,以实现良好的酒店财务管理等等。三、系统分析与设计1.系统功能的
2、需求(系统的各个子模块的业务流程和模块的功能进行简单的介绍)系统管理员管理功能模块:系统管理员拥有最高权限,能进行用户的添加、删除、各个用户信息的修改等功能,另外,具有初始化各用户密码,系统备份等功能。前台管理功能模块:前台管理员能够浏览已入住用户、查询房间信息、修改个人信息和修改登录密码,办理订房、退房,查看收益信息功能。顾客管理功能模块:拥有查找空房间、各类房间的价格、办理入住和退房、结账、显示顾客信息、修改个人信息、修改登录密码的功能。经过分析,我们对程序有了初步了解。列出了每个角色的功能以及如何实现等操作。2.系统的主要模块程序的模块很直观的反映出软件能够实现的功能,由下面的模块可以很
3、直观的看出我们设计的餐厅管理系统程序能够方便的实现为顾客查询房间、办理入住和退房、结账、查询顾客信息、各个用户角色登录等。1.在系统管理员增加用户部分,实现了录入用户的编号、姓名、手机号和身份证号这一系列信息的功能。2.在显示和添加和删除房间部分,显示全部房间具体信息。3.在删除用户信息部分,我们设计了三个函数,可以实现删除其中无用的用户信息,回到主菜单。4.在修改个人信息模块,我们通过可以修改的部分,也就是将身份证号与手机号进行修改。 5.在顾客办理入住模块,我们通过顾客的编号,来记录顾客的住房信息,最后能让顾客看到自己花了多少钱以下为登录流程图:主要先实现对框架的设计以及链接设计。由此我们
4、设计了界面函数如下图所示:进入不同的角色界面如图:系统管理:前台:客户部分功能代码展示:主函数:int main() int c,loop=1,userTotal; char currentUserIdLENGTH_OF_USERID+1; user userArrayMAX_USER; userTotal=readUserFromFile(userArray,user.dat); /从文件中读入用户信息 while (loop) system(cls /清除屏幕 c=mainMenu(); /显示登录菜单 switch(c) case 1: /登录系统 c=login(currentUser
5、Id); /调用身份验证函数,返回用户角色 enterSystem(c,currentUserId); /显示不同角色对应的菜单 break; case 2: /注册账号 AddUser(userArray,&userTotal,1); writeUserToFile(userArray,userTotal, /存盘 default: /退出系统 loop=0; showtime(1); return 0;登陆函数:int login( char currentUserId) /用户数组 int userTotal; /用户总数 int counter=3; char verification
6、Code5; /存放验证码 char inputVerificationCode5; /存入用户输入的验证码 char originalPassWordLENGTH_OF_PASS+1; char passwordLENGTH_OF_PASS+1; int pos; while (counter0) system( counter-; displayTopic(媛媛酒店欢迎您-用户登录 printf(ttt用户名: bbbbbbbbbbbb scanf(%s,currentUserId);ttt密 码: inputPassWord(password,7); getVerificationCod
7、e(verificationCode,4);ttt验证码: %sbbbbbbbbbbbbbbbbb,verificationCode);,inputVerificationCode); pos= userSearch(userArray,userTotal,currentUserId); if (pos=-1) printf(该用户不存在!还有%d次登录机会。n,counter); getch(); continue; else strcpy(originalPassWord,userArraypos.password); if (strcmp(originalPassWord,passwor
8、d)!=0)输入的密码有误,还有%d次登录机会。 if ( strcasecmp(verificationCode,inputVerificationCode)!输入的验证码有误,还有%d次登录机会。 return userArraypos.role; /返回用户角色 return -1; /登录失败进入不同系统函数:void enterSystem(int c,char currentUserId) /c=1表示 系统管理员用户 AdminSystem(currentUserId);/c=2表示 前台管理员登录 ManagerSystem(currentUserId); case 3:cas
9、e 0:/c=3 表示 用户 userSystem(currentUserId);四、不同模块链接与设计如上图代码,通过用户结构体中的角色代码,来判断进入不同的界面所显示的是哪类型的角色应该显示的界面。模块通过主函数进行链接,通过主函数来进入不同的模块函数,进而进行操作。主模块展示int mainMenu(); /登录菜单int menuManager(); /前台角色子程序菜单int menuUser(); /用户程序菜单int menuAdmin(); /系统管理员角色子程序菜单void ManagerSystem(char currentUserId); /前台角色子程序void use
10、rSystem(char currentUserId); /客户角色子程序void AdminSystem(char currentUserId); /系统管理员角色子程序模块功能和代码展示功能如上图所示,部分代码如下:void AdminSystem(char currentUserId) /系统管理员用户 int loop=1; while(loop=1) int chose,userTotal,houseTotal,Inf_Total,money_total; inf houseInf1000,money_All1000; Inf_Total=read_Inf_FormFile(hous
11、eInf,inf.dat money_total=read_Inf_FormFile(money_All,money.dat /读取收益信息 house houseArray1000; houseTotal=readHouseFromFile(houseArray,house.dat chose=menuAdmin(); switch(chose)/浏览用户 print_user_information(userArray,userTotal);pause/添加用户userTotal,0);/删除用户 delUser(userArray,&userTotal,currentUserId,0);
12、 case 4:/初始化用户密码 /显示 reset_UserPassword(userArray,userTotal); case 5:/修改登录密码 reset_MyPassword(userArray,userTotal,currentUserId); case 6:/系统备份 backUp(userArray,userTotal,houseArray,houseTotal,houseInf,Inf_Total,money_All,money_total);五、主要函数名称以及功能char *getRole(int code);/获取角色int readUserFromFile(user
13、 userArray,char *f); / 读取文件int readHouseFromFile(house houseArray,char *f); /读取房间信息 /获取角色void inputPassWord(char password,int n); /输入密码void getVerificationCode(char verificationCode,int n); / 获取验证码int userSearch(user userArray, int userTotal, char id); / 搜索用户位置void writeUserToFile(user userArray,int
14、 userTotal,char *f); / 写入文件void printHouse(house houseArray,int houseTotal); /查看房间信息void userChose(house houseArray,int houseTotal,user userArray, int userTotal,char currentUserId); /用户订房间void writeInformation(char currentUserId,char name,int number,int floor,int day,char *f); /记录入住情况写入文件void writeH
15、ouseToFile(house houseArray,int *houseTotal,char *f); /写入房间信息int myInf(char currentUserId,inf houseInf,char *f); /获取我的订房记录信息到数组中void printMyInf(inf houseInf,int counter,char currentUserId); /输出我的订房信息int checkOut(int a,inf houseInf,int counter,char currentUserId,user userArray,int userTotal,house hou
16、seArray,int houseTotal);/结账退房void changeUserInformation(user userArray, int userTotal,char currentUserId);/更改信息void reset_MyPassword(user userArray,int userTotal, char userId) ; /修改当前登录密码void managerCheck(user userArray,int userTotal,house houseArray,int houseTotal,int *money);/前台退房void printOnlineU
17、ser(user userArray,int userTotal,inf houseInf,int counter);/输出酒店已入住用户int read_Inf_FormFile(inf houseInf,char *f); /读取入住总记录void print_Inf(int c,inf houseInf,int Inf_Total); /输出总记录void Chose_To_Print(int a,inf houseInf,int Inf_Total); /按要求输出总记录void add_room(house houseArray,int *n); /增加房间int room_sear
18、ch(int number,house houseArray,int houseTotal); /搜索是否存在改号码的房间void del_room(house houseArray,int *n); /删除房间void print_user_information(user userArray,int userTotal); /浏览用户void AddUser(user userArray,int *userTotal,int a); /添加用户void delUser(user userArray,int *n,char currentUser,int a);void reset_User
19、Password(user userArray,int userTotal); /初始化用户密码void print_money(inf money,int counter); /输出收益信息void backUp(user userArray,int userTotal,house houseArray,int houseTotal,inf houseInf,int Inf_Total,inf money_All,int money_total);/备份信息void backUp_user(user userArray,int userTotal); /备份用户信息void backUp_room(house houseArray,int houseTotal); /备份房间信息void backUp_inf(inf houseInf,int Inf_Total); /备份入住信息void backUp_inf2(inf money_All,int money_total); /备份收益信息void write_Information(inf houseInf,int Inf_Total,char *f); /写入总入住信息六、部分功能测试以及效果展示用户登录:客户订房:前台浏览在酒店用户:0001到前台退房:前台收班:退出系统:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1