C语言旅馆管理系统

上传人:鲁** 文档编号:547911950 上传时间:2023-08-30 格式:DOC 页数:32 大小:251KB
返回 下载 相关 举报
C语言旅馆管理系统_第1页
第1页 / 共32页
C语言旅馆管理系统_第2页
第2页 / 共32页
C语言旅馆管理系统_第3页
第3页 / 共32页
C语言旅馆管理系统_第4页
第4页 / 共32页
C语言旅馆管理系统_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《C语言旅馆管理系统》由会员分享,可在线阅读,更多相关《C语言旅馆管理系统(32页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上目录一、题目要求(3)二、需求分析(3)三、 总体设计(4)四、 详细设计(5)1、 主函数main(5)2、 主菜单函数 menu(6)3、 登录模板enter(8)4、 统计模板count(10)5、 查询模板search(12)6、 修改模板modify(14)7、 离开模板leave(16)五、运行结果(19)六、总程序七、总结(30)一、 题目要求要求编写一个旅馆客房管理系统,系统包括新用户登录功能、统计功能、查询功能、修改功能。建立如下结构体:struct Clientchar name20; int sex; int age; char ID_card2

2、0;/身份证号码; int year; int month; int date;/居住时间; ;struct Hotel int room_ID;/房间号; int tel; int price; int sign;/标记房间是否为空; struct Client Client_list;/实现结构体的嵌套; sumN;二、需求分析根据题目要求,房间信息数据存放在一个文本文件中;通过文件的输入和输出来实现新用户登录、统计、查询、修改等各项功能;且各项功能能独立完成,不受其它工程是否完成的影响;程序中应设有主菜单函数,通过主菜单函数可以调用各个功能函数,各个功能函数操作完成后可以回到主菜单,等待

3、下一个操作;还应设有菜单选项,能通过键盘操作实现选择;同时,应有通道退出程序;三、总体设计通过分析,整个系统应包括以几个模板:登录模板enter、统计模板count、查询模板search、修改模板modify、离开模板leave、退出。系统功能模块图客房管理系统统计模板count查询模板search修改模板modify离开模板leave退出登录模板enter主菜单函数menu四、详细设计1、 主函数main通过主函数,可以实现数据赋初值,函数的原形声明,为以后的操作做准备。流程图N变量i加1YNY变量i加1YNYNY是否新建数据库数据赋初值用fwrite向文件写入数据新建file.txt是否成

4、功读取file.txt是否成功输出错误信息输出错误信息NNY用fread从文件读入数据判断是否读完判断是否写完变量i加1判断i是否小于房间数NY判断房间是否有人Left-调用住菜单函数menu关闭文件进入系统程序main()int i;char c;FILE *fp;void menu();void enter();void count();void search();void modify();void leave();printf(nnnnt-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-);printf(nnnttWe

5、lcome to the systerm of hotel management!nnn);printf(t-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-nnn);printf(ttAre you going to new the file:(y/n)tI choose bb); scanf(%c,&c);if(c=y) for(i=0;iN;i+) sumi.room_ID=i+1; sumi.tel=800+i; sumi.price=100; sumi.sign=0; if(fp=fopen(file.txt,w)=

6、NULL) printf(nCan not open the file!n);exit(0); for(i=0;iN;i+) fwrite(&sumi,sizeof(struct Hotel),1,fp); else if(fp=fopen(file.txt,r)=NULL) printf(nCan not open the file!n);exit(0); for(i=0;iN;i+) fread(&sumi,sizeof(struct Hotel),1,fp); for(i=0;iN;i+) if(sumi.sign) left-; fclose(fp);menu();2、 主菜单函数me

7、nu为了使系统执行完没部分功能模快后能通过调用函数方便的返回到系统界面,设次函数。同只这个函数中能设置了各个功能的入口。流程图YN显示一系列的功能选项输入n,判断n是否1-6之内调用enter函数调用count函数调用search函数调用modify函数调用leave函数退出程序void menu()int n,a;do printf(nnnnt*MENU*nn); printf(tttt1.New customern); printf(tttt2.Count roomsn); printf(tttt3.Search roomn); printf(tttt4.Modify customern)

8、; printf(tttt5.Leaven); printf(tttt6.Exitnn);printf(t*nn); printf(You choose number(1-6) bb); scanf(%d,&n); if(n6)a=1; printf(nWrong number!nnPrint any key to continue .n); getch(); else a=0; while(a=1); switch(n)case 1:enter();break; case 2:count();break; case 3:search();break; case 4:modify();brea

9、k; case 5:leave();break; case 6:exit(0);break; 3、 登录模板enter此模块用于新用户的登录,在此模块中要求输入新用户的姓名、性别,年龄,身份证号,入住时间。并将数据存入名为file.txt的文件中。流程图NYNYYNNNY打开file.txt文件是否成功开始输出错误信息从文件中读如数据输入想租用的房间号e判断e是否在1-N之内判断n房间是否被占用Y输入新用户信息是否保存输出错误房间号输出该房间以被占用向文件输出数据输出保存成功,并输出结果,left-是否还需要房间调用主菜单函数程序void enter() FILE *fp; char c; i

10、nt i,t=0; int e; clrscr(); do if(fp=fopen(file.txt,r)=NULL) printf(nCan not open the file!n);exit(0); for(i=0;i=1&e=N) e-; if(sume.sign=0) printf(nPlease input your name:); scanf(%s,sume.Client_list.name); printf(ntsex:(1 stands for F,2stands for M); scanf(nt%d,&sume.Client_list.sex); printf(ntage:); scanf(%d,&sume.Client_list.age); printf(ntID_card:); scanf(%s,sume.Client_list.ID_card); printf(ntdate(year month date):); scanf(%d%d%d,&sume.Client_list.year,&sume.Client_list.month,&

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

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号