C语言课程设计宾馆客房管理软件.docx

上传人:b****4 文档编号:24296139 上传时间:2023-05-26 格式:DOCX 页数:15 大小:117.06KB
下载 相关 举报
C语言课程设计宾馆客房管理软件.docx_第1页
第1页 / 共15页
C语言课程设计宾馆客房管理软件.docx_第2页
第2页 / 共15页
C语言课程设计宾馆客房管理软件.docx_第3页
第3页 / 共15页
C语言课程设计宾馆客房管理软件.docx_第4页
第4页 / 共15页
C语言课程设计宾馆客房管理软件.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言课程设计宾馆客房管理软件.docx

《C语言课程设计宾馆客房管理软件.docx》由会员分享,可在线阅读,更多相关《C语言课程设计宾馆客房管理软件.docx(15页珍藏版)》请在冰豆网上搜索。

C语言课程设计宾馆客房管理软件.docx

C语言课程设计宾馆客房管理软件

《课程名称》

课程设计报告

 

题目

宾馆客房管理软件

学号

姓名

年级专业

电子信息工程

指导教师

完成日期

2010

6

22

 

安徽师范大学物理与电子信息学院

CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity

目录

一、程序的具体分工

二、课题要求

三、课题分析与设计

四、选题背景

五、程序介绍

六、源程序代码与调试

七、流程图

八、结语

九、参考书目

一、程序的具体分工

第一部分包括主函数和menu菜单函数,第二部分包括客人的入住(checkin)函数和退房(checkout)函数,第三部分为查询(lookfor)函数。

二、课题要求

1)某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人;

2)链表存储结构:

姓名、性别、房号、后续指针,按房间号有序;

3)能实现入住(注意性别)和退房,能按给定姓名、房号查询;

4)建议采用链表结构,但用其它方法实现也可。

三、课题分析与设计

本程序是非数值计算型算法设计,我们设计出了宾馆客房管理系统的基本功能,并设计了简单的界面。

本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是结构体和数组,包括结构体数组的输入、输出、查找、删除等。

我设计的这个宾馆客房系统也初步实现了人员信息的显示、删除、查找、添加等必要的功能。

四、选题背景

C语言是目前世界上流行、使用最广泛的高级程序设计语言。

1972年,C语言在美国贝尔实验室里问世,后来又被多次改进,并出现了多种版本。

80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准。

目前,在微机上广泛使用的C语言编译系统有MicrosoftC、TurboC、VisualC++等。

 

C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。

C语言是一种结构化语言。

它层次清晰,便于按模块化方式组织程序,易于调试和维护。

C语言的表现能力和处理能力极强。

它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。

它还可以直接访问内存的物理地址,进行位(bit)一级的操作。

由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。

既可用于系统软件的开发,也适合于应用软件的开发。

此外,C语言还具有效率高,可移植性强等特点。

因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

为了将本学期所学C语言知识应用于实际,加深对C语言的理解与掌握,我院开设了C语言课程设计这门课程。

而我们小组选取了宾馆客房管理系统这个课题,以此来锻炼我们编写程序的能力。

五、程序介绍

宾馆客房管理系统由8个函数组成,包括main函数、menu函数、checkin函数、checkout函数、lookfor函数,其中checkin函数又包括一个add子函数,lookfor函数包括search1和search2两个子函数。

main函数主要是对menu函数、checkin函数、checkout函数、lookfor函数进行声明,建立静态链表并且对结构体中num、sex进行赋值。

menu函数是界面函数,有两个功能。

一是输出一个界面,二是作为进入其它函数的入口。

输入1则执行checkin函数;输入2则执行checkout函数,输入3则执行lookfor函数;输入4则执行返回管理系统。

checkin函数的功能是对入住房客的信息进行统计。

首先、函数先对五个房间的入住情况进行检查,并输出相应的信息。

例如、若房间301是空的,则显示可住两人信息;若已住一人,则显示可住一人信息,并且同时显示可住房客的性别;若已有两人入住,则不显示任何信息。

