酒店管理系统代码

酒店课设代码

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

酒店的结构体

只设置了三个主要的结构体,其中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.youkuaiyun.com/download/qq_55391702/15678057
2.ege在devcpp的配置方式https://download.youkuaiyun.com/download/qq_55391702/15678123

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值