当前位置:首页 > C语言课设报告模板--酒店管理
#include
char price[5]; char num[5]; };
struct customer{ char name[20]; char ID[20]; char time1[12]; char time2[12]; struct room r; int days; int cost; int flag1;
struct customer *next; };
menu_select(int sel,struct customer * head);/*功能函数*/ int menu_show();/*主菜单函数*/
void create(struct customer *head);/*创建客户信息函数*/
void insert(struct customer *head);/*根据房间号,查询住宿情况*/
void count(struct customer *head);/*根据房间号和统计时间段统计房间产生的住宿费用*/
int save(struct customer *head);/*保存客户的信息*/ int check(char date[]);/*判断时间输入的格式是否合法*/ int decide(char num[]);/*判断输入的房间号是否存在*/
int count_day(char t1[],char t2[]);/*计算客户的住宿天数*/ int expense(struct customer *head,char strat[],char end[],char num[]);/*计算所用房间产生的住宿费用*/
void list(struct customer *head);/*显示键入的客户信息*/ int judge_ID(char I[]);/*判断身份证号输入是否合法*/ int flag1=0; void main() {
struct customer *head; /*定义链表的头节点*/ head=malloc(sizeof(struct customer)); head->next=NULL;
system(\ for(;;) {
menu_select(menu_show(),head); } } /*
根据参数选择相应的功能函数 sel 功能选择代码 head 链表头节点 */
menu_select(int sel,struct customer * head) {
switch(sel) /*调用主菜单函数,返回值整数作开关语句的条件*/ {
case 1:create(head);;break;/*输入记录*/
case 2:insert(head);break; /*查找键入记录*/ case 3:list(head);break; /*显示键入客户信息*/
case 4:count(head);break; /*根据房间号和统计时间段统计房间产生的住宿费用*/
case 5:save(head); break; /*保存到文件*/ case 0:exit(0); /*结束操作*/ } }
/*菜单函数,函数返回值为整数,代表所选的菜单项*/ int menu_show() {
char s[80]; int c;
printf(\酒店房间登记与计费管理*****\\n\ printf(\ * 1. 录入客户信息 *\\n\ printf(\ * 2. 查询键入的客户信息 *\\n\ printf(\ * 3. 显示键入客户信息 *\\n\ printf(\ * 4. 统计费用 *\\n\ printf(\ * 5. 保存客户信息 *\\n\ printf(\ * 0. 退出 *\\n\
printf(\欢迎使用*************\\n\
do{
printf(\请输入0-5之间的数选择需要的操作:\提示输入选项*/ scanf(\输入选择项*/ printf(\
c=atoi(s);/*将输入的字符串转化为整型数*/ }while(c<0||c>5); /*选择项不在0~7之间重输*/
return c; /*返回选择项,主程序根据该数调用相应的函数*/ }
/*实现键盘输入客户信息*/
void create(struct customer *head) {
int i,j,d,price1=0,flage=0;
char name[20],time1[12],time2[12],ID[20],num[5],n,price[5]; struct customer *p,*temp;
int size=sizeof(struct customer); p=head;
if(flage==1) {
printf(\客户信息已经建立,按任意键返回.....\\n\ getch(); } else {
system(\
printf(\请输入客户信息 :\\n\
printf(\请输入您要输入客户数(0-9):\ scanf(\ while(n>57||n<48) {
printf(\您输入的不合要求,请重新输入:\ scanf(\ }
printf(\客户信息**************************\\n\
printf(\--|\\n\
printf(\客户姓名 | 身份证号 | 入住时间 | 退房时间|\\n\
printf(\入住房间号 | 入住天数 | 入住价格 |
住宿费用|\\n\
printf(\--|\\n\
for(i='0';i printf(\请输入客户姓名:\ scanf(\ printf(\请输入客户的身份证号(15位或18位):\ scanf(\ while(strlen(ID)!=15&&strlen(ID)!=18||judge_ID(ID)==0)/*判断身份证号输入是否正确*/ { printf(\身份证号输入错误,请重新输入:\ scanf(\ } printf(\请输入客户的入住时间(格式YYYY-MM-DD):\ scanf(\ while((time1[4]!='-')||(time1[7]!='-')||strlen(time1)!=10||check(time1)==0) { printf(\入住时间输入不合法,请重新输入:\ scanf(\ } printf(\请输入客户的退房时间(格式YYYY-MM-DD):\ scanf(\ while((time2[4]!='-')||(time2[7]!='-')||strlen(time2)!=10||check(time2)==0||strcmp(time2,time1)<=0) { printf(\退房时间输入不合法,请重新输入:\ scanf(\ } printf(\请输入客户的入住房间号(1001~1100||2001~2100||依此类推共9组):\ scanf(\ while(decide(num)==0||judge_ID(num)==0)/*判断当前房间号是否存在*/ { printf(\当前输入的房间号不合法,请重新输入(1001~1100||2001~2100||依此类推共9组):\ scanf(\
共分享92篇相关文档