C语言简易宾馆系统Word文档格式.docx

上传人:b****6 文档编号:16383909 上传时间:2022-11-23 格式:DOCX 页数:40 大小:91.53KB
下载 相关 举报
C语言简易宾馆系统Word文档格式.docx_第1页
第1页 / 共40页
C语言简易宾馆系统Word文档格式.docx_第2页
第2页 / 共40页
C语言简易宾馆系统Word文档格式.docx_第3页
第3页 / 共40页
C语言简易宾馆系统Word文档格式.docx_第4页
第4页 / 共40页
C语言简易宾馆系统Word文档格式.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

C语言简易宾馆系统Word文档格式.docx

《C语言简易宾馆系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言简易宾馆系统Word文档格式.docx(40页珍藏版)》请在冰豆网上搜索。

C语言简易宾馆系统Word文档格式.docx

设计报告要求文字通畅,排版规范;

设计报告文字原则上不少于3000字(程序代码除外),并装订成册。

版面要求

1.题目用黑体三号,段后距18磅(或1行),居中对齐;

2.标题用黑体四号,段前、段后距6磅(或0.3行);

3.正文用小四号宋体,行距为固定值“20”,程序代码用固定值“15”;

4.标题按“一”、“㈠”、“1”、“⑴”顺序编号。

上机时间安排

星期

周次

第17周

第18周

指导地点及考核时间

1、指导地点:

2、考核时间:

重庆交通大学信息学院课程设计评分表

序号

项目

评分标准及说明

评分

1

学生自评分(20%)

按任务书的要求,学生根据任务完成情况及质量自我评分。

多人一组共同完成者,19-20分不超过1人,17-18不超过2人,由组长评分(多人一组独立完成者按独立完成定)。

2

纪律及平时成绩(10%)

按规定时间到实验室完成实验及综合实验,每缺1次实验扣2分,缺4次及以上不得分。

3

系统演示(功能)及答辩(40%)

根据学生PPT汇报、系统演示及回答问题情况,由答辩组(老师)给出答辩等级(直接在此评分表中打“√”),指导教师按等级相应分值打分

答辩等级

分值

A+

39-40

A

38

A-

36-37

B+

34-35

B

32-33

B-

30-31

C+

28-29

C

26-27

C-

24-25

D

0-23

4

项目设计报告(30%)

根据学生完成的项目设计报告书情况,由指导教师给定等级(直接在此评分表中打“√”)及成绩(特别提醒:

设计报告相同者均记0分)

30

27

25-26

23-24

21-22

20

19

18

0-17

指导教师:

总分:

设计报告

1、系统的功能需求及分析

(一)设计要求:

1.主要功能包括:

2.数据用文件存储;

3.主要操作采用菜单方式;

4.数据输入有容错功能(比如成绩:

5.分别用链表和数组实现所要求的功能。

(二)具体设计思路:

1.针对我设计的简易宾馆管理系统,其所需实现的具体功能如下:

(1)登记入住;

(2)信息修改;

(3)信息查找;

(4)退房登记;

(5)入住情况统计输出;

(6)基本数据文件存储;

2.对于要求的容错功能,主要是在如下地方:

(1)入住登记时判断输入客人身份证号码是否为18位;

(2)入住登记时判断输入电话号码是否为11位;

(3)入住登记时判断是否还有空房间;

(4)入住情况统计输出时判断是否入住客人;

(5)菜单选择的时候必须输入相应的数字(如输入8便会进行报错);

(6)选择房型的时候必须输入相信的数字(同上报错);

二、数据结构及主要算法设计说明

(一)数据结构

1.数组

所需要存储的基本信息为:

客人姓名,身份证号码,手机号码,入住天数,房号,已入住房间数;

#defineNumber60//共有房间60间

structinformation{

charname[20];

//客人姓名

charIDnumber[18];

//身份证号码

charphonenumber[11];

//手机号码

intdays;

//客人入住天数

introomnumber;

//客人入住房号

Floatfee;

//入住房费

}roooms;

structcheckedroom{

informationrooms[Number];

intbigNum;

//总统房房号

intsglNum;

//普通房房号

intdblNum;

//豪华房房号

intallnum;

//已入住房间数

};

2.链表:

structbroominformation//总统房链表建立

{

charbname[13];

charbIDnumber[19];

charbphonenumber[12];

floatbfee;

intbdays;

intbroomnumber;

structbroominformation*next;

structdroominformation//豪华房链表建立

chardname[13];

chardIDnumber[19];

chardphonenumber[12];

floatdfee;

intddays;

intdroomnumber;

structdroominformation*next;

structsroominformation//普通房链表建立

charsname[13];

charsIDnumber[19];

charsphonenumber[12];

floatsfee;

intsdays;

intsroomnumber;

structsroominformation*next;

3.菜单:

voidMenu()

{

printf("

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n"

);

§

\n"

简易宾馆管理系统§

|1.入住登记|\n"

|2.信息修改|\n"

|3.信息查找|\n"

|4.退房登记|\n"

|5.入住情况统计输出|\n"

|6.基本数据文件存储|\n"

|0.退出系统|\n"

请选择输入:

"

}

(二)主要算法设计说明

系统总体结构

(1)总模块图

(二)子模块图

1.入住登记

选择客人入住房型,输入入住客人相关信息,如姓名、身份证号码、手机号码、入住天数,输出房费、房号。

并且在输入时需要输入正确的号码位数

2.信息修改

修改指定客人的信息,首先输入联系人的姓名,然后对其入住登记时填入的信息。

3.查找信息

输入想要查找的客人的姓名,然后会按格式输出所查找的联系人的信息。

4.其他模块

退房登记:

输入客人的姓名,然后退房登记,相当于将客人的信息从管理系统总删除,房间的的总数就会减少;

入住情况统计输出:

将宾馆客房入住情况按格式输出;

基本数据文件存储:

将文件存储在指定的位置。

4、系统实现及主要代码

(1)数组

1.主函数:

voidmain()

intcho=0,sel;

myroom.bigNum=0;

myroom.sglNum=40;

myroom.dblNum=20;

myroom.allnum=0;

while

(1)

Menu();

scanf("

%d"

&

cho);

if(cho<

0||cho>

7)

printf("

您的选择有误,请重新选择!

elseif(myroom.allnum==Number)

客房已全部入住!

else

switch(cho)

{

case0:

exit(0);

case1:

{

printf("

入住房型选择:

\n1.总统房(¥388.0/天)2.豪华房(¥288.0/天)3.普通单间(¥188.0/天)\n"

scanf("

sel);

if(sel<

0||sel>

3)

printf("

选择错误,请重新选择!

else

switch(sel)

{

biginputInformation();

break;

case2:

dblinputInformation();

case3:

sglinputInformation();

}

}break;

case2:

reviseinformation();

break;

searchinformation();

case4:

deleteInformation();

case5:

outList();

case6:

}

}

2.登记入住函数:

voidbiginputInformation()//房型为总统房的房间登记入住

intpn;

if(myroom.bigNum==20)

总统房已全部入住,请选择其他房型!

return;

{

客人姓名:

%s"

myroom.rooms[myroom.bigNum].name);

while

(1)

身份证:

myroom.rooms[myroom.bigNum].IDnumber);

intm;

m=strlen(myroom.rooms[myroom.bigNum].IDnumber);

if(m!

=18)

您的输入有误,请重新输入!

else

break;

}

客人电话号码:

myroom.rooms[myroom.bigNum].phonenumber);

intn;

n=strlen(myroom.rooms[myroom.bigNum].phonenumber);

if(n!

=11)

break;

printf("

入住天数:

scanf("

myroom.rooms[myroom.bigNum].days);

myroom.rooms[myroom.bigNum].fee=myroom.rooms[myroom.bigNum].days*388.0;

应收金额为:

¥%10.2f\n"

myroom.rooms[myroom.bigNum].fee);

myroom.rooms[myroom.bigNum].roomnumber=myroom.bigNum+1001;

入住房间房号:

%d"

myroom.rooms[myroom.bigNum].roomnumber);

}

