C语言课程设计宾馆住宿系统.docx

上传人:b****1 文档编号:2643804 上传时间:2023-05-04 格式:DOCX 页数:53 大小:105.04KB
下载 相关 举报
C语言课程设计宾馆住宿系统.docx_第1页
第1页 / 共53页
C语言课程设计宾馆住宿系统.docx_第2页
第2页 / 共53页
C语言课程设计宾馆住宿系统.docx_第3页
第3页 / 共53页
C语言课程设计宾馆住宿系统.docx_第4页
第4页 / 共53页
C语言课程设计宾馆住宿系统.docx_第5页
第5页 / 共53页
C语言课程设计宾馆住宿系统.docx_第6页
第6页 / 共53页
C语言课程设计宾馆住宿系统.docx_第7页
第7页 / 共53页
C语言课程设计宾馆住宿系统.docx_第8页
第8页 / 共53页
C语言课程设计宾馆住宿系统.docx_第9页
第9页 / 共53页
C语言课程设计宾馆住宿系统.docx_第10页
第10页 / 共53页
C语言课程设计宾馆住宿系统.docx_第11页
第11页 / 共53页
C语言课程设计宾馆住宿系统.docx_第12页
第12页 / 共53页
C语言课程设计宾馆住宿系统.docx_第13页
第13页 / 共53页
C语言课程设计宾馆住宿系统.docx_第14页
第14页 / 共53页
C语言课程设计宾馆住宿系统.docx_第15页
第15页 / 共53页
C语言课程设计宾馆住宿系统.docx_第16页
第16页 / 共53页
C语言课程设计宾馆住宿系统.docx_第17页
第17页 / 共53页
C语言课程设计宾馆住宿系统.docx_第18页
第18页 / 共53页
C语言课程设计宾馆住宿系统.docx_第19页
第19页 / 共53页
C语言课程设计宾馆住宿系统.docx_第20页
第20页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言课程设计宾馆住宿系统.docx

《C语言课程设计宾馆住宿系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计宾馆住宿系统.docx(53页珍藏版)》请在冰点文库上搜索。

C语言课程设计宾馆住宿系统.docx

C语言课程设计宾馆住宿系统

华中科技大学计算机科学与技术学院

 

《C语言程序设计》课程设计

实验报告

 

题目:

宾馆住宿信息管理系统

 

专业:

班级:

学号:

XX:

成绩:

指导教师:

 

完成日期:

20年10月1日

宾馆管理住宿系统

一实验目的:

1、进一步掌握和利用C语言进行程设计的能力;

2、进一步理解和运用结构化程设计的思想和方法;

3、初步掌握开发一个小型实用系统的基本方法;

4、学会调试一个较长程序的基本方法;

5、学会利用流程图或N-S图表示算法;

6、掌握书写程设计开发文档的能力(书写课程设计报告);

二实验要求:

1、只能使用C语言,源程序要有适当的注释,使程序容易阅读。

2、要有用户界面。

要求至少采用简易菜单;鼓励采用文本菜单界面甚至采用图形菜单界面。

3、必须使用结构和十字交叉链表等数据结构。

4、使用文件保存数据。

5、至少输出一份报表(屏幕输出即可),鼓励自行增加新功能。

 

功能要求(宾馆住宿信息管理系统):

对宾馆所有客房的住宿信息进行管理,主要包括客房基本信息、客户住宿信息。

包含功能:

客房基本信息录入。

允许对已经录入的数据重新进行编辑、修改,各种基本数据的插入、删除,基于各种数据的查询、统计计算。

宾馆住宿信息其它方面的统计(自行确定)。

 

三实验内容:

程序概况

本程序采用文本菜单界面,程序数据结构采用三个方向的十字链表来处理的。

具有对客房基本信息,客户信息的新建、修改、插入、删除、查找、查看、统计、保存、载入等功能。

程序虽简单,但具有完整的功能。

程序模块示意图

1)主程序流程图

2)主要数据结构图

程序数据结构采用三个方向的十字链表来处理的。

程序详细介绍

主要数据结构:

typedefstructkehuxinxi{

charname[20];/*客户XX*/

charid[20];/*客户ID*/

charsex;/*性别*/

chartelephone[20];/**/

charroom[10];/*房间号*/

chartime[12];/*入住时间*/

floatyingshou;/*应付费用*/

floatshishou;/*实际费用*/

charshouyinyuan[20];/*收银员*/

structkehuxinxi*next;

}kehu,*Pkehu;

