C语言课程设计客房管理系统.doc
文本预览下载声明
一、题目:客房管理系统
二、题目要求
系统要求包括新用户登记功能、统计功能、查询功能、修改功能。
题目建议使用如下结构体:
Struct c;ient
{
Char name[20];
Int sex;
Int age;
Char ID_card[20];
Int year;
Int month;
Int date;
};
Sturct hotel
{
Int Room_ID;
Int tel;
Int price;
Bool sign;
Struct client client_list;
}Room[num]
需求分析
根据题目要求,应提供文件输入、输出、修改、删除、浏览等操作,可选择在程序中提供菜单选择功能以选择各个功能模块。
总体设计
系统
系统
大于5小于1
在1-5之间
1?
1?2? 3? 4? 5?
退出修改模块查询模块统计模块登记模块选1 选2 选3 选4 选5
退出
修改模块
查询模块
统计模块
登记模块
登记模块:输入客人人数、客人姓名、性别、年龄、身份证号码、登记年月等信息。
统计模块:统计房间使用情况。
查询模块:查询已用、未用房间等信息。
修改模块:提供客房信息、客人信息的修改。
五、详细设计
1、主函数
主函数可采用菜单式选择方案,将各个功能以功能模块方式在菜单中呈现。
结构流程如下:
主菜单通过数字选择功能登记统计查询修改退出
主菜单
通过数字选择功能
登记
统计
查询
修改
退出
程序如下:
void main() /*主菜单,选择数字来选择功能*/
{
int n,w=1;
struct Hotel *info;
while(w){
puts(\t\t=======主菜单=============\n);
puts(\t\t==== 1 登记\n);
puts(\t\t==== 2 统计\n);
puts(\t\t==== 3 搜索\n);
puts(\t\t==== 4 修改\n);
puts(\t\t==== 5 退出\n)
printf(请选择(1-5):[]\b\b);
scanf(%d,n);
if(n1||n5)
{
w=1;
getchar();
}
switch(n){
case 1:regi();break;
case 2:stat();break;
case 3:search();break;
case 4:modify();break;
case 5:tuichu();break;
default: break;
}
getchar();
}
}
2、登记模块
利用结构体数组输入客人姓名、性别、年龄等信息。
结构流程图如下:
登记模块
登记模块
判断输入数是否大于N
输入客人信息
程序如下:
regi()
{
int i,n;
struct Hotel *info;
char s[10];
char a[10]=have;
printf( 登记人数:\n);
scanf(%d,n);
for(i=0;in;i++)
{
info=(struct Hotel*)malloc(sizeof(Room[NUM]));
if(info==0)
{
printf( 已记录\n);
}
inputs( \t 房号:\n,info-Room_ID,10);
if(!((char*)(info-Room_ID))[
显示全部