酒店管理系统代码

酒店课设代码

第一次发布东西,因为一个同学帮助我很多,建议我把代码发上来,就按照他说的来了。这次写的肯定不多,也不知道要写什么,只写一下自己的部分内容了。

酒店的结构体

只设置了三个主要的结构体,其中ege的登陆界面搞成了烟花的样式,实际来说比较简陋。其实本人也不知道那个函数的原理,想要的可以评论一下,如果有想要的我可以把资源重新整理一下发出来。

typedef struct room//房间结构体 
{
	int floor;//楼层 1-12 
	int no;//房间编号 1-16 房间类型 ,1-3单人间 4-13标间 14-16豪华套间
	int type;//a:1-3单人间   b:4-13标间   c:14-16豪华套间
	char name[15];//用户编号 
	int month;
	int day;
	int yday;
	int state;//房间状态 
}sroom; 

typedef struct guest
{ 
	char name[15];//用户姓名 
	char sex[5];//用户性别 
	char age[3];//用户年龄 
	char cate[20];//身份证号码 
	int floor;//楼层 1-12 
	int no;//房间编号 1-16 房间类型 ,1-3单人间 4-13标间 14-16豪华套间
}sguest;

typedef struct{  //系统操作用户的登录账号和密码
	char username[10];
	char password[10];
}usertype;

在程序里用到了文件的相关知识,将数据储存到了文件里。如果对程序信任度较高就可以直接在D盘里创建文件,如果信任度较低就需要手动创建文件了。

创建文件

FILE *fp1;
	usertype temp;
	lest head,r,p;
	fp1=fopen("d:\\user.txt","r");
	if(fp1==NULL)     //还没有用户文件user.txt  
		{
			fclose(fp1);
			fp1=fopen("d:\\user.txt","a+");  //以追加的方式写入文本中 
			fprintf(fp1,"%s %s\n",temp.username,temp.password);
			fclose(fp1);
			cleardevice();
			setcolor(WHITE);
			setfont(20,0,"宋体");
			xyprintf(100,100,"请先完成注册,按任意位置退出"); //退出界面 
			
			mouse_msg msg = {0}; //获取鼠标权限 
			for ( ; is_run(); delay_fps(60))
   		     {
      		    //获取鼠标消息,这个函数会等待,等待到有消息为止
                while (mousemsg())
   		        {
 	                 msg = getmouse();
       		    }
        	     if((int)msg.is_up()&&(int)msg.is_left()&&msg.x>0&&msg.x <640&&msg.y>0&&msg.y<480)
       	        {     
	  			    sys(); //回到主界面 
                }
         }
			return 1;
		}
	else    //  如果用户数据已经存在 
	{
		cleardevice();
	//sys_edit editBox;
	setfont(30,0,"宋体");
	setcolor(WHITE);
	outtextxy(200,250,"请输入用户名:"); 
	inputbox_getline("登录系统","请输入账号",temp.username,(char)sizeof(temp.username));
	outtextxy(200,300,"请输入用户密码:");
	inputbox_getline("登录系统","请输入密码",temp.password,(char)sizeof(temp.password));
	xyprintf(460,250,temp.username);
	xyprintf(460,300,temp.password); 
		do
		{
			fp1=fopen("d:\\user.txt","r");//先用只读的方式把文件打开,把数据用链表读出来,放在一个序列中 
			head=(lest)malloc(sizeof(unode));
			head->next=NULL;
			r=head;
			while(!feof(fp1))       //建立一个链表。  feof检测文件是否结束 
		        {
			p=(lest)malloc(sizeof(unode));
			fscanf(fp1,"%s %s\n",p->data.username,p->data.password);//读出文件信息 
			r->next=p;
			r=p;
		        }
			r->next=NULL;
			fclose(fp1);
		
			p=head->next;
			while(p&&strcmp(temp.username,p->data.username)!=0)//比对数据,没找到相同用户名,如果没找完,继续找 
			p=p->next;
			if(!p)    //没找到相同用户名,则以追加的方式写入user.txt中,且档次的注册流程完成 
			{
				cleardevice();
			setcolor(WHITE);
			setfont(20,0,"宋体");
			xyprintf(100,100,"无此用户,请完成注册,按任意位置退出"); //退出界面 
			
			mouse_msg msg = {0}; //获取鼠标权限 
			for ( ; is_run(); delay_fps(60))
   		     {
    		     //获取鼠标消息,这个函数会等待,等待到有消息为止
                while (mousemsg())
   		        {
 	                 msg = getmouse();
       		    }
        	     if((int)msg.is_up()&&(int)msg.is_left()&&msg.x>0&&msg.x <640&&msg.y>0&&msg.y<480)
       	        {     
	  			    sys(); //即调用返回函数,回到主界面 
	  	            
                }
         }
			return 1;
			}
			else  //找到了,则需要重新输入用户名和密码,再循环刚刚的过程。 
			{
			if(p&&strcmp(temp.password,p->data.password)!=0)
			{
				cleardevice();
			setcolor(WHITE);
			setfont(20,0,"宋体");
			xyprintf(100,100,"密码输入错误,按任意位置退出"); //退出界面 
			
			mouse_msg msg = {0}; //获取鼠标权限 
			for ( ; is_run(); delay_fps(60))
   		     {
				//获取鼠标消息,这个函数会等待,等待到有消息为止
                while (mousemsg())
   		        {
 	                 msg = getmouse();
       		    }
        	     if((int)msg.is_up()&&(int)msg.is_left()&&msg.x>0&&msg.x <640&&msg.y>0&&msg.y<480)
       	        {     
	  			    sys(); //回到主界面 
	  	            
                }
         }
				return 1;
			}
			else
			{
				cleardevice();
			setcolor(WHITE);
			setfont(20,0,"宋体");
			xyprintf(100,100,"登陆成功,点击任意位置退出"); //退出界面 
			
			mouse_msg msg = {0}; //获取鼠标权限 
			for ( ; is_run(); delay_fps(60))
   		     {
				//获取鼠标消息,这个函数会等待,等待到有消息为止
                while (mousemsg())
   		        {
 	                 msg = getmouse();
       		    }
        	     if((int)msg.is_up()&&(int)msg.is_left()&&msg.x>0&&msg.x <640&&msg.y>0&&msg.y<480)
       	        {     
	  			   return 0; //即调用返回函数,回到主界面 
	  	            
                }
         }
				return 0;//弹出 
			}
		}
			
		}while(1);
	}
}