myroom.bigNum++;

myroom.allnum++;

继续入住下一总统房?

1:

继续;

0:

退出\n"

pn);

if(pn==0)break;

}

voiddblinputInformation()//房型为豪华房的房间登记入住

if(myroom.dblNum==40)

豪华房已全部入住,请选择其他房型!

myroom.rooms[myroom.dblNum].name);

myroom.rooms[myroom.dblNum].IDnumber);

intm=strlen(myroom.rooms[myroom.dblNum].IDnumber);

myroom.rooms[myroom.dblNum].phonenumber);

n=strlen(myroom.rooms[myroom.dblNum].phonenumber);

else

myroom.rooms[myroom.dblNum].days);

myroom.rooms[myroom.dblNum].fee=myroom.rooms[myroom.dblNum].days*288.0;

myroom.rooms[myroom.dblNum].fee);

myroom.rooms[myroom.dblNum].roomnumber=myroom.dblNum+2001;

myroom.rooms[myroom.dblNum].roomnumber);

myroom.dblNum++;

\n继续入住下一豪华房?

\n11:

voidsglinputInformation()//房型为普通房的房间登记入住

if(myroom.sglNum==60)

普通房已全部入住,请选择其他房型!

myroom.rooms[myroom.sglNum].name);

myroom.rooms[myroom.sglNum].IDnumber);

intm=strlen(myroom.rooms[myroom.sglNum].IDnumber);

myroom.rooms[myroom.sglNum].phonenumber);

n=strlen(myroom.rooms[myroom.sglNum].phonenumber);

myroom.rooms[myroom.sglNum].days);

myroom.rooms[myroom.sglNum].fee=myroom.rooms[myroom.sglNum].days*188.0;

myroom.rooms[myroom.sglNum].fee);

myroom.rooms[myroom.sglNum].roomnumber=myroom.sglNum+3001;

myroom.rooms[myroom.sglNum].roomnumber);

myroom.sglNum++;

\n继续入住下一普通房?

\n1:

0:

3.查找函数:

intsearch(charrname[])

for(inti=0;

i<

myroom.bigNum;

i++)

if(strcmp(rname,myroom.rooms[i].name)==0)

returni;

for(i=20;

myroom.dblNum;

returni;

for(i=40;

myroom.sglNum;

i=-1;

returni;

4.修改信息函数:

voidreviseinformation()

charrname[20];

请输入要修改客人的姓名:

scanf("

rname);

inti=search(rname);

if(i==-1)

printf("

未找到该客人!

else

myroom.rooms[i].name);

myroom.rooms[i].IDnumber);

intm=strlen(myroom.rooms[i].IDnumber);

myroom.rooms[myroom.bigNum].phonenumber);

myroom.rooms[i].days);

if(i>

=0&

&

=19)

myroom.rooms[i].fee=myroom.rooms[i].days*388.0;

¥%d\n"

myroom.rooms[i].fee);

elseif(i>

=20&

=39)

myroom.rooms[i].fee=myroom.rooms[i].days*288.0;

=40&

=59)

myroom.rooms[i].fee=myroom.rooms[i].days*188.0;

return;

5.退房函数:

voiddeleteInformation()

请输入要退房的客人姓名:

%s

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

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1