客户信息包含客户XX,ID,性别,房间号,入住时间,应付费用,实际费用,收银员的资料。

typedefstructkefangxinxi{

charnum[10];/*房间号*/

charzhonglei;/*类别*/

inttimes;/*入住次数*/

floatjiage;/*价格*/

structkefangxinxi*next;

PkehuRecord;

}fangjian,*Pfangjian;

客房信息里包含房间号,房间类别,入住次数,房间价格资料。

typedefstructkefangzhonglei{

charzhonglei;/*类别*/

intshuliang;/*房间数*/

Pfangjianfirst;

structkefangzhonglei*next;

}fangjianzhonglei,*Pfangjianzhonglei;

房间种类包含房间类别和房间数目资料。

各函数功能介绍(为方便阅读理解程序,函数名用汉语拼音代替)

intxiangdaohejiemian(intfunction,Pfangjianzhonglei*pRST);

绘制功能选择界面

intCollect(int(*p)(void*,void*),intnum);

按照p规则收集前num个信息

intjiyushijian(void*,void*);

按照次数规则

intjiyujiage(void*,void*);

按照价格规则

inthuodecaidan(char**szTitles,intnum);

获取菜单

inthuodekefangzhonglei(FILE*pf,Pfangjianzhongleisub_tree);

获取一整个类型,客房种类

inthuodekefang(FILE*pf,Pfangjianroom);

获取一个房间信息

inthuodekehu(FILE*pf,Pkehucustom);

获取一个客户信息

intxierukefangxinxi(FILE*pf,Pfangjianroom);

写入客房信息

intxierukehuxinxi(FILE*pf,Pkehucustom);

写入客户信息

inthuodenkefang(Pfangjianzhongleisub_tree,intnum_room);

获取num_room个房间

intxiugaikehuxinxi(PkehupCu);

修改客户信息

intxiugaikefangxinxi(PfangjianpRF);

修改房间信息

intCollect(int(*p)(void*,void*),intnum);

按照p规则收集前num个信息

intjiyushijian(void*,void*);

按照次数规则

intjiyujiage(void*,void*);

按照价格规则

intDisplay(void);

intGet_Info(char**szTitles,char**buffer,intnum);

intzhanxiankehu(PkehupCu);

intzhanxiankefang(PfangjianpRF);

显示客房客户信息

inthuodekehuxinxi(PkehupCu);

获取客户信息

intsousuokefangzhonglei(PfangjianzhongleipRST);

搜索一个类型客房种类

intsousuokefangxinxi(PfangjianzhongleipRST);

搜索一个客房

intsousuokehu(PfangjianzhongleipRST);

搜索一个客户

inttianjiazhonglei(PfangjianzhongleipRST);

插入客房种类

inttianjiakefang(PfangjianzhongleipRST);

插入一个客房

inttianjiakehu(PfangjianzhongleipRST);

插入一个客户

intshanchuzhonglei(Pfangjianzhonglei*pRST);

删除客房种类

intshanchukefang(Pfangjianzhonglei*pRST);

删除客房信息

intshanchukehu(Pfangjianzhonglei*pRST);

删除客户信息

intxiugaikefangzhonglei(PfangjianzhongleipRST);/

修改客房种类

intxiugaikehu(PfangjianzhongleipRST);

修改客户信息

inthuodekefangxinxi(PfangjianpRF);

获得客房信息

/*Qsort*/

voidQsort(void**array,intlow,inthigh,int(*p)(void*,void*));

快速排序法排序

 

四运行结果

1开始功能选择菜单

2新建功能界面

3插入功能界面

4修改功能界面

5删除功能界面

6查找功能界面

7查看功能界面

 

 

详细设计:

(源程序清单见附录):

 

五心得体会

通过这次实训,增加了我学习软件技术的兴趣,虽然在编写修改代码的工程中花费了不少时间甚至有放弃的想法,但最终看到程序运行,那种喜悦兴奋之情无法用文字描述。

1.编写课程设计是理论结合实际的一次很好结合,虽然写得作业仅仅只能当做一项作业没有实际使用的价值,但还是从中学到了不少,真正地体会到完成一项任务的艰辛和付出之后收获的快乐。

2.编写程序时应该使程序易于理解尽量使用通用的变量名和通俗的注释。

3.虽然很多东西刚开始时都不懂,但只要坚持下去学,慢慢地就会熟悉。

4.程序应该分几个文件装,要有条理性。

5.写程序运行时会出现很多bug,要耐心调试,编程需要耐心和细心。

