宾馆【房屋租赁】管理系统

声明:此系统纯粹用C语音编写而成,未连接数据库,简单易懂;
适合C语言课设项目

1、主函数如下:

int main()
{  
	for(t=0; t<10; t++)
	{
		strcpy(b[t].name_ten, a[t].name);
	}
	
	int a=0;
    int no=1;
	while(no)
	{
		printf("***************房屋租赁信息系统***************\n");
	    printf("*********欢迎使用房屋租赁信息管理系统*********\n");
		printf("**********************************************\n");
		printf("* 1.房源信息         ***      2.承租者信息   *\n");
		printf("* 3.入住管理         ***      4.退出系统     *\n");
		printf("**********************************************\n");
	    printf("请选择您需要的服务,输入序号:\n");
	    
		scanf("%d",&a);
		switch(a)
		{
			case 1:
				fangwuxinxi();
				break;
			case 2:
				chengzuzhe();
				break;
			case 3:
				guanli();
				break;
			case 4:
				printf("欢迎下次继续使用!\n");
				break;
		}
	}
	return 0;
}

2、完整项目:

#include <stdio.h>
#include <string.h>
void fangwuxinxi ();
void chengzuzhe ();
void guanli1 ();
void guanli2  ();
void add1  ();
void xiugai1  ();
void shanchu1  ();
void xianshi1  ();
void xianshi2 ();
void add2  ();
void xiugai2  ();
void shanchu2  ();
void xianshi  ();
void ruzhuguanli ();
void chazhao1 ();
void guanli();

struct  house 
{  
	int bianma;
	char address[10];
	int number;//门牌号 
	double price;
	char rent;
	char name[10];
}a[10];

struct tenantry
{  
	int id;
	char name_ten[10];
	char jiguan[10];
	int time;
	int num;
}b[10];

int t;

int n=0;//房屋总数 
int k=0;//类似于m,用于承租者 
int m=0;//添加的房屋数量 ,多次调用add1()时做循环的初始值 ,可以用n来代替 

void fangwuxinxi()
{
	int en=1;
	int f;
	
	while(en)
	{
		printf("************************************************\n");
		printf("********************房屋信息********************\n");
		printf("------------------------------------------------\n");
		printf("* 1.添加房屋信息     ***     2.修改房屋信息    *\n");
		printf("* 3.删除房屋信息     ***     4.显示房屋信息    *\n");
		printf("* 5.查找房屋信息     ***     6.返回主界面      *\n");
	   	printf("------------------------------------------------\n");
	   	printf("************************************************\n");
		printf("请选择您需要的服务,输入序号:\n");
		scanf("%d",&f);
		switch (f)
		{
		case  1:add1();break;
		case  2:xiugai1();break;
		case  3:shanchu1();break;
		case  4:xianshi1();break;
		case  5:chazhao1();break;
	    case  6:en=0;break;
		}
	}
}

//添加房屋信息
void add1()
{
	int p=1;
	char b;
	for(;m<10;)
	{
	   printf("请输入需要录入的房屋编码:\n");
	   scanf("%d",&a[m].bianma);
	   printf("请输入需要录入的房屋地址:\n");
	   scanf("%s",a[m].address);
	   printf("请输入需要录入的房屋门牌号:\n");
	   scanf("%d",&a[m].number);
	   printf("请输入需要录入的房屋的价格:\n");
	   scanf("%lf",&a[m].price);
	   printf("请输入房屋是否出租ps:若出租请输入1,若不出租请输入0\n");
	   fflush(stdin);
	   scanf("%c",&a[m].rent);
	   printf("请输入需要录入的承租者姓名,若没有请输入no:\n");
	   scanf("%s",a[m].name);
	   m++;
	   n++;
	   printf("是否继续录入? 选择Y 表示继续,N 表示录入结束\n");
	   fflush(stdin);//清理缓存 
	   scanf("%c",&b);
		if (b=='Y')
		{   
//				p=1;
			printf("-----------------\n"); 
//				break; 
		}
		else if(b=='N')
	 	{  
//				p=0;
	        printf("录入完毕!\n");
		    break;
		}
	}
	printf("m=%d", m);
	printf("------总共有%d个房屋------\n", n);
}