代码大部分都用到了ege,如果大家想要纯C语言的代码可以私信我,我会尽快发出来的。
代码中还用了好多代码,去获得鼠标信息。还有ege的输入框我只会最简单的所以比较简陋。

全部资源位置

因为是第一次写所以都设置了不用积分的大家可以随便查看。
1.酒店代码的资源位置https://download.csdn.net/download/qq_55391702/15678057
2.ege在devcpp的配置方式https://download.csdn.net/download/qq_55391702/15678123

酒店管理系统使用说明书 主要功能 本系统中包含如下6大功能模块: q 前台服务:该模块主要包括开台点菜、维护菜品、签单、结账等功能,其中维护菜品功能包括添加和取消菜品,能够取消菜品的前提条件是尚未签单,即处于开单状态,结账时则要求所有商品都要签单,否则不允许结账。 q 后台管理:该模块主要包括台号管理、菜系管理和菜品管理功能,其中菜系用来对菜品进行分类。 q 销售统计:该模块用来分段统计营业额,可以按日、月和年进行统计,其中日统计是按消费单和销售的商品统计销售额,月统计是按日期和每日的销售额统计销售额,年统计是按日期和月份统计销售额。 q 系统安全:该模块主要包括交接班、锁定系统和修改密码功能,其中交接班功能在操作员换岗时使用,锁定系统在操作员临时离开时使用。 q 人员管理:该模块主要包括档案管理、管理员管理和操作权限管理功能,其中管理员管理功能用来管理系统的操作员,权限管理功能用来管理系统操作员具有的操作权限。 q 初始化系统:该功能用来对系统进行初始化,初始化后系统数据将全部被删除。 操作注意事项 用户在使用《酒店管理系统》之前,应注意以下事项: (1)管理员用户名和密码为:mr、mrsoft。 (2)当鼠标经过主界面右下角时,会弹出菜单,在这里可以对本系统的信息进行管理。 业务流程 要想运行本系统,请按照以下流程操作: (1)在“人员管理”中添加操作员及其档案信息。 (2)在“系统维护”中添加台号、菜系及菜品信息。 (3)在“台号”下拉列表中选择台号、在商品文本框中输入商品助记码或编号及商品数量,然后单击“开台”按钮。可添加多个商品。 (4)顾完单完菜后,单击“签单”按钮,表示确认该订单,此时可以执行结账操作,否则不可进行结账。 如果操作临时离开,可单击“锁定系统”按钮,输入登录密码可解锁。 (5)在“销售统计”中可对日销售、月销售及年销售额进行统计。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值