C语言课程设计宾馆住宿系统Word文档下载推荐.docx
- 文档编号:4908106
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:53
- 大小:105.04KB
C语言课程设计宾馆住宿系统Word文档下载推荐.docx
《C语言课程设计宾馆住宿系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言课程设计宾馆住宿系统Word文档下载推荐.docx(53页珍藏版)》请在冰点文库上搜索。
客房基本信息录入。
允许对已经录入的数据重新进行编辑、修改,各种基本数据的插入、删除,基于各种数据的查询、统计计算。
宾馆住宿信息其它方面的统计(自行确定)。
三实验内容:
程序概况
本程序采用文本菜单界面,程序数据结构采用三个方向的十字链表来处理的。
具有对客房基本信息,客户信息的新建、修改、插入、删除、查找、查看、统计、保存、载入等功能。
程序虽简单,但具有完整的功能。
程序模块示意图
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{
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);
修改房间信息
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<
math.h>
stdio.h>
dos.h>
conio.h>
malloc.h>
string.h>
stdlib.h>
#defineTRUE1
#defineFALSE0
#defineNAME20
#defineMAX_ID20
#defineNUM10
#defineTELE20
#defineTIME12
typedefstruct{
fangjian**Buffer;
intBufsize;
/*缓冲区大小*/
}Buf;
intleft;
inttop;
intright;
intbottom;
}Rect;
/*矩形区域,一个好东西*/
/*Guide*/
/*tools*/
/*按照p规则收集前num个信息*/
/*按照次数规则*/
/*按照价格规则*/
/*fun_fun*/
/*获取一整个类型*/
/*获取一个房间*/
/*获取一个客户*/
intxierukefang(FILE*pf,Pfangjianzhongleisub_tree);
/*获取num_room个房间*/
/*修改客户信息*/
/*修改房间信息*/
/*搜索一个类型*/
/*搜一个房间*/
/*搜一个客户*/
/*插入*/
/*删除*/
/*修改*/
intBuf_Clear(void);
intBuf_Fill_Tree(PfangjianzhongleipRST_temp);
/*快速排序法排序,基于比较*/
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;
inthuodekefangzhonglei(FILE*pf,Pfangjianzhongleisub_tree)
if(!
feof(pf))
fread(sub_tree,sizeof(fangjianzhonglei),1,pf);
return1;
else
return0;
inthuodekefang(FILE*pf,Pfangjianroom)
fread(room,sizeof(fangjian),1,pf);
inthuodekehu(FILE*pf,Pkehucustom)
fread(custom,sizeof(custom),1,pf);
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'
next=NULL;
#defineIR_X100
#defineIR_Y100
#defineIR_CX100
#defineIR_C20
inttianjiakefang(PfangjianzhongleipRST)
constchar*szRoom="
Whatisthetype?
charBuf[BUFSIZE];
intnum,i;
PfangjianpRF;
Buf[0]='
\0'
szRoom);
for(i=1,pRST2=pRST;
i<
num&
&
pRST2;
pRST2=pRST2->
;
pRST2)
pRF=pRST2->
shuliang++;
while(pRF->
pRF=pRF->
pRF->
next=(Pfangjian)malloc(sizeof(fangjian));
pRF=pRF->
huodekefangxinxi(pRF);
#defineIC_Y160
#defineIC_Y2220
inttianjiakehu(PfangjianzhongleipRST)
constchar*szTree="
Whichroom"
constchar*szName="
Thename"
charRoom[BUFSIZE];
inttype,i;
PkehupCu;
szTree);
type);
Room);
pRST2->
zhonglei!
=type+'
;
while(!
strcmp(pRF->
num,Room)&
pRF)
pCu=pRF->
Record;
while(pCu->
pCu=pCu->
pCu->
next=(Pkehu)malloc(sizeof(kehu));
pCu=pCu->
times++;
huodekehuxinxi(pCu);
intsousuokefangzhonglei(PfangjianzhongleipRST)
Whichtype?
constchar*szError="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 宾馆 住宿 系统