/**
	int bianma;
	char address[10];
	int number;//门牌号 
	double price;
	char rent;
	char name[10];
**/ 
//修改 1 
void xiugai1()
{  
   int i=0,z=0, flag=0;
   char options, b, d, u, p, r, e;
   printf("------总共有%d个房屋------\n", n);
   printf("请输入你想要修改的房屋编码:\n");
   scanf("%d",&z);
   
	if(n==0)//起初写成了n=0出现了错误,相当于把0赋值给了n 
	{ 
		printf("无法查询到任何住房信息,无法修改:\n");
	}
	else
	{  
		printf("----继续1----\n"); 
		printf("%d\n",a[0].bianma);
		for(i=0;i<n;i++)
		{   
//			if(z==a[i].bianma)//a[i].bianma与声明的a一样,[Error] subscripted value is neither array nor pointer nor vector 
			if(z==a[i].bianma)
 			{
				printf("----继续2----\n"); 
				printf("请输入要修改的选项:b代表bianma ? d代表address ? u代表number ? p代表price ? r代表rent ? e代表name \n");
				fflush(stdin);//清理缓存 
				scanf("%c", &options);
				switch(options)
				{
					case 'b':
						printf("请输入将房屋编码修改为:\n");
						scanf("%d",&a[i].bianma);
						break;	
			 		case 'd':
						printf("请输入将房屋的地址修改为:\n");
						scanf("%s",a[i].address);
						break;
					case 'u':
						printf("请输入将房屋的门牌号修改为:\n");
						scanf("%d",&a[i].number);
						break;
					case 'p':
						printf("请输入将房屋的价格修改为:\n");
						scanf("%lf",&a[i].price);	
					case 'r':
						printf("请输入将房屋的出租状态修改为(出租输入1,不出租输入0):\n");
						scanf("%c",&a[i].rent);	
						break;	
					case 'e':
						printf("请输入需要录入的承租者姓名,若没有请输入无:\n");	 
						scanf("%s",a[i].name);
						break;
				}
				flag=1;
				break;
			}
			else
			{
				printf("----继续3----\n"); 
				continue;		
			}			
		}
		if(flag==0)
		{
			printf("没找到相应编号的房屋\n");
		}
		
	}
}  

//删除1 
void shanchu1()
{    
	int e,s,f;
	int flag=0;
	printf("请输入你想要删除的房屋编码:\n");
	scanf("%d", &s);
	for(e=0;e<n;e++)
	{     
		if(s==a[e].bianma)
		{  
		    for(f=e;f<n;f++)
			{
				a[f]=a[f+1];	
			}
			m--;
			n--;
			printf("已成功删除!\n");
			flag=1;
			break;
		}
	}
	if(flag==0)
	{
		printf("没有该房屋的具体信息!\n");	
	}	
			
}	  

//显示1 
void xianshi1()
{
	int i;
	printf("房屋编码\t房屋地址\t房屋门牌号\t房屋价格\t是否出租\t出租者姓名\n");
	printf("┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄\n");
	for(i=0;i<n;i++)
    {
		printf("%d \t\t %s \t\t %d \t\t %f \t\t %c \t\t %s \n",
		a[i].bianma,a[i].address,a[i].number,a[i].price,a[i].rent,a[i].name);
	}	
}

