C语言简易宾馆系统_第1页
C语言简易宾馆系统_第2页
C语言简易宾馆系统_第3页
C语言简易宾馆系统_第4页
C语言简易宾馆系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息科学与工程学院课 程设计 报告书专业:通信工程课程设计名称:程序设计实践题目:简易宾馆客房管理系统 TOC o 1-5 h z 班级:设 计者:学号:指导教师:完成时间:重庆交通大学信息科学与工程学院课程设计任务书课程程序设计实践班级指导教师题目简易宾馆客房管理系统同组人数1人(代码量不少于300行)2.主要功能包括:管理信息的录入、修改、增加、/.数据用文件存储;.主要操作采用菜单方式;.数据输入有容错功能 (比如成绩:0-100分,删除、查询、统计、输出等;性别:“男”、“女”,日期型数据年、月、日的限制等 );5.分别用链表和数组实现所要求的功能。设计报告主要包括内容(参见后面的格式

2、):.系统的功能需求及分析.数据结构及主要算法设计说明报 告 书 要 求.系统总体结构.系统实现及主要代码.系统功能测试.设计体会要求:?学生完成课程设计后,每个同学均应提交课程设计报告及软件;?设计报告要求文字通畅,排版规范;?设计报告文字原则上不少于3000字(程序代码除外),并装订成册。 版面要求.题目用黑体三号,段后距 18磅(或1行),居中对齐;.标题用黑体四号,段前、段后距6磅(或行);.正文用小四号宋体,行距为固定值“20”,程序代码用固定值“ 15”.标题按“一”、“”、“1”、“”顺序编号。上 机周次一二三四五六日时 问 安第17周第18周排指导地 点及考 核时间1、指导地点

3、:2、考核时间:重庆交通大学信息学院课程设计评分表序号项目评分标准及说明评分1学生自评分(20%)按任务书的要求,学生根据任务完成情况及质量t我评分。多人一组共同完成者,19-20分不超过1人,17-18不超过2人,由组长评分(多人一组独立完成者按独立完成定)。2纪律及平时成绩 (10%)按规定时间到实验室完成实验及综合实验,每缺1次实验扣2分,缺4次及以上不得分。3系统演示(功能) 及答辩(40%)根据学生PPT汇报、系统 演示及回答问题情况,由 答辩组(老师)给出答辩等 级(直接在此评分表中打),指导教师按等级 相应分值打分答辩等级分值A+39-40A38-A36-37B+34-35B32

4、-33B-30-31C+28-29C26-27C-24-25D0-234项目设计报告(30%)根据学生完成的项目设计 报告书情况,由指导教师 给定等级(直接在此评分表 中打“)及成绩(特别 提醒:设计报告相同者均 记0分)答辩等级分值A+30A28-29AB+2725-26B23-24B-21-22C+20C19C-18D0-17指导教师:总分:简易宾馆客房管理系统设计报告一、系统的功能需求及分析(一)设计要求:.主要功能包括:管理信息的录入、修改、增加、删除、查询、统计、输出等;.数据用文件存储;.主要操作采用菜单方式;.数据输入有容错功能(比如成绩:0-100分,性别:“男”、“女”,日期

5、型数 据年、月、日的限制等);.分别用链表和数组实现所要求的功能。(二)具体设计思路:简易宾馆雷理系舞1.针对我设计的简易宾馆管理系统,其所需 实现的具体功能如下:(1)登记入住;菖仔件P急E系 比县用生睡r斗部Tri上入1 Z 才 $ E H(2)信息修改;(3)信息查找;(4)退房登记;(5)入住情况统计输出;(6)基本数据文件存储;2.对于要求的容错功能,主要是在如下地方:(1)入住登记时判断输入客人身份证号码是否为 18位;(2)入住登记时判断输入电话号码是否为 11位;(3)入住登记时判断是否还有空房问;(4)入住情况统计输出时判断是否入住客人;(5)菜单选择的时候必须输入相应的数字

6、(如输入 8便会进行报错);(6)选择房型的时候必须输入相信的数字(同上报错);二、数据结构及主要算法设计说明(一)数据结构1.数组所需要存储的基本信息为:客人姓名,身份证号码,手机号码,入住天数,房 号,已入住房间数;#define Number 60 入住 登记 |n);printf(|2.信息 修改 |n);printf(|3.printf(|4.printf(|5.printf(|6.printf(|0.printf(printf(信息查找|n);退房登记|n);入住情况统计输出|n);基本数据文件存储|n);退出系统 |n);= = = = = = = = = = = = = = =

7、 = = = = = =n);请选择输入:);(二)主要算法设计说明系统总体结构(一)总模块图简易宾馆管理系统(二)入 模块图住选择南、住登入住,天数,客输出房费借房房割,输入乂住客人相哭信息,如姓名、身份肺号码、手机号码、入住冲且在输入日昨!要输入期确的号码粒数公信息修首见输入联系我的姓名重、查找信计然后对其 出件他登记时填入的信息。储查找的联系人的信息/凶、0聋A住A ii关时输入想要查找的客人的姓名,然后会按格式输出所4.其他模块退房登记:输入客人的姓名,然后退房登记,相当 于将客人的信息从管理系统总删除,房间的的总数就会减少;入住情况统计输出:将宾馆客房入住情况按格式输 出;基本数据文

8、件存储:将文件存储在指定的位置。四、系统实现及主要代码(一)数组1.主函数:void main()int cho=0,sel;=0;=40;=20;=0;while(1)Menu();scanf(%d,&cho);if(cho7)printf(您的选择有误,请重新选择! n);else if=Number)printf(客房已全部入住! n);elseswitch(cho)case 0: exit(0);case 1:printf( 入住房型选择: n 1.n);scanf(%d,&sel);if(sel3)printf(elseswitch(sel)case 1:biginputInform

9、ation();break;case 2:dblinputInformation();break;case 3:sglinputInformation();break;break;case 2:reviseinformation(); break;case 3:searchinformation(); break;case 4:deleteInformation(); break;case 5:outList(); break;case 6:break;2. 登记入住函数:void biginputInformation()ame);while(1)printf( 身 份 证: );scanf

10、(%s,&.IDnumber);int m;m=strlen.IDnumber);if(m!=18)printf(elsebreak;while(1)printf( 客人电话号码: );scanf(%s,&.phonenumber);int n;总统房(天)2.豪华房(天)3.普通单间(天)选择错误,请重新选择! n);您的输入有误,请重新输入! n);n=strlen.phonenumber);if(n!=11)printf(您的输入有误,请重新输入! n);elsebreak;printf( 入 住 天 数: );scanf(%d,&.days);.fee= .days*;printf(应

11、收金额为: %n口fee);.roomnumber=+1001;printf( 入住房间房号: %d,.roomnumber);+;+;printf(n);继续入住下一总统房? n);继续; 0: 退出 n);份 证: );printf(printf(1:scanf(%d,&pn);if (pn=0) break;void dblinputInformation()ame);while(1)printf( 身scanf(%s,&.IDnumber);int m=strlen.IDnumber);if(m!=18)printf(您的输入有误,请重新输入! n);elsebreak;while(1

12、)printf( 客人电话号码: );scanf(%s,&.phonenumber);int n;n=strlen.phonenumber);if(n!=11)printf(您的输入有误,请重新输入! n);elsebreak;printf( 入 住 天 数: );scanf(%d,&.days);.fee= .days*;printf(应收金额为: %n口fee);.roomnumber=+2001;printf( 入住房间房号: %d,.roomnumber);+;+;printf(n 继续入住下一豪华房? n11:继续; 0: 退出n);scanf(%d,&pn);if (pn=0) b

13、reak;void sglinputInformation()ame);while(1) printf( 身 份 证: );scanf(%s,&.IDnumber);int m=strlen.IDnumber);if(m!=18)printf(您的输入有误,请重新输入! n);elsebreak;while(1)printf( 客人电话号码: );scanf(%s,&.phonenumber);int n;n=strlen.phonenumber);if(n!=11)printf(您的输入有误,请重新输入! n);elsebreak;printf( 入 住 天 数: );scanf(%d,&.

14、days);.fee= .days*;printf(应收金额为: %n口fee);.roomnumber=+3001;printf( 入住房间房号: %d,.roomnumber);+;+;printf(n 继续入住下一普通房? n1:继续; 0: 退出n);scanf(%d,&pn);if (pn=0) break;查找函数:int search(char rname)for (int i=0;i;i+)if (strcmp(rname,)=0) return i;for ( i=20;i;i+)if (strcmp(rname,)=0) return i;for (

15、 i=40;i=0&i=20&i=40&i=59)i.fee=i.days*;printf(应收金额为: %dn,i.fee);return;退房函数:void deleteInformation()char name20;printf( 请输入要退房的客人姓名: );scanf(%s,name);int i=search(name);if (i=-1)printf( 未找到该客人! n);elseif(i=0)for (int j=i+1;j=20&i=39)for (int j=i+1;j=40&i=59)for (int j=i+1;j ;j+)j-1=j; ; return;统计输出函

16、数:void outList()(if=0)( printf(n还没有客人入住!nn);) else(printf(宾馆房间入住情况n);printf(= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =n);printf( 房号 房型客人姓名身份证号码电话号码入住天数房费(元)n);printf(= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =n);for (int i=0;i;

17、i+)(printf( 10%02d,i+1);printf( 总统房);printf( %-9s,);printf(%-22s,i.IDnumber);printf(%-16s,i.phonenumber);printf(%-5d,i.days);printf(%8dn,i.days*388);)for (int j=20;j;j+)(printf( 20%02d,j+1);printf( 豪华房);printf( %-9s,);printf(%-22s,j.IDnumber);printf(%-16s,j.phonenumber);printf(%-5d,j.day

18、s);printf(%8dn,j.days*288);)for (int k=40;k;k+)(printf( 30%02d,k+1);printf( 普通房);printf( %-9s,);printf(%-22s,k.IDnumber);printf(%-16s,k.phonenumber);printf(%-5d,k.days);printf(%8dn,k.days*188);)printf( = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =n);)信息查找函数:vo

19、id searchinformation()(char name20;printf(请输入要查找的客人姓名:);scanf(%s,name);int i=search(name);if (i=-1)(printf(未找到该客人!n);)else(printf(您所查找客人信息如下n);printf(nn);printf( 房号 房型 客人姓名 身份证号码 电话号码入住天数 房费 ( 元) n); printf(n);if(i=0)printf( %d,i.roomnumber);printf( 总统房 );printf( %-9s,);printf(%-22s,i.IDnumber

20、);printf(%-1s,i.phonenumber);printf(%-7d,i.days);printf(%n,i.fee);else if(i=20&i=40&inext=NULL;droom=(struct droominformation *)malloc(sizeof(struct droominformation);droom-next=NULL;sroom=(struct sroominformation *)malloc(sizeof(struct sroominformation);sroom-next=NULL;while(1)Menu();scanf(%d,&cho)

21、;switch(cho)case 0:exit(0);case 1:if(all=60)printf(所有房间已全部入住! n);elseprintf(入住房型选择:n 1. 总统房(388/天)2. 豪华房(288/天)3. 普通房( 188/ 天)n);scanf(%d,&sel);if(sel3)printf( 选择错误,请重新选择! );elseswitch(sel)case 1:biginputInformation();break;case 2:dblinputInformation();break;case 3:sglinputInformation();break;break;

22、modifyInformation(); break;searchinformation(); break;deleteInformation(); break;outList(); break;saveInfoToFile(); break;2. 登记入住函数:void biginputInformation() 息统计输出函数:void outList()struct broominformation * p;struct droominformation * q;struct sroominformation * w;p=broom-next;q=droom-next;w=sroom-n

23、ext;printf(宾 馆 房 间 入 住 情 况 n);printf(n);printf( 房号 房型客人姓名身份证号码电话号码入住天数 房费(元)n);printf( = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =n);while (p!=NULL)(printf( %d,p-broomnumber);printf(总统房);printf(%-9s”,p-bname);printf(%-22s,p-bIDnumber);printf(%-16s,p-bphonenumber);

24、printf(%-7d”,p-bdays);printf(%n,p-bfee);p=p-next;while (q!=NULL)(printf( %d,q-droomnumber);printf(豪华房);printf(%-9s”,q-dname);printf(%-22s,q-dIDnumber);printf(%-16s,q-dphonenumber);printf(%-7d”,q-ddays);printf(%n,q-dfee);q=q-next;while (w!=NULL)(printf( %d,w-sroomnumber);printf(普通房);printf(%-9s”,w-sn

25、ame);printf(%-22s,w-sIDnumber);printf(%-16s,w-sphonenumber);printf(%-7d”,w-sdays);printf(%n,w-sfee);w=w-next; printf( = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =n);6.退房登记函数:void deleteInformation() (char name20;struct broominformation * p;struct broominformation *

26、 p1;struct droominformation * q;struct droominformation * q1;struct sroominformation * w;struct sroominformation * w1;printf(请输入要退房客人姓名:);scanf(%s,name);p=bsearch(name);q=dsearch(name);w=ssearch(name);if (p=NULL) (if (q=NULL)if (w=NULL)printf(未找到该客人! n);else if(p!=NULL)p1=p-next;p-next=p1-next;free(

27、p1);return;else if(q!=NULL)q1=q-next;q-next=q1-next;free(q1);return;else if(w!=NULL)w1=w-next;w-next=w1-next;free(w1);return; return;7. 文件存储函数:void saveInfoToFile()FILE * fp;if(fp=fopen(d:,wb+)=NULL)printf(Cannot open file strike any key exit!);getchar();exit(1);struct broominformation * p;struct dr

28、oominformation * q;struct sroominformation * w;p=broom-next;q=droom-next;w=sroom-next;while (p!=NULL)fwrite(p,sizeof(struct broominformation),1,fp);p=p-next;while (q!=NULL)fwrite(q,sizeof(struct droominformation),1,fp);q=q-next;while (w!=NULL)fwrite(p,sizeof(struct sroominformation),1,fp);w=w-next;fclose(fp);return;五、系统功能测试(一)菜单功能执行测试执行程序,出现菜单:选择入住登记,输入信息:菜单选择信息修改:菜单选择信息查找:菜单选择入住情况统计输出:菜单选择退房登记:(二)容错功能测试:执行菜单选择有误:房型选择输入错误:登记入住输入信息时身份证号码和手机号码输入错误:查找、修改客人信息时错误:入住

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论