C语言课程设计报告-宾馆客房管理系统报告_第1页
C语言课程设计报告-宾馆客房管理系统报告_第2页
C语言课程设计报告-宾馆客房管理系统报告_第3页
C语言课程设计报告-宾馆客房管理系统报告_第4页
C语言课程设计报告-宾馆客房管理系统报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...?C语言?课程设计报告标题:宾馆客房管理系统学号:姓名:同组人员:年级专业:09电子信息工程指导教师:完成日期:2010/6/21目录一、程序的具体分工二、课题要求三、课题分析与设计四、选题背景五、程序介绍六、源程序代码与调试七、流程图八、结语九、参考书目一、程序的具体分工第一局部包括主函数和menu菜单函数是由叶伟完成,第二局部包括客人的入住〔checkin〕函数和退房〔checkout〕函数由我完成,第三局部为查询〔lookfor〕函数由王业生负责。二、课题要求某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人;链表存储构造:姓名、性别、房号、后续指针,按房间号有序;能实现入住〔注意性别〕和退房,能按给定姓名、房号查询;建议采用链表构造,但用其它方法实现也可。三、课题分析与设计本程序是非数值计算型算法设计,我们设计出了宾馆客房管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是构造体和链表的相关操作,包括构造体数组的输入、输出、查找、删除等。我们设计的这个宾馆客房系统也初步实现了人员信息的显示、删除、查找、添加等必要的功能。选题背景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函数。checkin函数的功能是对入住房客的信息进展统计。首先、函数先对五个房间的入住情况进展检查,并输出相应的信息。例如、假设房间301是空的,那么显示可住两人信息;假设已住一人,那么显示可住一人信息,并且同时显示可住房客的性别;假设已有两人入住,那么不显示任何信息。如果房客已决定入住,那么输入1,进入add函数,按提示输入房客信息即可。假设要返回menu函数,那么输入1。checkout函数的功能是退房。按提示信息输入房间号和姓名即可实现退房。假设要返回menu函数,输入1。lookfor函数的功能是查询房客的信息,有按姓名查找和按房间号查找两种查询方式。输入1那么执行search1子函数,即按姓名查找;输入2那么执行search2子函数,即按房号查找;输入3,执行manu函数。假设按姓名查找,那么输入姓名即可;假设按房间号查找,那么输入房间号即可;假设要退回lookfor函数,那么输入1。六、源程序代码与调试代码:#include<stdio.h>#include<conio.h>#include<string.h>#defineNULL0structrestaurant{intnum;charname[2][20];charsex[2];structrestaurant*next;};voidmain(){voidmenu(structrestaurant*pt0);voidcheckin(structrestaurant*pt1);voidcheckout(structrestaurant*pt2);voidlookfor(structrestaurant*pt3);structrestauranta,b,c,d,e,*head,*p;a.num=301,b.num=302,c.num=303,d.num=304,e.num=305;a.sex[0]=a.sex[1]=b.sex[0]=b.sex[1]=c.sex[0]=c.sex[1]=d.sex[0]=d.sex[1]=e.sex[0]=e.sex[1]='';head=&a;a.next=&b;b.next=&c;c.next=&d;d.next=&e;e.next=NULL;p=head;menu(p);}voidmenu(structrestaurant*pt0){inti;clrscr();textcolor(5);gotoxy(10,5);cprintf("TheHotelManagementSystem\n");gotoxy(10,7);cprintf("Welcome\n");gotoxy(10,8);cprintf("**************Menu************\n");gotoxy(10,9);cprintf("*1.checkin*\n");gotoxy(10,10);cprintf("*2.checkout*\n");gotoxy(10,11);cprintf("*3.lookfor*\n");gotoxy(10,12);cprintf("******************************\n");gotoxy(10,13);cprintf("PleaseEnterYourChoice<1~3>:");scanf("%d",&i);switch(i){case1:checkin(pt0);break;case2:checkout(pt0);break;case3:lookfor(pt0);break;}}voidcheckin(structrestaurant*pt1){voidadd(structrestaurant*pt1); inti,k;structrestaurant*p;p=pt1;clrscr(); for(i=0;i<5;i++){if(pt1->sex[0]==''&&pt1->sex[1]=='') printf("room:%d\ntwopersoncanlivehere\n",pt1->num);elseif(pt1->sex[0]==''&&pt1->sex[1]!='') {printf("rome:%d\n",pt1->num);printf("onepersoncanlivehere,sex:%c\n",pt1->sex[1]);}elseif(pt1->sex[0]!=''&&pt1->sex[1]==''){printf("rome:%d\n",pt1->num);printf("onepersoncanlivehere,sex:%c\n",pt1->sex[0]);} pt1=pt1->next;}printf("1:continue\n2:return\nInputyourchioce:"); scanf("%d",&k); switch(k) {case1:add(p);break; case2:menu(p);break; } }voidadd(structrestaurant*pt1){structrestaurant*p; inti,j,k; charch1,ch2,str[20]; p=pt1;printf("Inputroomnumberandsexandname:\n"); scanf("%d%c%c%s",&i,&ch1,&ch2,&str); for(j=0;j<5;j++) {if(i==pt1->num) {for(k=0;k<2;k++) if(pt1->sex[k]=='') {pt1->num=i;pt1->sex[k]=ch2;strcpy(pt1->name[k],str);break;}j=5;} pt1=pt1->next; } checkin(p); }voidcheckout(structrestaurant*pt2){structrestaurant*p;inti,j,k;charstr[20];p=pt2;clrscr();do{pt2=p;printf("Inputromenumberandname:\n"); scanf("%d",&k); if(k==1){menu(p);break;} else{scanf("%s",str); for(i=0;i<5;i++) {if(k==pt2->num) {for(j=0;j<2;j++) if(strcmp(str,pt2->name[j])==0){memset(pt2->name[j],'',20);pt2->sex[j]='';break;}break;} pt2=pt2->next;} }}while(1);}voidlookfor(structrestaurant*pt3){voidsearch1(structrestaurant*pt4); voidsearch2(structrestaurant*pt4);inti;charstr[20]; clrscr(); printf("1:searchbyinputingname\n2:searchbyinputingroomnumber\n3:return\n");printf("pleaseinputyourchoice:"); scanf("%d",&i); switch(i) {case1:search1(pt3);break; case2:search2(pt3);break; case3:menu(pt3);break;}}voidsearch1(structrestaurant*pt4){structrestaurant*p;intn,i,j;charstr1[20]={'1'},str2[20];p=pt4; clrscr(); do{pt4=p; printf("Inputname:\n"); scanf("%s",&str2); if(strcmp(str1,str2)==0)lookfor(p);elsefor(i=0;i<5;i++) {for(j=0;j<2;j++) if(strcmp(str2,pt4->name[j])==0) printf("rome:%d\tsex:%c\tname:%s\n",pt4->num,pt4->sex[j],pt4->name[j]); pt4=pt4->next;} }while(1);}voidsearch2(structrestaurant*pt4){structrestaurant*p;inti,j,k;charstr[20];p=pt4; clrscr(); do{pt4=p;printf("Inputroomnumber:\n"); scanf("%d",&j); if(j==1){lookfor(p);break;} elsefor(i=0;i<5;i++) {if(j==pt4->num) {for(k=0;k<2;k++) if(pt4->sex[k]!='')printf("room:%d\tsex:%c\tname:%s\n",pt4->num,pt4->sex[k],pt4->name[k]); break;} pt4=pt4->next;} }while(1); }调试:菜单函数执行结果:进入程序后进入程序主菜单结果如下:输入1进入checkin函数,输入2进入checkout函数,输入3进入lookfor函数.2、checkin入住函数结果:进入入住函数界面运行结果如下输入1继续运行结果如下:输入房间号性别和姓名例如:输入301myewei运行结果如下:输入1返回到menu函数3、lookfor〔查询〕函数结果:输入1按姓名查找,输入2按房间号查找,输入3返回menu函数。选择查找方式:输入1按姓名查找;例如输入yewei结果:输入1返回lookfor函数。输入2按房间号查找,结果:例如输入301结果:输入1返回到lookfor函数4、checkout〔退房〕函数结果:输入房间号和姓名即可实现退房例如输入301yewei即可输入1返回到menu函数七、流程图八、结语通过这次课程设计,在我和我们小组成员的共同的努力下,将?宾馆客房管理系统?这个软件编写出来并运行成功。在此同时,也加深了我对谭浩强的?C语言程序设计?这本书的体会和了解。我对很多的函数有了新的认识,也学会了运用多种函数,我也明白了写软件的基本过程和基本方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论