用C语言实现的宾馆客房管理系统课程设计报告样本.docx
- 文档编号:26500222
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:17
- 大小:117.50KB
用C语言实现的宾馆客房管理系统课程设计报告样本.docx
《用C语言实现的宾馆客房管理系统课程设计报告样本.docx》由会员分享,可在线阅读,更多相关《用C语言实现的宾馆客房管理系统课程设计报告样本.docx(17页珍藏版)》请在冰豆网上搜索。
用C语言实现的宾馆客房管理系统课程设计报告样本
一、课程设计题目
宾馆客房管理系统。
二、运营环境(软、硬件环境)
中文版WindowsXP和MicrosoftVisualC++6.0。
三、算法设计思想
1.定义宾馆客房管理信息构造体Hotel-Info。
2.建立一种简易选取菜单,通过输入选取执行动作。
3.主函数中,用switchcase实现选取功能,7项功能通过7个分支实现,每个相应一种函数。
4.写函数,涉及Insert-插入,Amend-修改,Demand-查询,Del-删除,Skim-浏览,Balance-结算。
5.源程序可运营之后,将其数据、信息输入到文档中,使其能存档,可以写入文献和读出文献。
6.对程序进行修改、完善。
写函数
四、算法流程图
联系文献
定义构造体Hotel-Info
修改、完善
建立选取菜单
写主函数,实现选取功能
图1算法流程图
五、算法设计分析
1.这是一种小型管理系统,使用构造体数组存储客房信息。
2.普通管理系统都应当具备插入,修改,查询,删除,浏览等功能,通过使用一种简易菜单进行执行动作选取。
3.用函数实现模块化设计,调理清晰,使程序易读写。
4.把程序与文献联系,使数据能存储在磁盘中,更具实用性。
六、源代码
1构造体
structHotel_Info
{
charname[N],type[N],ID_card[N],in_time[N],leave_time[N];
charidly[N];
intprize,num,ad_payment;
}Info[N];
2主函数
intmain()
{
FILE*fp;
inti=0;
fp=fopen("d:
\\hotelmanagesystem.txt","r");
//fscanf(fp,"%d",&n);
//for(i=0;i while(! feof(fp)) { inta; fscanf(fp,"%d",&a); fscanf(fp,"客房号: %d",&Info[i].num); fscanf(fp,"空闲状况: %s",Info[i].type); fscanf(fp,"客房类型: %s",Info[i].idly); fscanf(fp,"客房价格: %d",&Info[i].prize); fscanf(fp,"客户姓名: %s",Info[i].name); fscanf(fp,"身份证: %s",Info[i].ID_card); fscanf(fp,"预付款: %d",&Info[i].ad_payment); fscanf(fp,"入住时间: %s",Info[i].in_time); fscanf(fp,"退房时间: %s",Info[i].leave_time); i++; } fclose(fp); n=i-1; intm; do { printf("\n"); printf("***************************************************\n"); printf("1————登记。 \n"); printf("2————修改。 \n"); printf("3————查询。 \n"); printf("4————删除。 \n"); printf("5————浏览。 \n"); printf("6————结算。 \n"); printf("7————退出。 \n"); printf("***************************************************\n"); scanf("%d",&m); switch(m) { case1: Insert(&count);break; case2: Amend(count);break; case3: Demand(count);break; case4: Del(&count);break; case5: Skim(count);break; case6: Balance(count);break; case7: break; default: printf("错误选取! 请重选");break; } }while(m! =7); return0; } 3函数 voidInsert(int*count)//定义1————插入函数 { inti=0,in_num; n=n+1; if(*count==N) {printf("overflow! ");return;} FILE*fp; fp=fopen("d: \\hotelmanagesystem.txt","a"); fprintf(fp,"%d",n); for(i=*count;i { printf("编号: "); scanf("%d",&in_num); intflag=1; while(flag) { flag=0; for(intii=0;ii<=N;ii++) if(Info[ii].num==in_num) {printf("已有相似编号! \n");scanf("%d",&in_num);flag=1;break;} } Info[i].num=in_num; printf("客房号: "); scanf("%d",&Info[i].num); fprintf(fp,"客房号: %d",Info[i].num); printf("空闲状况: "); scanf("%s",Info[i].idly); fprintf(fp,"空闲状况: %s",Info[i].idly); printf("客房类型: "); scanf("%s",Info[i].type); fprintf(fp,"客房类型: %s",Info[i].type); printf("客房价格: "); scanf("%d",&Info[i].prize); fprintf(fp,"客房价格: %d",Info[i].prize); printf("客户姓名: "); scanf("%s",Info[i].name); fprintf(fp,"客户姓名: %s",Info[i].name); printf("身份证: "); scanf("%s",Info[i].ID_card); fprintf(fp,"身份证: %s",Info[i].ID_card); printf("预付款: "); scanf("%d",&Info[i].ad_payment); fprintf(fp,"预付款: %d",Info[i].ad_payment); printf("入住时间: "); scanf("%s",Info[i].in_time); fprintf(fp,"入住时间: %s",Info[i].in_time); printf("退房时间: "); scanf("%s",Info[i].leave_time); fprintf(fp,"退房时间: %s\n",Info[i].leave_time); break; } fclose(fp); (*count)++; } voidAmend(intcount)//定义2————修改函数 { inti,num,payment,tag=0;; charidly[N],name[N],ID_card[N],in_time[N],leave_time[N]; printf("请输入要修改数据编号: "); scanf("%d",&num); for(i=0;i if(Info[i].num==num) { tag=1; printf("空闲状况: %s",Info[i].idly); printf("客人姓名: %s",Info[i].name); printf("身份证: %s",Info[i].ID_card); printf("入住时间: %s",Info[i].in_time); printf("退房时间: %s",Info[i].leave_time); printf("预付费用: %d\n",Info[i].ad_payment); printf("空闲状况: "); scanf("%s",idly); printf("客人姓名: "); scanf("%s",name); printf("身份证: "); scanf("%s",ID_card); printf("入住时间: "); scanf("%s",in_time); printf("退房时间: "); scanf("%s",leave_time); printf("预付费用: "); scanf("%d",&payment); strcpy(Info[i].idly,idly); strcpy(Info[i].name,name); strcpy(Info[i].ID_card,ID_card); strcpy(Info[i].in_time,in_time); strcpy(Info[i].leave_time,leave_time); Info[i].ad_payment=payment; FILE*fp; fp=fopen("d: \\hotelmanagesystem.txt","w"); for(i=0;i { fprintf(fp,"%d",i+1); fprintf(fp,"客房号: %d",Info[i].num); fprintf(fp,"空闲状况: %s",Info[i].idly); fprintf(fp,"客房类型: %s",Info[i].type); fprintf(fp,"客房价格: %d",Info[i].prize); fprintf(fp,"客户姓名: %s",Info[i].name); fprintf(fp,"身份证: %s",Info[i].ID_card); fprintf(fp,"预付款: %d",Info[i].ad_payment); fprintf(fp,"入住时间: %s",Info[i].in_time); fprintf(fp,"退房时间: %s\n",Info[i].leave_time); } fclose(fp); } if(! tag) printf("没有查询到可修改数据! "); } voidDemand(intcount)//定义3————查询函数 { intin_num,i=0,flag=1; printf("请输入要查询客房号: "); scanf("%d",&in_num); inttag=0; for(i=0;i if(Info[i].num==in_num) { tag=1; printf("客房号: %d\n",Info[i].num); printf("空闲状况: %s\n",Info[i].idly); printf("客房类型: %s\n",Info[i].type); printf("客房价格: %d\n",Info[i].prize); printf("客人姓名: %s\n",Info[i].name); printf("身份证: %s\n",Info[i].ID_card); printf("入住时间: %s\n",Info[i].in_time); printf("退房时间: %s\n",Info[i].leave_time); printf("预付费用: %d\n",Info[i].ad_payment); flag=0; break; } if(! tag) {printf("没有查询到! ");} } voidDel(int*count)//定义4————删除函数 { inti,j,num,flag=1,tag=0; printf("请输入要删除客房号信息: "); scanf("%d",&num); for(i=0;i<*count&&flag;i++) { if(Info[i].num==num) { for(j=i;j<*count&&flag;j++) Info[j]=Info[j+1]; Info[*count-1].ad_payment=0; strcpy(Info[*count-1].ID_card,""); strcpy(Info[*count-1].idly,""); strcpy(Info[*count-1].in_time,""); strcpy(Info[*count-1].leave_time,""); strcpy(Info[*count-1].name,""); Info[*count-1].num=0; Info[*count-1].prize=0; strcpy(Info[*count-1].type,""); flag=0,tag=1; (*count)--; break; } } if(! tag) {printf("没有查询到可以删除信息! ");} n=n-1; FILE*fp; fp=fopen("d: \\hotelmanagesystem.txt","w"); for(i=0;i { fprintf(fp,"%d",i+1); fprintf(fp,"客房号: %d",Info[i].num); fprintf(fp,"空闲状况: %s",Info[i].idly); fprintf(fp,"客房类型: %s",Info[i].type); fprintf(fp,"客房价格: %d",Info[i].prize); fprintf(fp,"客户姓名: %s",Info[i].name); fprintf(fp,"身份证: %s",Info[i].ID_card); fprintf(fp,"预付款: %d",Info[i].ad_payment); fprintf(fp,"入住时间: %s",Info[i].in_time); fprintf(fp,"退房时间: %s\n",Info[i].leave_time); } fclose(fp); } voidSkim(intcount)//定义5————浏览函数 { inti,flag=1; printf("\n"); for(i=0;i { printf("第%d条记录: \n",i+1); printf("客房号: %d\n",Info[i].num); printf("客房类型: %s\n",Info[i].type); printf("%客房价格: %d\n",Info[i].ad_payment); printf("空闲状况: %d\n",Info[i].prize); printf("客人姓名: %s\n",Info[i].idly); printf("客人身份证号: %s\n",Info[i].name); printf("入住时间: %s\n",Info[i].ID_card); printf("退房时间: %s\n",Info[i].in_time); printf("预付费用: %s\n",Info[i].leave_time); printf("\n"); flag=0; //return; } } voidBalance(intconut)//定义6————结算函数 { inti,x,fee,time; printf("请输入要结算客房号: "); scanf("%d",&x); for(i=0;i if(Info[i].num==x) {printf("住房时间为%s————%s。 \n请输入住房时间: ",Info[i].in_time,Info[i].leave_time); scanf("%d",&time); fee=Info[i].ad_payment-time*Info[i].prize; printf("结余金额为%d",fee); break; } else {printf("编号输入错误,请重新输入: ");return;} } 七、运营成果分析 1.运营程序后,按提示选取相应功能。 (1)。 功能1——登记。 (图2) 图2登记数据 (2)。 功能2——修改。 (图3) 图3修改数据 (3)功能3——查询。 (图4) 图4查询信息 (3)功能4——删除。 (图5) 图5删除信息 (5)功能5——浏览。 (图6) 图6浏览信息 (6)功能6——结算。 (图7) 图7结算余额 2.进入相应功能后,进行数据解决。 解决后数据会保存在磁盘中便于系统运作和数据存储。 图8 3.信息可以在d: \\hotelmanagesystem.txt中查询到。 八、收获及体会 对C语言在编写程序时用处有了更明确结识,懂得了编写C程序普通法方环节。 最大收获是,编写程序时一定要有信心和勇气,要相信自己一定可以把这个程序编写出来。 分析问题做出算法,想好思路,在心里有个大体框架,然后按部就班记下自己想到每一点内容,把写下东西认真整顿,查缺补漏,把某些细节地方补上,就这样一种貌似很难程序就写出来了(其实编程并不难,核心是要投入,要钻到里面去)。 下一步就是读程序了,读程序时一定要小心仔细,一条语句、一条语句读,看与否能输出自己想要输出成果,如果发现错误要立即改过来,再接着向下读,直到把程序调试完美无缺为至。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实现 宾馆 客房 管理 系统 课程设计 报告 样本