1、二、课题要求1)某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人;2)链表存储结构:姓名、性别、房号、后续指针,按房间号有序;3)能实现入住(注意性别)和退房,能按给定姓名、房号查询;4)建议采用链表结构,但用其它方法实现也可。本程序是非数值计算型算法设计,我们设计出了宾馆客房管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是结构体和链表的相关操作,包括结构体数组的输入、输出、查找、删除等。我们设计的这个宾馆客房系统也初步实现了人员信息的显示、删除、查找、添加等必要的功能。C语言是目前世界上流行、使用最广泛的高级程序设计
2、语言。1972年,C语言在美国贝尔实验室里问世,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准。目前,在微机上广泛使用的C语言编译系统有MicrosoftC、Turbo C 、Visual C+等。这C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。 C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行
3、位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。为了将本学期所学C语言知识应用于实际,加深对C语言的理解及掌握,我院开设了C语言课程设计这门课程。而我们小组选取了宾馆客房管理系统这个课题,以此来锻炼我们编写程序的能力。宾馆客房管理系统由8个函数组成,包括main函数、menu函数、checkin函数、checkout函数、lookfor函数,其中checkin函数又包括一个add子函数,l
4、ookfor函数包括search1和search2两个子函数。 main函数主要是对menu函数、checkin函数、checkout函数、lookfor函数进行声明,建立静态链表并且对结构体中num、sex进行赋值。 menu函数是界面函数,有两个功能。一是输出一个界面,二是作为进入其它函数的入口。输入1则执行checkin函数;输入2则执行checkout函数 ,输入3则执行lookfor函数。checkin函数的功能是对入住房客的信息进行统计。首先、函数先对五个房间的入住情况进行检查,并输出相应的信息。例如、若房间301是空的,则显示可住两人信息;若已住一人,则显示可住一人信息,并且同时
5、显示可住房客的性别;若已有两人入住,则不显示任何信息。如果房客已决定入住,则输入1,进入add函数,按提示输入房客信息即可。若要返回menu函数,则输入1。 checkout函数的功能是退房。按提示信息输入房间号和姓名即可实现退房。若要返回menu函数,输入1。 lookfor函数的功能是查询房客的信息,有按姓名查找和按房间号查找两种查询方式。输入1则执行search1子函数,即按姓名查找;输入2则执行search2子函数,即按房号查找;输入3,执行manu函数。若按姓名查找,则输入姓名即可;若按房间号查找,则输入房间号即可;若要退回lookfor函数,则输入1。代码:#includeconi
6、o.hstring.h#define NULL 0struct restaurant int num; char name220; char sex2; struct restaurant *next; void main() void menu(struct restaurant *pt0); void checkin(struct restaurant *pt1); void checkout(struct restaurant *pt2); void lookfor(struct restaurant *pt3); struct restaurant a,b,c,d,e,*head,*p
7、; a.num=301,b.num=302,c.num=303,d.num=304,e.num=305; a.sex0=a.sex1=b.sex0=b.sex1=c.sex0=c.sex1=d.sex0=d.sex1=e.sex0=e.sex1= ; head=&a;a.next=&b; b.next=&c;c.next=&d; d.next=&e; e.next=NULL; p=head; menu(p); void menu(struct restaurant *pt0) int i; clrscr(); textcolor(5); gotoxy(10,5); cprintf( The H
8、otel Management Systemn); gotoxy(10,7); Welcomen gotoxy(10,8); *Menu*n gotoxy(10,9); * 1. checkin *n gotoxy(10,10); * 2. checkout *n gotoxy(10,11); * 3. lookfor *n gotoxy(10,12); *n gotoxy(10,13); Please Enter Your Choice: scanf(%d,&i); switch(i) case 1:checkin(pt0);break; case 2:checkout(pt0); case
9、 3:lookfor(pt0); void checkin(struct restaurant *pt1) void add(struct restaurant *pt1); int i,k; struct restaurant *p; p=pt1; for(i=0;isex0=&pt1-sex1=) printf(room:%dntwo person can live heren,pt1-num); else if(pt1-sex1!= printf(rome:%dnone person can live here,sex:%cnsex1);sex0!sex0); pt1=pt1-next;
10、1:continuen2:returnnInput your chioce:k); switch(k) case 1:add(p); case 2:menu(p); void add(struct restaurant *pt1) struct restaurant *p; int i,j,k; char ch1,ch2,str20;Input room number and sex and name:n%d%c%c%si,&ch1,&ch2,&str); for(j=0;jnum) for(k=0;ksexk= pt1-num=i;sexk=ch2;strcpy(pt1-namek,str)
11、; j=5; checkin(p); void checkout(struct restaurant *pt2) struct restaurant *p; char str20; p=pt2; dopt2=p;Input rome number and name: if(k=1)menu(p); else scanf(%s,str); for(i=0; if(k=pt2- for(j=0; if(strcmp(str,pt2-namej)=0) memset(pt2-namej,20); pt2-sexj= break; pt2=pt2- while(1); void lookfor(struct restaurant *pt3) void search1(struct restaurant *pt4); void search2(struct restaurant *pt4);search by inputing namen2:search by inputing room numbern3:returnnplease input your choice: switch(i
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1