C语言程序设计作业.doc
《程序设计基础(C语言)》
课程设计
学 院: 交通学院
班 级: 机械本1303班
学 号: 20132815949
姓 名: 陈恒禹
日 期:2014年6月
课程设计要求:
1.本课程设计作为《程序设计基础(C语言)》的期末考查,占学期总成绩的70%。
2.本课程设计的题目有老师指定或学生自选。
3.知识点要求包括:
(1)文件常用操作(打开,读/写数据,关闭等);
(2)选择结构;
(3)循环结构;
(4)自定义函数;
(5)数组的使用;
(6))
题目名称: 客房入住登记与计费管理系统
问题提出:
某酒店需要对客房的入住进行登记与计费。现设计一个C语言应用程序管理客房登记与计费相关业务。
问题分析:
该系统中应包括所有房间的信息(房号、房型、基本描述、挂牌房价、入住状态)等,客人入住后应产生一条入住记录(基本信息包括:房号、客人姓名、客人证件类别、客人证件号、入住日期、押金情况),客人退房后要修正房间的入住状态并产生相应的账单。
算法分析:
登记入住系统:登记并记录顾客姓名,证件类型及号码;显示现有空置房间;选择所需要的房间并更改房间状态信息;计算并记录住房费及押金。
客房状态查询:分别显示已入住客房与空置客房,读取住房信息文件的内容并判断分类,借此可以清晰明了的显示客房状态。
住户信息查询: 查询顾客所租房房号,查询顾客住房费用,顾客可以通过输入自己的姓名来查询个人的住房信息。
结账退房系统: 退房,更新所退房间状态,删除退房用户记录,显示账单顾客可以输入姓名来完成退房操作,房间状态将更改为未入住。系统将删除该用户信息记录并读取生成账单。
流程设计:
核心流程图:
登记入住功能:
客房状态和住户信息查询功能:
结账退房功能:
代码设计:
//----------------------
//客房入住登记与计费管理系统的设计
//数据结构+算法=程序
//设计者:巢晓敏
//设计日期:2013年6月#include
#include
#include
#define M 81
int z[81]={0}; //定义一个数组存放使用的房间的标记的信息,且初始化为0
int j,s; //定义两个全局变量
FILE *fp; //定义一个指向文件的指针变量
struct date
{int month;
int day;
int year;
}final;
struct hotel
{int price;
int room_ID;
struct client
{char name[20];
int sex;
int age;
char ID_card[20];
int count;
struct date start;
}personal;
}room[M]; //定义全局结构体变量,且里面又调用两个结构体
void save(); //声明刷新函数fflush( fp),且指向指针变量指向的位置
void search_situ( ); //声明查看客房入住情况函数
void regist_infor( ); //声明客房登记入住函数
void modify_infor( ); //声明客房信息修改函数
void modify_one( ); //声明修改客房信息函数中的修改个人函数
void modify_hotel( ); //声明修改客房信息函数中的修改客房函数
void disp_money( ); //声明显示入住费用函数
int main()
{
int menu(); //声明主菜单函数
void print_star();
void print_message();
printf("\n\n\n\n\n");
print_star();
printf("\n");
print_message();
printf("\n");
print_star();
menu(); // 把主菜单用函数来实现
save();
return 0;
}
void print_star()
{int i;
for(i=1;i<