2015级计算机科学与技术学院实验报告
《C语言程序设计》综合实验报告
一、需求分析
编写一个客房管理系统,提供键盘式菜单实现功能选择,功能包括:用户登记、统计、查询和用户信息修改。 软件平台:CODEBLOCKS
二、整体设计
整个客房管理系统被设计为用户登记模块、统计模块、查询模块和修改模块。数据以TXT格式存储,支持保存信息。
三、详细设计
一登记模块二统计模块 客房管理系统
修查 改询模模
块块
(1)用户登记模块
通过函数readfile读取txt文件信息到room数组,提示用户选择想要入住的房间号,判断是否已经被占用,若占用,重新选择房间号,若没有占用,提示输入登记信息,把数据存入Room数组中,通过savefile添加信息到txt。
调用readfile函数读取txt
1
三四2015级计算机科学与技术学院实验报告
是
判断房间是否 被占用
否 提示用户输入登记信息 调用savefile函数存储登记信息
(2)统计模块
读取txt信息到结构体数组room,提示用户选择统计方式,设置计数器,顺序遍历Room数组,
1、计数器记录数组数,即总客房数
2、判断每一个数组中的结构体的时间是否和需要查询的日期相同,若相同,计数器加一
调用readfile函数,读取信息
选择统计方式
1、统计总客房数 2、按时间统计
(3)查询模块
调用readfile函数,将信息读入room结构体数组中,提示用户选择查询方式,通过基本查找算法查找Room数组。可以按房间号、价格、房间标记、用户姓名、居民身份证查询。 读取信息 选择统计方式 按身份证号查询 按姓名查询 按价格查询 按房间号查询
2
读取用户输入的的房间号 2015级计算机科学与技术学院实验报告
每一个查询函数内部结构如下: 遍历每一个结构体j 判断是否和要查询 的信息相同 是
调用打印函数,打印j
结构体信息
(4)修改模块 调用readfile函数,读取信息到room结构体数组,提示用户输入需要修改的房间号,采用基本查找算法在数组中找到要修改的数据,提示用户重新更改房间信息,最后将结构体数组重新写入文件保存。
调用readfile(读取文
件函数)
输入需要查询的房间号
遍历每一个结构体j 判断是否是用户需 要修改的房间号
3
2015级计算机科学与技术学院实验报告
修改结构体j
调用saveall函数,保存结构体数组 四、源代码
#include
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);
4
相关推荐: