




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1. 问题描述32. 基本要求33系统分析和设计34. 流程图55. 程序清单66. 测试数据107. 小结及收获和体会118. 参考资料12一、问题描述当今社会旅游成为一种时尚,住宿便成为了旅游中的问题。越来越多的旅客加重了旅馆登记,运作负担。如果有一款软件可以代替人工操作,将会极大的提高工作效率。二、基本要求1) 某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人;2) 链表存储结构:姓名、性别、房号、后续指针,按房间号有序;3) 能实现入住(注意性别)和退房,能按给定姓名、房号查询;4) 建议采用链表结构,但用其它方法实现也可。三、系统分析和设计(1)市场
2、分析随着我国市场经济的迅速发展和人们生活水平的不断提高, 宾馆酒店业的竞争越来越激烈。要想在竞争中取得优势, 必须在经营管理、产品服务等方面提高服务管理意识。而对宾馆的经营起决定作用的是客房管理。越来越多的宾馆管理人员已经意识到使用计算机网络和管理系统的重要性。(2)系统主要功能包括:(1)住房管理:住宿登记、客户退房(2)客房管理:客房查询(3)详细设计说明 结构体:struct customer int num; char name20;char sex;struct customer *next; cus; 相关函数:struct customer *creat(void) /*定义函数
3、,此函数带回一个指向链表头的指针*/struct customer *insert(struct customer *head,struct customer *consumer) /*插入登记客户信息函数*/struct customer *del(struct customer *head,int num) /*删除节点(客户退房的程序*/struct customer *search(struct customer *head,char c_name) /*寻找客户信息的程序*/void print(struct customer *head) /*在登记和退房时输出登记入住宾馆人员信息
4、*/(4)设计中的问题:由于链表的创建和文件操作上的课较少,加之程序设计时间较紧,上述源程序还有很多不完善之处。上述原代码中struct customer *insert(struct customer *head,struct customer *consumer)和struct customer *search(struct customer *head,char c_name)两个函数没有调试通过;寻找信息函数没有调试成功,在查找时得到的信息不对;insert函数运行还不是很完善。总之,在编写程序时遇到了很多问题。也有一些问题得到了解决,如在编写insert函数时开始输入不了数据,后来查
5、找资料,用malloc函数开辟了一个空间,可以完成数据的输入。在编写程序时我还是学到了很多。四、流程图开始(欢迎界面)选择所需操作2.登记信息1创建新系统3.退房信息4.查询信息选择所需操作按符合规定查找结束按房间查询是否输出退房人员信息输出开房人员信息五、程序清单#define NULL 0 #define LEN sizeof(struct customer) #include "string.h"struct customer int num; char name20;char sex;struct customer *next; cus; struct custom
6、er *creat(void) /*定义函数,此函数带回一个指向链表头的指针*/ struct customer *head,*p1,*p2; int n=0; p1=(struct customer *)malloc(LEN); p2=(struct customer *)malloc(LEN); printf("qing shu ru ke hu de xin xi:n"); printf("nfang jian:"); scanf("%d",&p1->num); printf("n"); pri
7、ntf("xing ming:"); scanf("%s",p1->name); printf("n"); printf("xing bie:"); scanf("%s",&p1->sex); printf("n"); head=NULL; while(p1->num!= 0) /*创建链表,当输入值不为0时创建节点并添加值,继续重复;若输入值为0,结束循环并返回头节点指针。*/ n+; if(n=1) head=p1; else p2->ne
8、xt=p1; p2=p1; p1=(struct customer *)malloc(LEN); printf("qing shu ru ke hu de xin xi:n"); printf("nfang jian:"); scanf("%d",&p1->num); printf("n"); printf("xing ming:"); scanf("%s",p1->name); printf("n"); printf("xi
9、ng bie:"); scanf("%s",&p1->sex); printf("n"); p2->next=NULL; return(head); struct customer *insert(struct customer *head,struct customer *consumer) struct customer *p1,*p2; p1=head; p2=consumer; while(p1->next!=NULL) p1=p1->next; if(p1->next=NULL) p1->n
10、ext=p2; p2->next=NULL; return(head); struct customer *del(struct customer *head,int num) /*删除节点的程序*/ struct customer *p1,*p2; if(head=NULL) /*是空表*/ printf("mei you ke hu xin xin"); return(head); p1=head; /*P1指向第一个节点*/while(num!=p1->num&&p1->next!=NULL)/*P1不是所要指向的节点,且后面还有节点
11、*/ p2=p1;p1=p1->next;/*P1后移一个节点*/ if(num=p1->num) /*找到了*/ if(p1=head) head=p1->next; /*若P1是首节点,把第二个节点地址赋予head*/else p2->next=p1->next; /*否则将下一个节点地址赋给head*/printf("tui fang xin xi:n"); printf("ke fang:%dn",&p1->num); printf("xing ming:%sn",p1->na
12、me); printf("xing bie:%sn",&p1->sex); else printf("mei you gai ke hu de xin xin"); return(head); struct customer *search(struct customer *head,char c_name) struct customer *p; p=head; while(strcmp(p->name,c_name)&&p->next!=NULL) /*输入的字符和结构体中的name不相等*/p=p->
13、next; if(p->name=c_name) printf("gai ke hu de xin xi wei:n"); printf("fang jian:%dnxing ming:%sn xing bie:%c",p->num,p->name,p->sex); if(p->name!=c_name&&p->next=NULL) printf("mei you gai ke hu xin xi!n"); void print(struct customer *head) /*输出
14、宾馆人员信息*/ struct customer *p; printf("nxian you ke hu xin xi wei:n"); p=head; if(head!=NULL) do printf("ke fang:%dn",p->num); printf("xing ming:%sn",p->name); printf("xing bie:%cn",p->sex); p=p->next; while(p!=NULL); main() struct customer *head,*p;
15、 int m,number; char c_name20; printf("n"); printf(" *n"); printf(" huan ying jin ru bin guan ke fang guan li xi tongn"); printf(" *n"); printf(" *nn"); printf(" 1:jian kun"); /*creat*/printf(" 2:deng jin"); /*insert*/printf("
16、 3:tui fangn"); /*del*/printf(" 4:cha xunn"); /*search*/printf(" *nn"); printf("zhi xing chao zuo:n");scanf("%d",&m); if(m=1) /*建库*/head=creat(); else if(m=2) /*登记*/ printf("qing shu ru yao deng ji de ke hu xin xi:"); p=(struct customer *)ma
17、lloc(LEN); printf("fang jian;xing ming;xing bie:");scanf("%d %s %c",&p->num,p->name,&p->sex); head=insert(head,p); print(head); /*输出登记人员的信息*/ else if(m=3) /*退房*/ printf("qing shu ru yao tui fang ke hu de fang jian hao:"); scanf("%d",&numbe
18、r); head=del(head,number); print(head);/*输出登记人员的信息*/ else if(m=4) /*查询*/ printf("qing shu ru yao cha xun ke hu de xing ming:"); scanf("%s",c_name); search(head,c_name); else printf("zhi xing chao zuo cuo wu!"); 六、测试数据七、小结及收获和体会这次课题设计对自己来说是一次新的尝试,我选的课题是宾馆客房管理软件,这个课题必须要协助课外的知识才能完成。记得当时开始做的时候真的是一头雾水,都开始后悔自己选了这个课题,还没和同学组队,当时想就从网上下程序或者从其他人那拷来程序交了吧,可是当看到大二学长们的课题报告时,我犹豫了,他们也都是自己编的,为什么他们能做到我不可以呢!趁着一股劲儿,我从图书馆借来了程序设计方面的书,花了几天的时间把和这个课题有关的知识看了一遍,当时看过之后还是挺迷糊的,然后开始尝试着编,发现真正编起来也不是很难,终于花了一上午的时间把程序编好了。随后找时间去了机房调试,开始时出现的问题还挺多的。在编辑编译时出现了定义方面的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育多元化教学考核试卷
- 烟草机械装备的故障诊断专家系统考核试卷
- 家具企业产品线规划与市场定位考核试卷
- 森林火灾防控新技术研究考核试卷
- 煤炭加工过程中的职业病防治考核试卷
- 木制容器涂装与防腐考核试卷
- 个体小店用工合同标准文本
- 买卖车辆纠纷合同标准文本
- 出售苗木转让合同范例
- 分割户外家具合同范例
- 消防安全隐患排查试题及答案
- 2024年食品安全法管理知识试题库(含答案)
- 2025广西文化产业集团招聘174人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年度画家经纪业务合作协议书模板
- 2025年长春医学高等专科学校单招职业适应性考试题库参考答案
- DB37-T 5310-2025《城镇排水管渠养护维修服务规范》
- 微笑面对挫折(课件)六年级心理健康(苏科版)
- 2024-2030全球细胞治疗制造平台行业调研及趋势分析报告
- 2025届小米全球校园招聘启动(即将笔试)笔试参考题库附带答案详解
- 胆管癌手术护理
- 湖南省长沙市雨花区长沙市华益中学2024-2025学年九年级下学期开学考试英语试题(含答案无听力原文及音频)
评论
0/150
提交评论