把程序完整地调试好后,对自己性格的培养也是一种提高。

6.当自己解决不了时要向他人请教,虚心学习他人的方法。

这次完成作业向同学们请教了很多问题,得到了同学的帮助,在此真心地表示感谢。

 

参考文献

《TurboC使用大全》第一册、第二册徐金梧等编译科海培训中心

《C语言课程设计》曹计昌卢萍李开编著

《C程序设计》谭浩强著

附录

源程序清单

#ifndefDEF

#defineDEF

#defineBUFSIZE20

#defineMAX_ROOM100

#defineTEXT_CY20

#include

#include

#include

#include

#include

#include

#include

#defineTRUE1

#defineFALSE0

#defineNAME20

#defineMAX_ID20

#defineNUM10

#defineTELE20

#defineTIME12

typedefstructkehuxinxi{

charname[20];/*客户XX*/

charid[20];/*客户ID*/

charsex;/*性别*/

chartelephone[20];/**/

charroom[10];/*房间号*/

chartime[12];/*入住时间*/

floatyingshou;/*应付费用*/

floatshishou;/*实际费用*/

charshouyinyuan[20];/*收银员*/

structkehuxinxi*next;

}kehu,*Pkehu;

typedefstructkefangxinxi{

charnum[10];/*房间号*/

charzhonglei;/*类别*/

inttimes;/*入住次数*/

floatjiage;/*价格*/

structkefangxinxi*next;

PkehuRecord;

}fangjian,*Pfangjian;

typedefstructkefangzhonglei{

charzhonglei;/*类别*/

intshuliang;/*房间数*/

Pfangjianfirst;

structkefangzhonglei*next;

}fangjianzhonglei,*Pfangjianzhonglei;

typedefstruct{

fangjian**Buffer;

intBufsize;/*缓冲区大小*/

}Buf;

typedefstruct{

intleft;

inttop;

intright;

intbottom;

}Rect;/*矩形区域,一个好东西*/

/*Guide*/

intxiangdaohejiemian(intfunction,Pfangjianzhonglei*pRST);

/*tools*/

intCollect(int(*p)(void*,void*),intnum);/*按照p规则收集前num个信息*/

intjiyushijian(void*,void*);/*按照次数规则*/

intjiyujiage(void*,void*);/*按照价格规则*/

inthuodecaidan(char**szTitles,intnum);

/*fun_fun*/

inthuodekefangzhonglei(FILE*pf,Pfangjianzhongleisub_tree);/*获取一整个类型*/

inthuodekefang(FILE*pf,Pfangjianroom);/*获取一个房间*/

inthuodekehu(FILE*pf,Pkehucustom);/*获取一个客户*/

intxierukefang(FILE*pf,Pfangjianzhongleisub_tree);

intxierukefangxinxi(FILE*pf,Pfangjianroom);

intxierukehuxinxi(FILE*pf,Pkehucustom);

inthuodenkefang(Pfangjianzhongleisub_tree,intnum_room);/*获取num_room个房间*/

intxiugaikehuxinxi(PkehupCu);/*修改客户信息*/

intxiugaikefangxinxi(PfangjianpRF);/*修改房间信息*/

intCollect(int(*p)(void*,void*),intnum);/*按照p规则收集前num个信息*/

intjiyushijian(void*,void*);/*按照次数规则*/

intjiyujiage(void*,void*);/*按照价格规则*/

intDisplay(void);

intGet_Info(char**szTitles,char**buffer,intnum);

intzhanxiankehu(PkehupCu);

intzhanxiankefang(PfangjianpRF);

inthuodekehuxinxi(PkehupCu);

intsousuokefangzhonglei(PfangjianzhongleipRST);/*搜索一个类型*/

intsousuokefangxinxi(PfangjianzhongleipRST);/*搜一个房间*/

intsousuokehu(PfangjianzhongleipRST);/*搜一个客户*/

inttianjiazhonglei(PfangjianzhongleipRST);/*插入*/

inttianjiakefang(PfangjianzhongleipRST);

inttianjiakehu(PfangjianzhongleipRST);

intshanchuzhonglei(Pfangjianzhonglei*pRST);/*删除*/

intshanchukefang(Pfangjianzhonglei*pRST);

intshanchukehu(Pfangjianzhonglei*pRST);

intxiugaikefangzhonglei(PfangjianzhongleipRST);/*修改*/

intxiugaikehu(PfangjianzhongleipRST);

inthuodekefangxinxi(PfangjianpRF);

