精华内容
下载资源
问答
  • 中 原 工 学 院 软件职业技术学院 一级实践环节报告 课题名称 宾馆客房管理系统 专 业 NET 软件 班 级 NET104 学 号 36 学生姓名 李新辉 指导教师 罗菁 年 月 一题目 宾馆客房管理系统 二流程分析 宾 馆 客 房 管 理...
  • 大学一年级期末课程设计:宾馆房间管理系统C语言版说明书 都是自己做的 ,放心使用。
  • C语言实现的宾馆客房管理系统,程序设计训练大作业,已在VC6.0上测试,并内含设计报告。
  • 自己编的一个简单的C语言程序,附源代码。
  • C语言课程设计——宾馆管理系统

    千次阅读 多人点赞 2019-01-29 18:06:57
    课程设计题目: 宾馆管理系统 一、需求分析 近年来,科技进步不仅促进了全球旅游企业的快速增长,而且指导了旅游者消费观念的 更新,其中信息与通信技术的发展对酒店等企业有着深远的影响,传统的管理方式已不 能...

    课程设计题目: 宾馆管理系统
    一、需求分析
    近年来,科技进步不仅促进了全球旅游企业的快速增长,而且指导了旅游者消费观念的 更新,其中信息与通信技术的发展对酒店等企业有着深远的影响,传统的管理方式已不 能满足具有信息量大,查询量大,保存期长,要求不间断运行等特点的宾馆管理需求, 重视信息技术的发展成为我国酒店业的共识。为增强竞争能力,提高管理水平,先进的 宾馆管理系统已成为必然。宾馆管理系统可以及时了解客户信息与需求,实现宾馆管理 信息化,通过宾馆管理系统的实施可以逐步提高宾馆的现代化建设,提升员工工作效率, 良好的管理系统越来越建立服务部门的良好形象,有利于业务规范化,标准化,有利于 提高管理水平,有利于创造更高的经济效益和社会效益,使管理过程实现现代化。
    二、总体设计
    在这里插入图片描述
    三、详细设计
    本系统中主要实现客户信息的建立,查找,删除等方面功能。由主函数生成系统主菜单,
    为进入各个界面提供通道。主要为 SWITCH 开关语句进入不同的界面,输入“1”进入宾
    馆信息建立界面,输入“2”进入信息添加界面,输入“3”进入客户姓名查询界面,输
    入“4”进入客户性别查询界面,输入“5”进入房号查询界面。输入“6”进入入住时
    间查询界面,输入“7”进入客户信息修改界面,输入“8”进入客户信息删除界面,输
    入“9”进入客户信息删除界面,输入“0”退出系统。程序由 C 语言结合数据结构中建
    立一个线性链表的知识编程
    四、调试与测试
    五、用户手册
    1.在主菜单输入“1”进入“宾馆信息建立界面”。此界面可建立
    客户的基本信息:姓名,性别,证件号,入住时间,天数,房号,押
    金,离开时间等,并返回主菜单。
    2。宾馆信息添加功能
    在主菜单输入“2”进入“宾馆信息添加界面”。此界面可以添加
    客户个数和客户基本信息:姓名,性别,证件号,入住时间,天数,
    房号,押金,离开时间等,并返回到菜单进行下一步。
    3. 客户姓名查询功能
    在主菜单输入“3”进入“客户姓名查询界面”。在此界面首先根
    据提示输入 1 表示按照姓名查找,然后输入客户姓名确定进行查询客
    户的基本信息并显示出来。此功能可以方便的查询到某一姓名的客户
    的客房信息。
    4.客户性别查询功能
    在主菜单输入“4”,进入“客户性别查询界面”。在此界面可按客
    户的性别查询某一性别的所有客户的基本信息,此功能可以查询同一
    性别的客人信息,并比较不同性别客流量,以制定计划增加客流量。

    5.宾馆房号查询功能
    在主菜单输入“5”,进入“宾馆房号查询界面”。在此界面可按已
    知的房号查询客户的基本信息,此功能可以确定某房间的住入情况,
    若无人则显示没有该房间信息,若有人住入可根据之前建立或添加的
    客户信息显示出住在该房间的客人登记信息。
    6.入住时间查询功能
    在主菜单输入“6”,进入“入住时间查询界面”。在此界面可
    通过大概的入住时间查询客户登记的基本信息,此功能可以查询在同
    一天住入宾馆的客
    7.客户信息修改功能
    在主菜单输入“7”,进入“客户信息修改界面”。在此界面先
    通过先前的客户姓名查找到该客户信息,再根据要修改的客户姓名,
    修改客户信息。此功能可以方便的对需要增加住宿时间的客户进行维
    护。
    8.客户信息删除功能
    在主菜单输入“8”,进入“客户信息删除界面”。在此界面
    可按客户的姓名删除客户的基本信息,使用 del()函数,输入客户
    姓名,确定删除按 1,此功能可以将保存时间过长现在已不需要保留
    的客户的信息删除。
    9.客户信息显示功能
    在主菜单输入“9”,进入“客户信息显示界面”。在此界面
    可按客户的性别查询客户的基本信息,此功能可以将所有客户信息显
    示在输出界面上,工作人员可直观观察。
    六.源代码

    #include"stdio.h"
    #include"stdlib.h" 
    #include"string.h"
    typedef struct
    {
    	char name[50];  
    	char sex[50]; 
    	char ID[50];
    	char come[50];  
    	char day[50];
    	char number[50]; 
    	char type[50];
    	char price[50];  
    	char yushou[50];
    	char yajin[50];  
    	char leave[50];
    }datatype;
    typedef struct node
    {
    	datatype data;  
    	struct node *next; 
    }listnode; 
    typedef listnode *linklist;
    linklist head;
    listnode *p;
    void Output_allInfo(linklist head);//输出所有客户信息  
    void Delete_info(linklist head);//客户信息的删除 
    void Info_Modify(linklist head);//按客户姓名的信息修改 
    listnode *Name_Search(linklist head); //按姓名查找宾馆信息 
    listnode *Sex_Search(linklist head);//按性别查找宾馆信息  
    listnode *Roomnum_Search(linklist head);//按房间号查找宾馆信息
    listnode *Cometime_Search(linklist head) ;//按入住时间查找 
    char Display_Menu();//菜单输出函数 
    listnode* Add(linklist head,int b);//增加客户信息
    linklist Create(int a);//宾馆客户信息的建立  
    void SaveInfoToFile(linklist head);//保存顾客信息到文件中
    listnode *ReadInfoFromFile();//信息从文件读出
    int main()//主函数 
    { 
    	int i,a;
    	for(;;) 
    	{ 
    		switch(Display_Menu())  
    		{
    		case 1: printf("**2.宾馆信息的建立**\n");           
    			printf("输入你想输入的数目:");         
    			scanf("%d",&i);       head=Create(i); break;  
    		case 2: printf("**1.从文件读入客户信息!**\n");        
    			ReadInfoFromFile();             break;      
    		case 3: printf("**3.宾馆信息的添加**\n");          
    			printf("输入你想添加的人数:");       
    			scanf("%d",&a);       
    			Add(head,a); break; 
    		case 4:  printf("**4.客户姓名的查询**\n");        
    			p=Name_Search(head);             if(p!=NULL)       
    			{       
    				printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");     
    				printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,      
    					p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );      
    				printf("\n");  
    			} 
    			else printf("该用户不存在!");break;       
    		case 5: printf("**5.客户性别的查询**\n");    
    			p=Sex_Search(head);          
    			if(p!=NULL)         
    			{
    				printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");   
    				printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,    
    					p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );      
    				printf("\n");   
    			}
    			else
    				printf("该用户不存在!");break;  
    		case 6: 
    			printf("**6.客户房号的查询**\n");     
    			p=Roomnum_Search(head);     
    			if(p!=NULL)  
    			{
    				printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");   
    				printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID, 
    					p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );   
    				printf("\n");     
    			}
    			else printf("该房间信息不存在!");break; 
    		case 7:
    			printf("**7.客户性别的查询**\n");    
    			p=Cometime_Search(head);
    			if(p!=NULL)   
    			{
    				printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");    
    				printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,
    					p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );    
    				printf("\n");  
    			}    
    			else printf("该房间信息不存在!");break;
    		case 8: printf("**8.宾馆信息的修改**\n");         
    			Info_Modify(head);break; 
    		case 9: printf("**9.宾馆信息的删除**\n"); 
    			Delete_info(head);break;   
    		case 10: printf("**10.宾馆信息的输出**\n");    
    			Output_allInfo(head); break;  
    		case 11:printf("11.保存顾客信息");      
    			SaveInfoToFile(head); break;
    			//保存顾客信息到文件中   
    		case 0:printf("**0.退出**\n");     
    			exit(0);   
    		default: break; 
    		} 
    	}
    	return 0; 
    }
    //菜单函数 
    char Display_Menu() 
    {  
    	int  i;  
    	FILE *fp;
    	char ch; 
    	printf("\n\n\n\n\n\n");
    	printf("                         欢迎使用宾馆信息管理系统!") ;   
    	if((fp=fopen("F:\\Cyy Report\\menu.txt","r"))==NULL) 
    	{
    		printf("菜单文件打开失败!");  
    		exit(0);  
    	} 
    	ch=fgetc(fp);
    	while(ch!=EOF) 
    	{
    		putchar(ch); 
    		ch=fgetc(fp);
    	}
    	printf("\n");
    	for(;;)  
    	{ 
    		scanf("%d",&i); 
    		printf("\n");  
    		if(i<0||i>11) 
    			printf("选择错误,重新选择:\n");   
    		else break;
    	}   
    	return i;
    }
    listnode *ReadInfoFromFile() 
    { 
    	FILE *fp;  
    	int b; 
    	fp=fopen("F:\\Cyy Report\\customer.txt","r");  
    	listnode *p=NULL,*q=NULL,*head=NULL;
    	p=(listnode *)malloc(sizeof(listnode));   
    	head->next=p;     
    	b=1;
    	if(!fp)  
    	{
    		printf("文件打开失败!");  
    		exit(0); 
    	}
    	else printf("文件打开成功");  
    	while(!feof(fp)) 
    	{  
    		/*fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->next->data.name,p->next->data.se x,p->next->data.ID,          p->next->data.come,p->next->data.day,p->next->data.number,p->next->data.price,p->next->data. yajin,p->next->data.leave );*/  
    		q=(listnode *)malloc(sizeof(listnode));   
    		fscanf(fp,"%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,   
    			p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave); 
    		p->next=q;
    		q=p ;
    		b++;
    	}
    	head=Add(head,b); 
    	printf("\n"); 
    	fclose(fp);  
    	return head; 
    }
    //宾馆客户信息的建立 
    linklist Create(int a)
    {
    	linklist head=(listnode *)malloc(sizeof(listnode));
    	listnode *p,*q;  
    	q=head;
    	while(a--) 
    	{
    		p=(listnode *)malloc(sizeof(listnode)); 
    		printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
    		scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,   
    			p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave); 
    		q->next=p;   
    		q=p; 
    	} 
    	q->next=NULL; 
    	return head; 
    }
    listnode* Add(linklist head,int b)//增加顾客信息 
    {
    	listnode *m,*n,*p;
    	m=head;
    	n=m->next;  
    	while(n->next!=NULL)
    	{
    		m=n;  
    		n=n->next; 
    	}
    	while(b--) 
    	{
    		p=(listnode *)malloc(sizeof(listnode));   
    		printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
    		printf("***************************\n"); 
    		scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,        
    			p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );  
    		n->next=p;
    		n=p; 
    	}
    	n->next=NULL; 
    	return head; 
    }
    //按姓名查找宾馆信息 
    listnode *Name_Search(linklist head) 
    {
    	listnode *p;  
    	char name[10];
    	int i;  
    	printf("按 1 表示姓名查找:");  
    	p=head->next ; 
    	scanf("%d",&i);  
    	if(i==1) 
    	{
    		printf("输入要查询的姓名:");  
    		scanf("%s",&name);
    		while(p&&strcmp(p->data.name,name)>0)   
    			p=p->next;   
    		if(p==NULL||strcmp(p->data.name,name)<0)
    			p=NULL;
    	}
    	else
    		printf("输入错误!");  
    	return p;
    }
    //按性别查找宾馆信息  
    listnode *Sex_Search(linklist head)
    {
    	listnode *p; 
    	char sex[10];
    	int i;  
    	printf("按 1 表示性别查找:");  
    	scanf("%d",&i);
    	p=head->next ;  
    	if(i==1)  
    	{
    		printf("输入要查询的性别:");  
    		scanf("%s",&sex); 
    		while(p&&strcmp(p->data.sex,sex)>0)
    			p=p->next; 
    		if(p==NULL||strcmp(p->data.sex,sex)<0) 
    			p=NULL;  
    	}
    	return p; 
    }
    //按房间号查找宾馆信息  
    listnode *Roomnum_Search(linklist head)
    {
    	listnode *p;
    	char number[10]; 
    	int i;
    	printf("按 1 表示房间号查找:");  
    	p=head->next ;
    	scanf("%d",&i);
    	if(i==1)  
    	{
    		printf("输入要查询的房间号:");   
    		scanf("%s",&number);
    		while(p&&strcmp(p->data.number,number)>0)  
    			p=p->next; 
    		if(p==NULL||strcmp(p->data.number,number)<0)  
    			p=NULL; 
    	}
    	return p; 
    }
    //按入住时间查找 
    listnode *Cometime_Search(linklist head) 
    {
    	listnode *p; 
    	char come[10]; 
    	int i;  
    	printf("按 1 表示性别查找:");  
    	p=head->next ;
    	scanf("%d",&i); 
    	if(i==1) 
    	{
    		printf("输入要查询的入住时间:");  
    		scanf("%s",&come); 
    		while(p&&strcmp(p->data.come,come)>0) 
    			p=p->next;  
    		if(p==NULL||strcmp(p->data.come,come)<0)
    			p=NULL; 
    	}
    	return p; 
    }
    //按客户姓名的信息修改  
    void Info_Modify(linklist head) 
    {  
    	listnode *p;
    	p=Name_Search(head);
    	if(p==NULL)
    	{ 
    		printf("宾馆信息不存在!\n");  
    	}  
    	else
    	{
    		printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");
    		printf("***************************\n");   
    		scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,       
    			p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );  printf("宾馆信息已修改!");    
    	}
    }
    //客户信息的删除
    void Delete_info(linklist head) 
    {
    	int i;  
    	listnode *p,*q; 
    	p=Name_Search(head);  
    	if(p==NULL) 
    	{
    		printf("信息不存在!\n");   
    		return;  
    	}  
    	else 
    	{
    		printf("按 1 删除:");   
    		scanf("%d",&i);
    		if(i==1) 
    		{
    			q=head;
    			while(q!=NULL&&q->next!=p)  
    				q=p->next;
    			q->next=p->next; 
    			free(p); 
    			printf("信息已删除!");    
    		}
    	}
    }
    //宾馆信息的输出 
    void Output_allInfo(linklist head) 
    {
    	listnode *p; 
    	p=head;  
    	printf("姓名\t 性别\t 证件\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
    	while(p->next!=NULL)  { 
    		
    		printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->next->data.name,p->next->data.sex,p-> next->data.ID,      
    			p->next->data.come,p->next->data.day,p->next->data.number,p->next->data.price,p->next->data. yajin,p->next->data.leave ); 
    		p=p->next ;
    	}
    }
    void SaveInfoToFile(linklist head) 
    { 
    	FILE *fp;
    	listnode *p; 
    	p=head->next; 
    	if(p==NULL) 
    	{ 
    		printf("现在没有顾客信息,请先输入顾客信息!\n\n"); 
    		return; 
    	}
    	fp=fopen("F:\\Cyy Report\\customer.txt","w");  
    	if(!fp) 
    	{ 
    		printf("文件不存在!\n");
    		return;
    	}
    	while(p)  
    	{
    		fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,      p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );     
    		p=p->next; 
    	}  
    	fclose(fp);  
    	printf("文件保存成功!\n"); 
    } 
    
    展开全文
  • c语言宾馆客房管理系统
  • 用c写的宾馆管理系统,喜欢的下吧.....................................
  • 随着全球经济一体化使得酒店行业客源更加丰富多元化,市场更加广阔多渠道的同时,酒店业更面临的日趋激烈的竞争环境不断攀升的客户期望,迫使业内人士不断进一步寻求扩大酒店销售、改进服务质量,降低管理成本和提升...
  • C语言课程设计-宾馆客房管理系统
  • 一个简单的宾馆客房管理系统,用c语言作为源代码,不足之处望见谅!
  • C语言课程设计 宾馆住宿管理系统 源程序 菜单界面,自己花了2个多星期做的,里面有可执行程序和主菜单源代码,如需要课设报告及全部源代码的可以联系我。
  • printf(" *** 欢迎使用宾馆信息管理系统!***\n\n\n\n **菜单**\n\n\n1.客房信息录入\n2.客人入住登记\n3.客人信息添加\n4.客人姓名查询\n5.客户性别查询\n6.宾馆房号查询\n7.入住时间查询\n8.客户信息修改\n9....

    别忘了在文件里面建立这两个文件其他的应该没问题在这里插入图片描述

    #include<stdio.h>
    #include<stdlib.h> 
    #include<string.h>
    #include<malloc.h>
    typedef struct
    {
    	char name[50];  
    	char sex[50]; 
    	char ID[50];
    	char come[50];  
    	char day[50];
    	char number[50]; 
    	char type[50];
    	char price[50];  
    	char yushou[50];
    	char yajin[50];  
    	char leave[50];
    }datatype;
    typedef struct node//定义链表节点
    {
    	datatype data;  //数域
    	struct node *next;//指针区域 指向后继元素(链表节点的结构体声明) 
    }listnode; 
    typedef listnode *linklist;//结构体指针
    linklist head;
    listnode *p;
    void Output_allInfo(linklist head);//输出所有客户信息  
    void Delete_info(linklist head);//客户信息的删除 
    void Info_Modify(linklist head);//按客户姓名的信息修改 
    listnode *Name_Search(linklist head); //按姓名查找宾馆信息 
    listnode *Sex_Search(linklist head);//按性别查找宾馆信息  
    listnode *Roomnum_Search(linklist head);//按房间号查找宾馆信息
    listnode *Cometime_Search(linklist head) ;//按入住时间查找 
    char Display_Menu();//菜单输出函数 
    listnode* Add(linklist head,int b);//增加客户信息
    linklist Create(int a);//宾馆客户信息的建立  
    void SaveInfoToFile(linklist head);//保存顾客信息到文件中
    listnode *ReadInfoFromFile();//信息从文件读出
    int main()//主函数 
    { 
    	system("color 0a");
    	int i,a;
    	for(;;) //while(1)
    	{ 
    		switch(Display_Menu())  
    		{
    		case 1: printf("**2.宾馆信息的建立**\n");           
    			printf("输入你想输入的数目:");         
    			scanf("%d",&i);       head=Create(i); break;  
    		case 2: printf("**1.从文件读入客户信息!**\n");        
    			ReadInfoFromFile();             break;      
    		case 3: printf("**3.宾馆信息的添加**\n");          
    			printf("输入你想添加的人数:");       
    			scanf("%d",&a);       
    			Add(head,a); break; 
    		case 4:  printf("**4.客户姓名的查询**\n");        
    			p=Name_Search(head);             if(p!=NULL)       
    			{       
    				printf("姓名\t 性别\t 证件\t\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");     
    				printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,      
    					p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );      
    				printf("\n");  
    			} 
    			else printf("该用户不存在!");break;       
    		case 5: printf("**5.客户性别的查询**\n");    
    			p=Sex_Search(head);          
    			if(p!=NULL)         
    			{
    				printf("姓名\t 性别\t 证件\t\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");   
    				printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,    
    					p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );      
    				printf("\n");   
    			}
    			else
    				printf("该用户不存在!");break;  
    		case 6: 
    			printf("**6.客户房号的查询**\n");     
    			p=Roomnum_Search(head);     
    			if(p!=NULL)  
    			{
    				printf("姓名\t 性别\t 证件\t\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");   
    				printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID, 
    					p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );   
    				printf("\n");     
    			}
    			else printf("该房间信息不存在!");break; 
    		case 7:
    			printf("**7.客户时间的查询**\n");    
    			p=Cometime_Search(head);
    			if(p!=NULL)   
    			{
    				printf("姓名\t 性别\t 证件\t\t 入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");    
    				printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,
    					p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );    
    				printf("\n");  
    			}    
    			else printf("该房间信息不存在!");break;
    		case 8: printf("**8.宾馆信息的修改**\n");         
    			Info_Modify(head);break; 
    		case 9: printf("**9.宾馆信息的删除**\n"); 
    			Delete_info(head);break;   
    		case 10: printf("**10.宾馆信息的输出**\n");    
    			Output_allInfo(head); break;  
    		case 11:printf("11.保存顾客信息");      
    			SaveInfoToFile(head); break;
    			//保存顾客信息到文件中   
    		case 0:printf("**0.退出**\n");     
    			exit(0);   
    		default: break; 
    		} 
    	}
    	return 0; 
    }
    //菜单函数 
    char Display_Menu() 
    {  
    	int  i;  
    	FILE *fp;
    	char ch; 
    	printf("\n\n\n\n\n\n");
    	printf("                        *** 欢迎使用宾馆信息管理系统!***\n\n\n\n                                   **菜单**\n\n\n1.客房信息录入\n2.客人入住登记\n3.客人信息添加\n4.客人姓名查询\n5.客户性别查询\n6.宾馆房号查询\n7.入住时间查询\n8.客户信息修改\n9.宾馆信息删除\n10.信息显示\n11.保存信息\n0.退出") ;   
    	if((fp=fopen("D:\\宾馆\\menu.txt","r"))==NULL) 
    	{
    		printf("菜单文件打开失败!");  
    		exit(0);  
    	} 
    	ch=fgetc(fp);//从文件指针fp指向的文件中读取一个字符并返回
    	while(ch!=EOF)//当信息没结束 
    	{
    		putchar(ch); //写到屏幕上
    		ch=fgetc(fp);
    	}
    	printf("\n");
    	for(;;)  
    	{ 
    		scanf("%d",&i); 
    		printf("\n");  
    		if(i<0||i>11) 
    			printf("选择错误,重新选择:\n");   
    		else break;
    	}   
    	return i;
    }
    listnode *ReadInfoFromFile() 
    { 
    	FILE *fp;  
    	int b; 
    	fp=fopen("D:\\宾馆\\customer.txt","r");  
    	listnode *p=NULL,*q=NULL,*head=NULL;
    	p=(listnode *)malloc(sizeof(listnode));//将返回的指针(void*)强制转换成ListNode*   
    	head=p;//打开等读的文件。分配一个表结点空间。头结点的下一结点为p     
    	b=1;
    	if(!fp)  
    	{
    		printf("文件打开失败!");  
    		exit(0); 
    	}
    	else printf("文件打开成功");  
    	while(!feof(fp)) //含有信息
    	{  
    		/*fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->next->data.name,p->next->data.se x,p->next->data.ID,          p->next->data.come,p->next->data.day,p->next->data.number,p->next->data.price,p->next->data. yajin,p->next->data.leave );*/  
    		q=(listnode *)malloc(sizeof(listnode));   
    		fscanf(fp,"%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,   
    			p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave); 
    		p->next=q;
    		q=p ;
    		b++;
    	}
    	head=Add(head,b); 
    	printf("\n"); 
    	fclose(fp);  
    	return head; 
    }
    //宾馆客户信息的建立 
    linklist Create(int a)
    {
    	linklist head=(listnode *)malloc(sizeof(listnode));//结构体变量
    	listnode *p,*q;  
    	q=head;
    	while(a--) 
    	{
    		p=(listnode *)malloc(sizeof(listnode)); 
    		printf("姓名\t 性别\t 证件\t \t入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
    		scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,   
    			p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave);//通过p访问p所指向属对象的数据成员data的数据成员 
    		q->next=p;   
    		q=p; 
    	} 
    	q->next=NULL; 
    	return head; 
    }
    listnode* Add(linklist head,int b)//增加顾客信息 
    {
    	listnode *m,*n,*p;
    	m=head;
    	n=m->next;  
    	while(n->next!=NULL)//判断返回值是否为空
    	{
    		m=n;  
    		n=n->next; 
    	}
    	while(b--) 
    	{
    		p=(listnode *)malloc(sizeof(listnode));   
    		printf("姓名\t 性别\t 证件\t \t入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
    		printf("***************************\n"); 
    		scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,        
    			p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );  
    		n->next=p;//把p的地址送给n的指针与即是n的下一节点
    		n=p; 
    	}
    	n->next=NULL; 
    	return head; 
    }
    //按姓名查找宾馆信息 
    listnode *Name_Search(linklist head) 
    {
    	listnode *p;  
    	char name[10];
    	int i;  
    	printf("按 1 表示姓名查找:");  
    	p=head->next ;//头结点 
    	scanf("%d",&i);  
    	if(i==1) 
    	{
    		printf("输入要查询的姓名:");  
    		scanf("%s",&name);
    		while(p&&strcmp(p->data.name,name)>0)   
    			p=p->next;   
    		if(p==NULL||strcmp(p->data.name,name)<0)
    			p=NULL;
    	}
    	else
    		printf("输入错误!");  
    	return p;
    }
    //按性别查找宾馆信息  
    listnode *Sex_Search(linklist head)
    {
    	listnode *p; 
    	char sex[10];
    	int i;  
    	printf("按 1 表示性别查找:");  
    	scanf("%d",&i);
    	p=head->next ;//头结点  
    	if(i==1)  
    	{
    		printf("输入要查询的性别:");  
    		scanf("%s",&sex); 
    		while(p&&strcmp(p->data.sex,sex)>0)
    			p=p->next; 
    		if(p==NULL||strcmp(p->data.sex,sex)<0) 
    			p=NULL;  
    	}
    	return p; 
    }
    //按房间号查找宾馆信息  
    listnode *Roomnum_Search(linklist head)
    {
    	listnode *p;
    	char number[10]; 
    	int i;
    	printf("按 1 表示房间号查找:");  
    	p=head->next ;
    	scanf("%d",&i);
    	if(i==1)  
    	{
    		printf("输入要查询的房间号:");   
    		scanf("%s",&number);
    		while(p&&strcmp(p->data.number,number)>0)  
    			p=p->next; 
    		if(p==NULL||strcmp(p->data.number,number)<0)  
    			p=NULL; 
    	}
    	return p; 
    }
    //按入住时间查找 
    listnode *Cometime_Search(linklist head) 
    {
    	listnode *p; 
    	char come[10]; 
    	int i;  
    	printf("按 1 表示入住时间查找:");  
    	p=head->next ;
    	scanf("%d",&i); 
    	if(i==1) 
    	{
    		printf("输入要查询的入住时间:");  
    		scanf("%s",&come); 
    		while(p&&strcmp(p->data.come,come)>0) 
    			p=p->next;  
    		if(p==NULL||strcmp(p->data.come,come)<0)
    			p=NULL; 
    	}
    	return p; 
    }
    //按客户姓名的信息修改  
    void Info_Modify(linklist head) 
    {  
    	listnode *p;
    	p=Name_Search(head);
    	if(p==NULL)
    	{ 
    		printf("宾馆信息不存在!\n");  
    	}  
    	else
    	{
    		printf("姓名\t 性别\t 证件\t \t入住\t 天数\t 房号\t 价格\t 押金\t 离开\n ");
    		printf("***************************\n");   
    		scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID,       
    			p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );  printf("宾馆信息已修改!");    
    	}
    }
    //客户信息的删除
    void Delete_info(linklist head) 
    {
    	int i;  
    	listnode *p,*q; 
    	p=Name_Search(head);  
    	if(p==NULL) 
    	{
    		printf("信息不存在!\n");   
    		return;  
    	}  
    	else 
    	{
    		printf("按 1 删除:");   
    		scanf("%d",&i);
    		if(i==1) 
    		{
    			q=head;
    			while(q!=NULL&&q->next!=p)  
    				q=p->next;
    			q->next=p->next; 
    			free(p); 
    			printf("信息已删除!");    
    		}
    	}
    }
    //宾馆信息的输出 
    void Output_allInfo(linklist head) 
    {
    	listnode *p; 
    	p=head;  
    	printf("姓名\t 性别\t 证件\t \t入住\t 天数\t 房号\t 价格\t 押金\t 离开\n "); 
    	while(p->next!=NULL)  { 
    		
    		printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->next->data.name,p->next->data.sex,p-> next->data.ID,      
    			p->next->data.come,p->next->data.day,p->next->data.number,p->next->data.price,p->next->data. yajin,p->next->data.leave ); 
    		p=p->next ;
    	}
    }
    void SaveInfoToFile(linklist head) 
    { 
    	FILE *fp;
    	listnode *p; 
    	p=head->next; 
    	if(p==NULL) 
    	{ 
    		printf("现在没有顾客信息,请先输入顾客信息!\n\n"); 
    		return; 
    	}
    	fp=fopen("D:\\宾馆\\customer.txt","w");  
    	if(!fp) 
    	{ 
    		printf("文件不存在!\n");
    		return;
    	}
    	while(p)  
    	{
    		fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,      p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave );     
    		p=p->next; 
    	}  
    	fclose(fp);  
    	printf("文件保存成功!\n"); 
    } 
    
    
    展开全文
  • 酒店管理系统 c语言链表

    千次阅读 2018-12-16 16:22:59
    #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; #define MaxSize 20 typedef struct guest_info { char name[20];... struct guest_info *next...
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #define MaxSize 20
    typedef struct guest_info
    {
    	char name[20];
    	int sum;
    	char time[10];
    	int number;
    	struct guest_info *next;
    }GuestLink,*Pointer;
    void Insert(Pointer *Head);
    void Search(Pointer Head);
    void Update(Pointer Head);
    void Delete(Pointer *Head);
    void Show(Pointer Head);
    int main() 
    {
    	Pointer Head=NULL;
    	int i;
    	do
    	{
    		printf("\n");
    		printf("1---插入\n");
    		printf("2---查询\n");
    		printf("3---修改\n");
    		printf("4---删除\n");
    		printf("5---显示\n");
    		printf("6---退出\n");
    		scanf("%d",&i);
    		switch(i)
    		{
    			case 1:Insert(&Head);break;
    			case 2:Search(Head);break;
    			case 3:Update(Head);break;
    			case 4:Delete(&Head);break;
    			case 5:Show(Head);break;
    			case 6:break;
    			default:printf("重新输入");break;
    		}
    	}while(i!=6);
    	return 0;
    }
    void Insert(Pointer *Head)
    {
    	int in_number;
    	Pointer p,q,r;
    	printf("请输入编号:");
    	scanf("%d",&in_number);
    	p=q=*Head;
    	while(p!=NULL)
    	{
    		if(p->number==in_number)
    		 {
    		 	printf("已经有相同编号");
    			return; 
    		 }
    		else
    		 {
    		 	q=p;p=p->next;
    		 }
        }
        r=(Pointer)malloc(sizeof(GuestLink));
        r->next=NULL;
        if(r==NULL)
         {
         	printf("error");
    		return;
    	 }
    	if(q==NULL)
    	 *Head=r;
    	else
    	 {
    	 	q->next=r;
    	 }
    	r->number=in_number;
    	printf("姓名 人数 用餐时间\n");
    	scanf("%s%d%s",r->name,&r->sum,r->time);
    }
    void Search(Pointer Head)
    {
    	int flag=1,number;
    	Pointer p;
    	printf("请输入编号:");
    	scanf("%d",&number);
    	p=Head;
    	while(p!=NULL&&flag)
    	{
    		if(p->number==number)
    		{
    			printf("姓名:%s \n人数:%d \n用餐时间:%s\n",p->name,p->sum,p->time);
    			flag=0;
    		}
    		else
    		 p=p->next;
    	}
    	if(flag)
    	printf("no data");
    }
    void Update(Pointer Head)
    {
    	int flag=1,number;
    	Pointer p;
    	printf("请输入编号:");
    	scanf("%d",&number);
    	p=Head;
    	while(p!=NULL&&flag)
    	{
    		if(p->number==number)
    		{
    			printf("人数 用餐时间\n");
    			scanf("%d%s",&p->sum,p->time);
    			flag=0;
    		}
    		else
    		p=p->next;
    	}
    	if(flag)
    	printf("no data"); 
    }
    void Delete(Pointer *Head)
    {
    	int flag=1,number;
    	Pointer p,q;
    	printf("请输入编号:");
    	scanf("%d",&number);
    	p=q=*Head;
    	while(p!=NULL&&flag)
    	{
    		if(p->number==number)
    		{
    			if(p==*Head)
    			{
    				*Head=p->next;
    				free(p);
    			}
    			else
    			{
    				q->next=p->next;
    				free(p);
    			}
    			flag=0;
    		}
    		else
    		{
    			q=p;
    			p=p->next;
    		}
    	}
    	if(flag)
    	printf("no data");
    }
    void Show(Pointer Head)
    {
    	Pointer p;
    	p=Head;
    	while(p!=NULL)
    	{
    		printf("编号:%d  姓名:%s  人数:%d  用餐时间:%s\n",p->number,p->name,p->sum,p->time);
    		p=p->next;
    	}
    }
    
    
    展开全文
  • 大一时候自己做的C语言课设,希望对大家有帮助!
  • C语言课程设计——宾馆住宿管理系统 内含任务书、源代码、实验报告等
  • C 语言课程设计 - 宾馆客房管理系统报告 语言课程设计报告 C 语 言 课程设计报告 标题宾馆客房管理系统 学号 姓名 同组人员 年级专业 09 电子信息工程 指导老师 完成日期 2010/6/21 安徽师范大学物理与电子信息学院 ...
  • 宾馆管理系统

    2018-04-02 16:35:42
    关于宾馆管理系统设计,用C语言以及算法实现,对来住客人进行等级,包括人数,性别,年龄,等等信息的输入。
  • 宾馆客房管理系统

    2012-04-27 21:19:10
    宾馆客房管理系统 C语言 数据结构
  • 系统能够实现对小型旅馆的管理。 分有几个模块,包括信息查询,信息录入,查找,删除等功能。 系统运用C语言编译实现。 能打印出所需信息。 可以实现各个模块的功能。
  • C语言的客房管理系统,非常简单,可以实现1、用户信息录 2、用户查询 3、空房查询 4、用户统计 5、用户修改 6、系统格式化 7、保存退出 这七个基本功能,E_Room文本文件里面是房间的基础数据,不要轻易删除,但是...
  • 实践教学 * 兰州理工大学 计算机与通信学院 2010 年春季学期 计算机语言 课程设计 题 目宾馆客房管理系统 专业班级 姓 名 学 号 指导教师 成 绩 1 目 录 摘 要 3 前 言 4 正 文 5 1. 问题描述 5 2. 需求分析 5 3. ...
  • 本课程设计的名称为宾馆住宿信息管理系统。该系统能够处理宾馆运营过程中产生的客房分类信息、客房基本信息以及客人住宿信息。本系统包括三个主要功能模块:数据维护、数据查询以及数据统计,两个辅助功能模块:文件...

    一、系统需求分析

    本课程设计的名称为宾馆住宿信息管理系统。该系统能够处理宾馆运营过程中产生的客房分类信息、客房基本信息以及客人住宿信息。本系统包括三个主要功能模块:数据维护、数据查询以及数据统计,两个辅助功能模块:文件模块以及帮助模块,同时本系统还提供良好的人机交互界面,在程序运行时更会给予大量的提示帮助管理者更好的使用本系统,本系统还提供数据的存储功能,能够将系统运行时产生的数据存入到相应的数据文件中。

    具体功能如下图1.1:

    二、总体设计

    • 第一步:加载文件中存储的三类基本数据到系统内存中,将有关数据存入链表

    • 第二步:文本菜单界面初始化,包括主菜单的显示,子菜单弹出窗口的设计,相应鼠标操作的热区设置

    • 第三步:系统各个功能函数的选择和运行,该模块用到一个循环机制,当用户在子菜单中选择功能,调用相应的功能函数,若该功能函数返回一个返回值,该返回值作为循环的条件,若为TRUE,则函数执行完后清屏继续下一循环,若为FALSE,说明用户选择退出系统,退出循环,该模块结束

    • 第四步:处理退出系统后的数据,询问用户是否保存相关数据到文件中,清理系统内存,释放节点空间,关闭输入输出句柄

     

    点击此处下载文档和源码
     

    展开全文
  • 酒店客房管理系统C语言

    千次阅读 多人点赞 2020-06-14 15:00:39
    设计目标:设计一个酒店客房管理系统,用C语言实现。对该系统的要求如下: 一、需求描述: 系统角色: 1.总台服务员 能够根据住客需求完成住客登记任务,并完成客房管理功能。 1)登记入住功能 2)结账功能 3)查询...
  • 基于C语言的酒店管理系统课程设计摘 要随着个人计算机的的普及,越来越多的重复性工作被交由计算机来完成。在这种大趋势下,传统的纸质档案管理方式已不适应现代服务业的发展。数字化的管理成为酒店等行业的必要条件...
  • C语言实现客房管理系统

    万次阅读 多人点赞 2016-06-22 10:11:27
    程序如下: #include #include #include ... printf(" 退房管理\n");  printf("请输入房间号:\n");  scanf("%d",&i);  printf("确认要退%d号房吗?(1:Y/0:N)",i);  ...
  • 信息科学与工 课程设计报 程学院 告书 专 业通信工程 课程设计名称程序设计实践 题 目简易宾馆客房管理系统 班 级 设计 者 学 号 指导教师: 完成时间: 重庆交通大学信息科学与工程学院课程设计任务书 课程 程序设计...
  • 信 息 科 学 与 工 程 学 院 课 程 设 计 报 告 书 专 业通信工程 课程设计名称 程序设计实践 题 目简易宾馆客房管理系统 班 级 设 计 者 学 号 指 导 教 师 完 成 时 间 . 重庆交通大学信息科学与工程学院课程设计...
  • C语言程序设计课程设计 实验报告 题目 宾馆住宿信息管理系统 专业 班级 学号 姓名 成绩 指导教师 完成日期 20年 10 月 1 日 宾馆管理住宿系统 一实验目的 1进一步掌握和利用C语言进行程设计的能力 2 进一步理解和...
  • C语言实现酒店管理系统

    万次阅读 多人点赞 2019-01-19 22:03:10
    C语言实现中小型酒店旅馆管理系统 刚刚基础的学完一遍c语言,在老师的带领下,大致完成了这个项目,其中因为时间问题,有些地方还未修改,功能有点不完善。虽然做的过程,学c语言的过程很痛苦,想过放弃,但是坚持...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 416
精华内容 166
关键字:

宾馆管理系统c语言

c语言 订阅