精华内容
下载资源
问答
  • 一个关于c语言宾馆客房管理代码 不足之处望各位指正 呵呵
  • C语言实现的宾馆客房管理系统,程序设计训练大作业,已在VC6.0上测试,并内含设计报告。
  • c语言宾馆客房管理系统
  • 一个简单的宾馆客房管理系统,用c语言作为源代码,不足之处望见谅!
  • C语言课程设计-宾馆客房管理系统
  • 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 语言课程设计 - 宾馆客房管理系统报告 语言课程设计报告 C 语 言 课程设计报告 标题宾馆客房管理系统 学号 姓名 同组人员 年级专业 09 电子信息工程 指导老师 完成日期 2010/6/21 安徽师范大学物理与电子信息学院 ...
  • 实践教学 * 兰州理工大学 计算机与通信学院 2010 年春季学期 计算机语言 课程设计 题 目宾馆客房管理系统 专业班级 姓 名 学 号 指导教师 成 绩 1 目 录 摘 要 3 前 言 4 正 文 5 1. 问题描述 5 2. 需求分析 5 3. ...
  • 中 原 工 学 院 软件职业技术学院 一级实践环节报告 课题名称 宾馆客房管理系统 专 业 NET 软件 班 级 NET104 学 号 36 学生姓名 李新辉 指导教师 罗菁 年 月 一题目 宾馆客房管理系统 二流程分析 宾 馆 客 房 管 理...
  • 宾馆客房管理系统

    2012-04-27 21:19:10
    宾馆客房管理系统 C语言 数据结构
  • 本程序是用于酒店管理的软件。它可以实现定退房业务处理,用户信息的记录、查询及房间状态管理等功能。...本程序运用Microsoft Visual C++编译器编写,涉及C语言的文件读写,结构数组运用及字符串函数相关知识。
  • C语言编写,带有论文,毕业设计时所做,仅做参考
  • 该系统能够处理宾馆运营过程中产生的客房分类信息、客房基本信息以及客人住宿信息。本系统包括三个主要功能模块:数据维护、数据查询以及数据统计,两个辅助功能模块:文件模块以及帮助模块,同时本系统还提供良好的...

    一、系统需求分析

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

    具体功能如下图1.1:

    二、总体设计

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

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

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

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

     

    点击此处下载文档和源码
     

    展开全文
  • 信息科学与工 课程设计报 程学院 告书 专 业通信工程 课程设计名称程序设计实践 题 目简易宾馆客房管理系统 班 级 设计 者 学 号 指导教师: 完成时间: 重庆交通大学信息科学与工程学院课程设计任务书 课程 程序设计...
  • 信 息 科 学 与 工 程 学 院 课 程 设 计 报 告 书 专 业通信工程 课程设计名称 程序设计实践 题 目简易宾馆客房管理系统 班 级 设 计 者 学 号 指 导 教 师 完 成 时 间 . 重庆交通大学信息科学与工程学院课程设计...
  • 该系统能够处理宾馆运营过程中产生的客房分类信息、客房基本信息以及客人住宿信息。本系统包括三个主要功能模块:数据维护、数据查询以及数据统计,两个辅助功能模块:文件模块以及帮助模块,同时本系统还提供良好的...
        

    一、系统需求分析

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

    具体功能如下图1.1:

    18423381-16d0f99730bcea88.png

    源码下载地址:https://www.write-bug.com/article/1506.html

    展开全文
  • | c++课程设计宾馆客房管理系统.rar 17.41 KB | delphi人才信息管理系统.rar 479.42 KB | delphi网页邮件抓发系统.rar 800.12 KB | http代理服务器的实现(程序).rar 171.11 KB | http服务器的实现.rar 40.38 KB | ...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

宾馆客房管理c语言

c语言 订阅