- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可编辑版
Word完美格式
《C语言程序设计》综合实验报告
需求分析
编写一个客房管理系统,提供键盘式菜单实现功能选择,功能包括:用户登记、统计、查询和用户信息修改。
软件平台:CODEBLOCKS
二、整体设计
整个客房管理系统被设计为用户登记模块、统计模块、查询模块和修改模块。数据以TXT格式存储,支持保存信息。
详细设计
客房管理系统
客房管理系统
三 查询模块二
三 查询模块
二 统计模块
四 修改模块
一 登记模块
(1)用户登记模块
通过函数readfile读取txt文件信息到room数组,提示用户选择想要入住的房间号,判断是否已经被占用,若占用,重新选择房间号,若没有占用,提示输入登记信息,把数据存入Room数组中,通过savefile添加信息到txt。
调用
调用readfile函数读取txt信息
读取用户输入的的房间号
读取用户输入的的房间号
判断房间是否被占用
判断房间是否被占用
是
是
否
否
提示用户输入登记信息
提示用户输入登记信息
调用
调用savefile函数存储登记信息
(2)统计模块
读取txt信息到结构体数组room,提示用户选择统计方式,设置计数器,顺序遍历Room数组,
计数器记录数组数,即总客房数
判断每一个数组中的结构体的时间是否和需要查询的日期相同,若相同,计数器加一
调用readfile
调用readfile函数,读取信息
选择统计方式
选择统计方式
2、按时间统计
2、按时间统计
1、统计总客房数
(3)查询模块
读取信息调用readfile函数,将信息读入room结构体数组中,提示用户选择查询方式,通过基本查找算法查找Room数组。可以按房间号、价格、房间标记、用户姓名、居民身份证查询。
读取信息
选择统计方式
选择统计方式
按价格查询按身份证号查询按姓名查询按房间号查询
按价格查询
按身份证号查询
按姓名查询
按房间号查询
每一个查询函数内部结构如下:
遍历每一个结构体
遍历每一个结构体j
判断是否和要查询的信息相同
判断是否和要查询的信息相同
是
是
调用打印函数,打印
调用打印函数,打印j结构体信息
(4)修改模块
调用readfile函数,读取信息到room结构体数组,提示用户输入需要修改的房间号,采用基本查找算法在数组中找到要修改的数据,提示用户重新更改房间信息,最后将结构体数组重新写入文件保存。
调用
调用readfile(读取文件函数)
输入需要查询的房间号
输入需要查询的房间号
遍历每一个结构体
遍历每一个结构体j
判断是否是用户需要修改的房间号
判断是否是用户需要修改的房间号
修改结构体
修改结构体j
调用
调用saveall函数,保存结构体数组
源代码
#include stdio.h
#include stdlib.h
#include string.h
#define M 80
//客户结构体
typedef struct client
{
char name[12]; //姓名
int sex; //性别
int age; //年龄
char id[20]; //身份证号
int year; //入住时间
int month;
int date;
}CLIENT;
//客房结构体
struct Hotel
{
int roomid;
int tel; //用户的话
int price; //价格
int sign; //默认标记为空房间
CLIENT client_list; //客户信息
}room[M];
void Menu(); //目录界面
void dengji(struct Hotel room[]);
void savefile(struct Hotel room[],int i);
int readfile(struct Hotel room[]);
void tongji(struct Hotel room[]);
void chaxun(struct Hotel room[]);
void printmessage(struct Hotel room[],int n);
void xiugai(struct Hotel room[]);
//主函数
int main()
{
int n;
char reply;
Menu();
do{
printf(请输入选项对应的数字:\n);
scanf(%d,n);
while(n!=1n!=2n!=3n!=4)
您可能关注的文档
最近下载
- 智联招聘行测题库.pdf
- crj700培训手册版第一分册飞机概述.pdf VIP
- 骨折术后护理查房.pptx VIP
- 鹦鹉养殖与驯化.pdf VIP
- 2025届高考英语二轮复习:非谓语动词课件 (共49张PPT).ppt.pptx VIP
- 雕刻机快速调试使用指南教学文稿.pdf VIP
- 部编版小学四年级道德与法治上册期末复习全册必背知识点汇总(按单元整理).docx VIP
- 《高校学生就业与创业指导》全套教学课件.pptx
- 2025年新高二数学专项提升(人教A版)暑假培优练04 直线与圆 (14大巩固提升练+能力提升练+高考专练) 学生版.pdf VIP
- 2026届高考数学专项复习:直线与圆.pdf VIP
文档评论(0)