//查找 
void chazhao1()
{
	int g,i;
	int flag=0;
	printf("请输入想要查找的房屋编码:\n");
	fflush(stdin);//清理缓存 
	scanf("%d",&g);
	for(i=0;i<n;i++)
	{   
		if(g==a[i].bianma)
		{
			printf("房屋编码\t房屋地址\t房屋门牌号\t房屋价格\t是否出租\t出租者姓名\n");
			printf("┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄\n");	
			printf("%d \t\t %s \t\t %d \t\t %f \t\t %c \t\t %s \n",
			a[i].bianma,a[i].address,a[i].number,a[i].price,a[i].rent,a[i].name);				
			flag=1;
		}
	}
	if(flag==0)
	{
		printf("没有查到房屋的相关信息\n");	
	}
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

void chengzuzhe()
{   
	int en=1;
	int tenantry;
	while(en)
	{
		printf("***********************************************\n");
		printf("*                 *承租者信息*                *\n");
		printf("***********************************************\n");
		printf("* 1.添加承租者信息    ***    2.修改承租者信息 *\n");
		printf("* 3.删除承租者信      ***    4.显示承租者信息 *\n");
		printf("* 5.返回主界面        ***                     *\n");
		printf("***********************************************\n");
		printf("请从1-6中选择一个:\n");
		scanf("%d",&tenantry);
		switch (tenantry)
		{
			case  1:add2();break;
			case  2:xiugai2();break;
			case  3:shanchu2();break;
			case  4:xianshi2();break;
		    case  5:en=0;break;
		}
	}
}

/**
	int id;
	char name_ten[10];
	char jiguan[10];
	int time;
	int num;
*/	

void add2()//添加承租者信息
{  
   char c;
   for(;k<10;)
	{	
		printf("请输入需要录入承租者id:\n");
		scanf("%d",&b[k].id);
		printf("请输入需要录入的承租者姓名:\n");
		scanf("%s",b[k].name_ten);
		printf("请输入需要录入的承租者籍贯:\n");
		scanf("%s",b[k].jiguan);
		printf("请输入需要录入的承租者入住时间:\n");
		scanf("%d",&b[k].time);
		printf("请输入需要录入的承租者房屋编码,若没有请输入0:\n");
		scanf("%d",&b[k].num);
		k++;
		printf("是否继续录入?输入Y 或者 N\n");
		fflush(stdin);//清理缓存 
		scanf("%c",&c);
		
		if (c=='Y')
		{ 
			printf("-----------------\n"); 
		}
		else if(c=='N')
		{   
			printf("录入完毕:\n");
			break;
		}
	}
}

void xiugai2()
{  
	int i,j;
	int new_flag=0;
	char c[20],d[20] ;
	int options;
	printf("请输入你想要修改的承租者id:\n");
	scanf("%d", &j);
	if(k==0)
	{  
		printf("无法查询到任何住房信息,无法修改:\n");
	}
	else
	{  
		for(i=0;i<k;i++)
		{    
			if(j==b[i].id)
 			{
				new_flag=1;
				printf("请输入要修改的选项:1代表id, 2代表姓名, 3代表籍贯, 4代表入住时间, 5代表承租房屋编码\n"); 
				scanf("%d", &options);
				switch(options)
				{
					case 1:
						printf("请输入需要修改的承租者id:\n");
						scanf("%d",&b[i].id);	
						break;	
					case 2:
						printf("请输入需要修改的承租者姓名:\n");
						scanf("%s",c);//因为是字符数组 ,不需要&,同时是%s 
						strcpy(b[i].name_ten,c);
						break;
					case 3:
						printf("请输入需要修改的承租者籍贯:\n");
						scanf("%s", d);
						strcpy(b[i].jiguan,d);	
						break;
					case 4:
						printf("请输入需要修改的承租者入住时间:\n");
						scanf("%d",&b[i].time);		
					case 5:
						printf("请输入需要修改的承租者房屋编码,若没有请输入0:\n");
						scanf("%d",&b[i].num);	
						break;	
				}
			}
		}
		if(new_flag==0)
		{
			printf("没有找到您需要修改的住房信息\n");
		}
	}
}

void shanchu2()
{   
	int e,s,f;
	int flag=0;
    for(e=0;e<k;e++)
	{     
		printf("请输入你想要删除的承租者id:\n");
        scanf("%d",&s);
		if(s==b[e].id)
		{  
			for(f=e;f<k;f++)
			{
				b[f]=b[f+1];
				k--;
			}
			printf("已成功删除!\n");
			flag=1;
			break;
		}			
	}
	if(flag==0)
	{
		printf("没有该承租者的具体信息:");	
	}
} 
     
void xianshi2()
{
	int i;
	printf("承租者id \t 承租者姓名 \t 承租籍贯 \t 租客入住时间 \t 房屋编码\n");
	printf("┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄\n");
	for(i=0;i<k;i++)
    {
		printf("%d \t\t %s \t\t %s \t\t %d \t\t %d \n",
		b[i].id,b[i].name_ten,b[i].jiguan,b[i].time,b[i].num);
	}		
}

void chazhao2()
{
	int g,h,j;
	int flag=0;
	printf("根据客户id查找房屋信息,请输入客户id:\n");
	scanf("%d", &g);
	for(j=0;j<k;j++)
	{
		if(b[j].id==g)
		{
			printf("承租者id \t 承租者姓名 \t 承租籍贯 \t 租客入住时间 \t 房屋编码\n");
			printf("┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄\n");
			printf("%d \t\t %s \t\t %s \t\t %d \t\t %d \n",
			b[j].id,b[j].name_ten,b[j].jiguan,b[j].time,b[j].num);
			flag=1; 
		}
	} 
	if(flag==0)
	{
		printf("没找到入住客户信息\n");		
	}
}

//管理界面
void guanli()
{
	int r;
	int no=1;
	
	while(no)
	{
		printf("************************************************\n");
		printf("*               入住管理                       *\n");
		printf("------------------------------------------------\n");
		printf("  1.输入房屋编号查询房屋状态     \n");
		printf("  2.输入客户ID查询入住客户信息   \n");
		printf("  3.返回主页面                   \n");
		printf("************************************************\n");
		scanf("%d",&r);
		switch(r) 
		{
			case 1:
				chazhao1();
				break;
				
			case 2:
				chazhao2();
				break;
				
			case 3:
				no=0;
				break;	
		}
	}
}

int main()
{  
	for(t=0; t<10; t++)
	{
		strcpy(b[t].name_ten, a[t].name);
	}
	
	int a=0;
    int no=1;
	while(no)
	{
		printf("***************房屋租赁信息系统***************\n");
	    printf("*********欢迎使用房屋租赁信息管理系统*********\n");
		printf("**********************************************\n");
		printf("* 1.房源信息         ***      2.承租者信息   *\n");
		printf("* 3.入住管理         ***      4.退出系统     *\n");
		printf("**********************************************\n");
	    printf("请选择您需要的服务,输入序号:\n");
	    
		scanf("%d",&a);
		switch(a)
		{
			case 1:
				fangwuxinxi();
				break;
			case 2:
				chengzuzhe();
				break;
			case 3:
				guanli();
				break;
			case 4:
				printf("欢迎下次继续使用!\n");
				break;
		}
	}
	return 0;
}


3、运行效果

…亲自检验即可…


以上分享纯粹是学习小记录,如有不正确的地方,欢迎指出,另外,如果有更好地实现,欢迎留言分享互动~

发布了75 篇原创文章 · 获赞 52 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/WU2629409421perfect/article/details/100562559