intBuf_Clear(void);

intBuf_Fill_Tree(PfangjianzhongleipRST_temp);

/*Qsort*/

voidQsort(void**array,intlow,inthigh,int(*p)(void*,void*));

/*快速排序法排序,基于比较*/

BufBuf_Room;

/*调试信息*/

#defineDEBUG

#defineDEBUG2

#defineDEBUG3(x)

DEBUG

#endif

intBuf_Clear(void)

{

Buf_Room.Bufsize=0;

return0;

}

intBuf_Fill_Tree(PfangjianzhongleipHead)

{

PfangjianpRoom;

for(pRoom=pHead->first;pRoom;pRoom=pRoom->next)

Buf_Room.Buffer[Buf_Room.Bufsize++]=pRoom;

return0;

}

inthuodekefangzhonglei(FILE*pf,Pfangjianzhongleisub_tree)

{

if(!

feof(pf))

fread(sub_tree,sizeof(fangjianzhonglei),1,pf);

if(!

feof(pf))

return1;

else

return0;

}

inthuodekefang(FILE*pf,Pfangjianroom)

{

if(!

feof(pf))

fread(room,sizeof(fangjian),1,pf);

if(!

feof(pf))

return1;

else

return0;

}

inthuodekehu(FILE*pf,Pkehucustom)

{

if(!

feof(pf))

fread(custom,sizeof(custom),1,pf);

if(!

feof(pf))

return1;

else

return0;

}

intxierukefang(FILE*pf,Pfangjianzhongleisub_tree)

{

returnfwrite(sub_tree,sizeof(fangjianzhonglei),1,pf);

}

intxierukefangxinxi(FILE*pf,Pfangjianroom)

{

returnfwrite(room,sizeof(fangjian),1,pf);

}

intxierukehuxinxi(FILE*pf,Pkehucustom)

{

returnfwrite(custom,sizeof(kehu),1,pf);

}

inttianjiazhonglei(PfangjianzhongleipRST)

{

char*szTitles="HowmanyRooms?

";

inti,num;

PfangjianzhongleipRST2;

for(i=0;pRST;pRST=pRST->next,i++)

pRST2=pRST;

pRST2->next=(Pfangjianzhonglei)malloc(sizeof(fangjianzhonglei));

pRST=pRST2->next;

printf("%s",szTitles);

scanf("%d",&num);

huodenkefang(pRST,num);

pRST->zhonglei=i+'0';

pRST->next=NULL;

return0;

}

#defineIR_X100

#defineIR_Y100

#defineIR_CX100

#defineIR_C20

inttianjiakefang(PfangjianzhongleipRST)

{

constchar*szRoom="Whatisthetype?

";

charBuf[BUFSIZE];

intnum,i;

PfangjianzhongleipRST2;

PfangjianpRF;

Buf[0]='\0';

printf("%s",szRoom);

scanf("%d",&num);

for(i=1,pRST2=pRST;inext,i++)

;

if(!

pRST2)

return0;

pRF=pRST2->first;

pRST2->shuliang++;

while(pRF->next)

pRF=pRF->next;

pRF->next=(Pfangjian)malloc(sizeof(fangjian));

pRF=pRF->next;

huodekefangxinxi(pRF);

pRF->next=NULL;

return0;

}

#defineIC_Y160

#defineIC_Y2220

inttianjiakehu(PfangjianzhongleipRST)

{

constchar*szTree="Whatisthetype?

";

constchar*szRoom="Whichroom";

constchar*szName="Thename";

charRoom[BUFSIZE];

inttype,i;

PfangjianzhongleipRST2;

PfangjianpRF;

PkehupCu;

printf("%s",szTree);

scanf("%d",&type);

printf("%s",szRoom);

scanf("%s",Room);

for(i=1,pRST2=pRST;pRST2->zhonglei!

=type+'0';pRST2=pRST2->next,i++)

;

if(!

pRST2)

return0;

pRF=pRST2->first;

while(!

strcmp(pRF->num,Room)&&pRF)

pRF=pRF->next;

if(!

pRF)

return0;

pCu=pRF->Record;

while(pCu->next)

pCu=pCu->next;

pCu->next=(Pkehu)malloc(sizeof(kehu));

pCu=pCu->next;

pCu->next=NULL;

pRF->times++;

huodekehuxinxi(pCu);

return0;

}

intsousuokefangzhonglei(PfangjianzhongleipRST)

{

constchar*szTree="Whichtype?

";

constchar*szError="

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2