如果房客已决定入住,则输入1,进入add函数,按提示输入房客信息即可。

若要返回menu函数,则输入1。

checkout函数的功能是退房。

按提示信息输入房间号和姓名即可实现退房。

若要返回menu函数,输入1。

lookfor函数的功能是查询房客的信息,有按姓名查找和按房间号查找两种查询方式。

输入1则执行search1子函数,即按姓名查找;输入2则执行search2子函数,即按房号查找;输入3,执行manu函数。

若按姓名查找,则输入姓名即可;若按房间号查找,则输入房间号即可;若要退回lookfor函数,则输入1。

/*房间管理程序*/

#include

#include

#defineN5

structroom

{

charname[2][20];

charsex[2];

intintx[2],roomnum;

};

structroombroom[N]={{{"",""},{'',''},{0,0},301},{{"",""},{'',''},{0,0},302},

{{"",""},{'',''},{0,0},303},{{"",""},{'',''},{0,0},304},

{{"",""},{'',''},{0,0},305}

};

voidcheckin();

voidcheckout();

voidlookfor();

voidmain(void)

{

intintj=0;

while(intj!

=4)//主菜单

{

printf("\t\tPleaseSelect:

\n\t\t1.CheckIn\n\t\t2.CheckOut\n\t\t3.Search\n\t\t4.Exit\n\t\tPleaseSelectaTask:

");

scanf("%d",&intj);

if(intj==1)

{

checkin();

}

elseif(intj==2)

{

checkout();

}

elseif(intj==3)

{

search();

}

elseif(intj==4)

{

charch;

printf("\t\tAreYouSure?

(Y/N):

");

getchar();

ch=getchar();

if(ch!

='Y'&&ch!

='y')

{

intj=0;

}

}

else

{

printf("\t\tWarning:

WrongTask!

PleaseSelectAgain\n");

}

}

}

voidcheckin()//录入模块

{

charname[20],sex,ch;

intinti=0,intj=0;

printf("\t\tInputInformation(Namesex(F/M)):

");

scanf("%s%c",name,&sex);

printf("\t\tAvailable:

\n");

for(inti=0;inti

{

if(broom[inti].intx[0]!

=1&&broom[inti].intx[1]!

=1)

{

printf("\t\t%d%d\n\t\t%d%d\n",301+inti,1,301+inti,2);

intj++;

}

elseif(broom[inti].intx[0]==1&&broom[inti].sex[0]==sex)

{

printf("\t\t%d%d\n",301+inti,2);

intj++;

}

elseif(broom[inti].intx[1]==1&&broom[inti].sex[1]==sex)

{

printf("\t\t%d%d\n",301+inti,1);

intj++;

}

else

{

;

}

}

if(intj==0)//录入信息,完成入住

{

printf("\t\tNoBedLeft");

system("cls");

}

else

{

introomnum,bednum;

lp1:

printf("\t\tPleaseSelectRoomAndbed:

");

getchar();

scanf("%d%d",&roomnum,&bednum);

if(roomnum>305||roomnum<301||bednum>2||bednum<1)

{

printf("\t\tWrongRoomNumberOrBedNumber!

\n");

gotolp1;

}

strcpy(broom[roomnum-301].name[bednum-1],name);

broom[roomnum-301].intx[bednum-1]=1;

broom[roomnum-301].sex[bednum-1]=sex;

printf("\t\tSucceed\n\t\tContinueCheckingIn?

(Y/N):

");

getchar();

ch=getchar();

if(ch=='Y'||ch=='y')

{

system("cls");

checkin();

}

system("cls");

}

}

voidcheckout()//注销

{

charname[20],ch;

intinti=0,intj=0,intx=0;

printf("\t\tPleaseInputName:

");

getchar();

gets(name);

for(inti=0;inti

{

for(intj=0;intj<2;intj++)

{

if(strcmp(broom[inti].name[intj],name)==0)

{

intx=1;

break;

}

}

if(intx==1)

{

break;

}

}

printf("\t\tAreYouSure?

(Y/N)");

ch=getchar();

if(ch=='Y'||ch=='y')

{

broom[inti].intx[intj]=0;

printf("\t\tSucceed");

}

system("pause");

system("cls");

}

voidlookfor()//查找住客

{

intinti=0,intj=0;

lp2:

printf("\t\t1.ByName\n\t\t2.ByRoomnumber\n\t\tPleaseselect:

");//选择查找方式

scanf("%d",&inti);

if(inti>2||inti<1)

{

printf("\t\tWrongNumber!

\n");

gotolp2;

}

if(inti==1)//根据姓名查找

{

charname[20];

printf("\t\tPleaseInputName:

");

getchar();

gets(name);

for(inti=0;inti

{

for(intj=0;intj<2;intj++)

{

if(strcmp(broom[inti].name[intj],name)==0&&broom[inti].intx[intj]==1)

{

printf("\t\t%s%d%d%c\n",broom[inti].name[intj],301+inti,intj+1,broom[inti].sex[intj]);

break;

}

}

}

}

elseif(inti=2)//根据房间号查找

{

intinty=0;

printf("\t\tPleaseInputRoomNumber:

");

scanf("%d",&inty);

if(broom[inty-301].intx[0]==1)

{

printf("\t\t%s%d%d%c\n",broom[inty-301].name[0],inty,1,broom[inty-301].sex[0]);

}

if(broom[inty-301].intx[1]==1)

{

printf("\t\t%s%d%d%c\n",broom[inty-301].name[1],inty,2,broom[inty-301].sex[1]);

}

}

system("pause");

system("cls");

}

六、流程图

七、结语

通过这次课程设计,在我和我们小组成员的共同的努力下,将《宾馆客房管理系统》这个软件编写出来并运行成功。

在此同时,也加深了我对谭浩强的《C语言程序设计》这本书的体会和了解。

我对很多的函数有了新的认识,也学会了运用多种函数,我也明白了写软件的基本过程和基本方法。

写软件的过程中我又学到了曾经自己不知道的函数或是自己不会的

函数的用法。

这次课程设计课总的来说让我受益匪浅。

在软件的设计过程中遇到了很多的困难。

在软件一次一次的调试失败下曾经想过要放弃。

我最后还是让自己坚持了下来,毫不畏惧困难,在同学和老师的帮助与讲解下我总算是顺利的完成了软件的设计。

虽然在调试程序遇到了很多的困难,当软件调试成功时那种喜悦的感觉没有什么东西可以代替的。

在程序的编写过程中我发现我自己有很多的知识漏洞和缺陷,需要进一步努力学习来完善自己。

在这几天的编写过程中我对C语言有了更进一步的认识和了解。

此次编程过程的经验和知识肯定能促进我以后的学习。

此次课程设计不仅给了我很多很好的经验,也让我体会到了失败时的焦急和难受,成功时的兴奋与喜悦。

同时我们小组成员互帮互助,让我认识到团队的力量,团结就是力量。

八、参考书目

[1]谭浩强,C程序设计教程,清华大学出版社,2007年

[2]赵永哲,李雄飞,戴秀英编著,《C语言程序设计》,科学出版社,2003年

[3]夏宽理,赵子正编著,《C语言程序设计》,中国铁道出版社,2006年

[4]谭浩强编著,《C程序设计》,清华大学出版社,1991年

[5]GaryJ.Bronson,AFirstBookofANSIC(FourthEdition),PublishingHouseofElectronicsIndustry,2006.

[6]AlKelley,IraPohl,ABookonC:

ProgramminginC(FourthEdition),ChinaMachinePress,2004.

[7]BrianW.Kernighan,DennisM.Ritchie,TheCProgrammingLanguage,ChinaMachinePress,2006.

物理与电子信息学院课程设计评定意见

指导教师评语

主要内容包括:

设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。

成绩:

签名:

年 月 日

注:

本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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