要求以租房管理业务为背景,设计并实现一个“租房信息管理系统”软件,使用该系统可以方便查询每一个房屋信息,租客信息,租房登记信息等。

【数据结构】要求以租房管理业务为背景,设计并实现一个“租房信息管理系统”软件,使用该系统可以方便查询每一个房屋信息,租客信息,租房登记信息等。

要求:
(1)房屋信息包括:地址、房产证号、户型、面积、装修等级、月租金等。
(2)租客信息包括:身份证号、姓名、工作单位、工龄、联系方式、租房补贴等。
(3)租房登记信息包括:租客、房屋、入住时间、租房合同号、备注等。
(4)完成以下的操作:房屋信息和租客信息的添加、修改、浏览、删除和查询及租房、退房;租房信息浏览与查询。
来源:期末课设!

  1. main函数
#include<stdio.h>
#include<string.h>

#include "house.h"
#include "rental.h"
#include "tenant.h"
//相应的头文件

int n;
int k;
int l;
int u = 0;
//定义四个全局变量,分别是n, k, l, u。

int main()
{
	int certain = 1;
	int num;
	if(u <= 1)
    {
        printf("             ************************************\n");
		printf("             *         租房信息管理系统         *\n");
		printf("             ************************************\n");
		printf("\n");
		printf("欢迎来到“租房信息管理系统”请选择您所需要的服务:\n");
		printf("输入每项服务所对应的数字即可!\n");
		u++;
    }//使用全局变量u迫使以上信息只显示一次。
    
	while(certain)
	{
	    printf("\n");
	    printf("您现在所进入的是一级菜单!\n");
		printf("1.房屋信息\n");
		printf("2.租客信息\n");
		printf("3.租房登记\n");
		printf("4.退出系统\n");
		printf("\n");

		scanf("%d", &num);
		switch(num)
		{
		case 1: house_information();
			break;
		case 2: tenant_information();
			break;
		case 3: rental_registration_information();
			break;
		case 4:
			{
			    printf("\n");
			    printf("您选择的是4<退出系统>\n");
				printf("非常感谢您的使用,欢迎下次使用!");
				certain = 0;
				return 0;
			}
			break;
		}
	}
	return 0;
}
  1. house.h文件
#ifndef HOUSE_H_INCLUDED
#define HOUSE_H_INCLUDED

void house_information();//房屋信息
void add_house_information();//添加房屋信息
void change_house_information();//修改房屋信息
void delete_house_information();//删除房屋信息
void show_house_information();//显示房屋信息
void find_house_information();//查找房屋信息
void rental_registration_information();//租房登记信息

struct ren_out{
	int no_housing; //房产证号
	char address[100]; //地址
	int area; //面积
	float month_price; //月租金
	char type_house[10]; //房屋户型
	char grade_decoration[10]; //房屋装修等级
	char if_outhouse[10]; //是否出租房屋
}a[10];//房屋信息

#endif // HOUSE_H_INCLUDED
  1. house.c文件
#include <stdio.h>
#include <string.h>

#include "house.h"

extern int n; //全局变量n

void house_information()//房屋信息菜单
{
	int certain = 1;
	int f;

	while(certain)
	{
	    printf("\n");
        printf("您现在进入的是二级菜单<房屋信息>\n");

        printf("1.添加房屋信息        2.修改房屋信息\n");
        printf("3.删除房屋信息        4.显示房屋信息\n");
        printf("5.查找房屋信息        6.返回上一界面\n");
        printf("7.已找到合适的租客,想要与他签合同!\n");
        printf("\n");

        scanf("%d", &f);
        switch(f)
            {
            case 1: add_house_information();
                break;
            case 2: change_house_information();
                break;
            case 3: delete_house_information();
                break;
            case 4: show_house_information();
                break;
            case 5: find_house_information();
                break;
            case 6:
                {
                    certain = 0;
                }
                break;
            case 7: rental_registration_information();
                break;
            }
	}
}

void add_house_information()//添加房屋信息
{
	int i;
	int certain = 1;
	char c;

    printf("\n");
	printf("您现在进入的是三级菜单<添加房屋信息>\n");
	printf("现在我们开始录入数据\n");
	printf("\n");

	while(certain)
	{
		for(i = n; i < 10; i++)
		{
			printf("请输入您想录入的房产证号:");
			scanf("%d", &a[i].no_housing);
			printf("请输入房屋地址:");
			scanf("%s", a[i].address);
			printf("请输入房屋的面积:");
			scanf("%d", &a[i].area);
			printf("请输入房屋的月租金:");
			scanf("%f", &a[i].month_price);
			printf("请输入房屋的户型:");
			scanf("%s", a[i].type_house);
			printf("请输入房屋的装修等级:");
			scanf("%s", a[i].grade_decoration);
			printf("请问您的房屋现在是否出租?(用是和不是表示)");
			scanf("%s", a[i].if_outhouse);
			n++;

			printf("请问是否继续录入?(用Y和N表示)");
			scanf("%s", &c);
			if(c == 'Y')
			{
				certain = 1;
			}
			else if(c == 'N')
			{
				certain = 0;
				printf("\n恭喜!输入完成!\n");
				break;
			}
		}
	}
}

void change_house_information()//修改房屋信息
{
	int i, z;
	char x[20], h[20], g[20], o[20];

    printf("\n");
    printf("您现在进入的是三级菜单<修改房屋信息>\n");
    printf("现在我们来修改房屋信息\n\n");
	printf("请输入您想修改的房屋的房产证号:");
	scanf("%d", &z);

	if(n <= 0)
	{
		printf("抱歉!您没有输入住房信息,无法进行修改!\n");
		return;
	}
	else
	{
		for(i = 0; i < n; i++)
		{
			if(z == a[i].no_housing)
			{
				printf("请输入你想录入的房产证号:");
				scanf("%d", &a[i].no_housing);
				printf("请输入房屋地址:");
				scanf("%s",x);
				strcpy(a[i].address, x);
				printf("请输入房屋的面积:");
				scanf("%d", &a[i].area);
				printf("请输入房屋的月租金:");
				scanf("%f", &a[i].month_price);
				printf("请输入房屋的户型:");
				scanf("%s", h);
				strcpy(a[i].type_house, h);
				printf("请输入房屋的装修等级:");
				scanf("%s", g);
				strcpy(a[i].grade_decoration, g);
				printf("请问您的房屋现在是否出租?(用是和不是表示)");
				scanf("%s", o);
				strcpy(a[i].if_outhouse, o);
			}
			else
			{
			    printf("抱歉!没有找到您要修改的房屋信息\n");
			}
		}
	}
}

void delete_house_information()//删除房屋信息
{
	int i, s;
	int j;

    printf("\n");
    printf("您现在进入的是三级菜单<删除房屋信息>\n");
    printf("现在我们来删除房屋信息\n\n");

    if(n)
    {
        for(i = 0; i < n; i++)
        {
            printf("请输入您想删除的房产证号:");
            scanf("%d", &s);

            if(s == a[i].no_housing)
            {
                printf("已经成功删除\n");

                for(j = i; j < n; j++)
                {
                    a[j] = a[j+1];
                    n--;
                }

                break;
            }

            else
            {
                printf("抱歉!没有该房屋的具体信息\n");
            }
        }
    }

    else
    {
        printf("抱歉,您没有输入内容!\n");
    }

}

void show_house_information()//显示房屋信息
{
	int i;

    printf("\n");
    printf("您现在进入的是三级菜单<显示房屋信息>\n");
    printf("现在所有的房屋信息有:\n\n");
	printf("房产证号 房屋地址 房屋面积 房屋月租金 房屋户型 房屋装修等级 房屋是否出租\n");
	printf("---------------------------------------------------------------------\n");

	printf("123      河北省   230      3300       楼房      二等        是\n");
	printf("456      河南省   120      1000       楼房      二等        否\n");
	printf("178      河北省   500      8000       别墅      一等        是\n");

	for(i  = 0; i < n; i++)
    {
		printf("%d	 %s	  %d	   %.0f       %s      %s        %s\n",a[i].no_housing,a[i].address,a[i].area,a[i].month_price, a[i].type_house, a[i].grade_decoration, a[i].if_outhouse);
	}

	return;
}

void find_house_information()//查找房屋信息
{
	int g, i;

	printf("\n");
	printf("您现在进入的是三级菜单<查找房屋信息>\n");
	printf("现在我们开始查找房屋信息\n\n");
	printf("请输入您想查看的房产证号:");
	scanf("%d", &g);

    printf("您输入的是:%d,查找该房屋信息如下:\n", g);

	for(i = 0; i < n; i++)
	{
		if(g == a[i].no_housing)
		{
            printf("房产证号 房屋地址 房屋面积 房屋月租金 房屋户型 房屋装修等级 房屋是否出租\n");
            printf("---------------------------------------------------------------------\n");
			printf("%d	 %s	  %d	   %.0f       %s      %s        %s\n",a[i].no_housing,a[i].address,a[i].area,a[i].month_price,a[i].type_house, a[i].grade_decoration, a[i].if_outhouse);

			return;
		}
	}

	printf("没有查到房屋的相关信息") ;
}
  1. tenant.h文件
#ifndef TENANT_H_INCLUDED
#define TENANT_H_INCLUDED

void tenant_information();//租客信息
void add_tenant_information();//添加租客信息
void change_tenant_information();//修改租客信息
void delete_tenant_information();//删除租客信息
void show_tenant_information();//显示租客信息
void find_tenant_information();//查找租客信息
void rental_registration_information();//租房登记信息

struct rent{
	long int id; //身份证号
	char name[10]; //姓名
	char work_place[100]; //工作单位
	int work_time; //工龄
	int telephone; //联系方式
	float money_rent; //租房补贴
    char if_check_out[10]; //是否退房
}b[10]; //租客信息

#endif // TENANT_H_INCLUDED
  1. tenant.c文件
#include <stdio.h>
#include <string.h>
#include "tenant.h"

extern int k;
extern int n;

void tenant_information()//租客信息菜单
{
	int z;
	int certain = 1;

	while(certain)
	{
	    printf("\n");
	    printf("您现在进入的是二级菜单<租客信息>\n");
		printf("1.添加租客信息        2.修改租客信息\n");
		printf("3.删除租客信息        4.显示租客信息\n");
		printf("5.查找租客信息        6.返回上一界面\n");
		printf("7.已找到合适的房屋,想要与房屋主人签合同!\n");
		printf("\n");
		scanf("%d", &z);

		switch(z)
		{
			case 1: add_tenant_information();
				break;
			case 2: change_tenant_information();
				break;
			case 3: delete_tenant_information();
				break;
			case 4: show_tenant_information();
				break;
			case 5: find_tenant_information();
				break;
			case 6:
			    {
			        certain = 0;
				}
				break;
            case 7: rental_registration_information();
                break;
		}
	}

}

void add_tenant_information()//添加租客信息
{
	int i;
	int certain = 1;
	char c;

	printf("\n");
    printf("您现在进入的是三级菜单<添加租客信息>\n");
	printf("现在我们来录入数据\n");
	printf("\n");

	while(certain)
	{

		for(i = k; i < 10; i++)
		{

			printf("请输入租客身份证号(9位数):");
			scanf("%ld", &b[i].id);
			printf("请输入租客姓名:");
			scanf("%s", b[i].name);
			printf("请输入租客的工作单位:");
			scanf("%s", b[i].work_place);
			printf("请输入租客工龄:");
			scanf("%d", &b[i].work_time);
			printf("请输入租客联系方式(7位数):");
			scanf("%d", &b[i].telephone);
			printf("请输入租客的租房补贴:");
			scanf("%f", &b[i].money_rent);
			printf("请问租客现在是否要求退房?(用是和不是表示)");
			scanf("%s", b[i].if_check_out);
			k++;

			printf("是否继续录入?(用Y和N表示)");
			scanf("%s", &c);

			if(c == 'Y')
			{
				certain = 1;
			}
			else if(c == 'N')
			{

				certain = 0;
				printf("恭喜!输入完成!\n");
				break;
			}
		}
	}
}

void change_tenant_information()//修改租客信息
{
	int i;
	long int z;
	char x[20], c[20], t[20];

	printf("\n");
	printf("您现在进入的是三级菜单<修改租客信息>\n");
	printf("现在我们来修改租客信息\n\n");
	printf("请输入您想修改的租客的身份证号:\n");
	scanf("%ld", &z);

	if(k <= 0)
	{
		printf("抱歉!您没有输入租客信息,无法进行修改!\n");
		return;
	}
	else
	{
		for(i = 0; i < k; i++)
		{
			if(z == b[i].id)
			{
				printf("请输入你想录入的租客身份证号(11位数):\n");
				scanf("%ld", &b[i].id);
				printf("请输入租客姓名:\n");
				scanf("%s", x);
				strcpy(b[i].name,x);
				printf("请输入租客的工作单位:\n");
				scanf("%s", c);
				strcpy(b[i].work_place,c);
				printf("请输入租客工龄:\n");
				scanf("%d", &b[i].work_time);
				printf("请输入租客联系方式(7位数):\n");
				scanf("%d", &b[i].telephone);
				printf("请输入租客的租房补贴:\n");
				scanf("%f", &b[i].money_rent);
                printf("请问租客现在是否要求退房?(用是和不是表示)");
                scanf("%s", t);
                strcpy(b[i].if_check_out, t);
			}
			else
			{
			    printf("没有找到您要修改的房屋信息\n");
			}
		}
	}

}

void delete_tenant_information()//删除租客信息
{
	int i;
	int j;
	long int s;

	printf("\n");
	printf("您现在进入的是三级菜单<删除租客信息>\n");
	printf("现在我们来删除租客信息\n\n");

	if(k)
    {
        for(i = 0; i < k; i++)
        {

            printf("请输入您想删除的租客的身份证号:");
            scanf("%ld", &s);

            if(s == b[i].id)
            {
                printf("\n");
                printf("已经成功删除\n");

                for(j = i ; j < n; j++)
                {
                    b[j] = b[j+1];
                    k--;
                }
                break;
            }
            else
            {
                printf("没有该租客的具体信息\n");
            }
        }
    }
    else
    {
        printf("抱歉,您没有输入内容!\n");
    }
}

void show_tenant_information()//显示租客信息
{
	int i;

	printf("\n");
    printf("您现在进入的是三级菜单<显示租客信息>\n");
    printf("现在所有的租客信息有:\n\n");
	printf("租客身份证号 租客姓名 租客工作单位 租客工龄 联系方式 租房补贴 租客是否退房\n");
	printf("--------------------------------------------------------------------\n");

	printf("130120303    李晓娜   石家庄地铁站 12       2834899   890      是\n");
	printf("130120300    王明     新乐饭店     2        1648433   500      否\n");
	printf("134894858    贾理     道路检测     34       2546687   1000     否\n");

	for(i = 0; i < k; i++)
    {
		printf("%ld    %s	  %s	   %d  	%d	 %.0f  %s\t\n", b[i].id, b[i].name, b[i].work_place, b[i].work_time, b[i].telephone, b[i].money_rent, b[i].if_check_out);
	}

	return;
}

void find_tenant_information()//查找租客信息
{
	int i;
    long int g;

	printf("\n");
    printf("您现在进入的是三级菜单<查找租客信息>\n");
	printf("现在我们开始查找租客信息\n\n");
	printf("请输入租客的身份证号:\n");
	scanf("%ld", &g);

	for(i = 0; i < k; i++)
	{
		if(g == b[i].id)
		{
			printf("租客身份证号 租客姓名 租客工作单位 租客工龄 联系方式 租房补贴 租客是否退房\n");
			printf("--------------------------------------------------------------------\n");
			printf("%ld		%s		%s		%d  		%d		%.0f %s\n",b[i].id,b[i].name,b[i].work_place,b[i].work_time,b[i].telephone, b[i].money_rent, b[i].if_check_out);
			return;
		}
	}
	printf("抱歉!没有查到租客的信息\n") ;
}
  1. rental.h文件
#ifndef RENTAL_H_INCLUDED
#define RENTAL_H_INCLUDED

void rental_registration_information();//租房登记信息
void add_rental_registration_information();//添加租房登记信息
void show_rental_registration_information();//显示租房登记信息
void find_rental_registration_information();//查找租房登记信息

//租房登记信息包括:租客、房屋、入住时间、租房合同号、备注等。

struct renting_house{
    char name[10];//租客姓名
    int no_housing;//房产证号
    char check_in_time[20];//入住时间
    int contract_number;//租房合同号
    char remark[20];//备注
}r[10];//租房登记信息

#endif // RENTAL_H_INCLUDED
  1. rental.c文件
#include <stdio.h>
#include <string.h>
#include "rental.h"

extern int l;

//(3)租房登记信息包括:租客、房屋、入住时间、租房合同号、备注等。

void rental_registration_information()//租房登记信息
	int r;
	int certain=1;

	while(certain)
	{
	    printf("\n");
		printf("您现在进入的是二级菜单<租房登记>\n");
		printf("1.查询租房登记信息        2.显示租房登记信息\n");
		printf("3.添加租房登记信息        4.返回上一级页面\n");
		printf("\n");

		scanf("%d",&r);
		switch(r)
			{
			case 1: find_rental_registration_information();
				break;
            case 2: show_rental_registration_information();
                break;
            case 3: add_rental_registration_information();
                break;
			case 4:
			    {
			        certain = 0;
				}
				break;
			}
	}

}

void find_rental_registration_information()//查询租房登记信息
{
	int g, i;

    printf("\n");
    printf("现在我们进入的是三级菜单<查询租房登记信息>\n");
    printf("现在我们来查询租房登记信息\n\n");
	printf("请输入您想查看的房产证号:\n");
	scanf("%d", &g);
	printf("\n");

	for(i = 0; i < l; i++)
	{
		if(g == r[i].no_housing)
		{
				printf("房屋编号\n");
				printf("%d\n", r[i].no_housing);
				return;
		}
	}
	printf("抱歉!没有查找到该房屋的相关信息\n");

}

void show_rental_registration_information()//显示租房登记信息
{
    int i;

    printf("\n");
    printf("您现在进入的是三级菜单<显示租房登记信息>\n");
    printf("现在所有的租房登记信息有:\n\n");
	printf("租客姓名 租客所租房子的房产证号 租客入住时间 租房合同号 备注\n");
	printf("--------------------------------------------------------------------\n");

	printf("林轩 123456789 2013.4.2 645132 无\t\n");
	printf("陈沐阳 654987123 2015.2 123465 无\t\n");

	for(i = 0; i < l; i++)
    {
		printf("%s	  %d	 %s  	%d	%s\n", r[i].name, r[i].no_housing, r[i].check_in_time, r[i].contract_number, r[i].remark);
	}

    printf("\n");
	return;
}


void add_rental_registration_information()//添加租房登记信息
{
	int i;
	int certain = 1;
	char c;

    printf("\n");
    printf("您现在进入的是三级菜单<添加租房登记信息>");
    printf("\n");
	printf("现在我们开始录入数据\n");
	printf("\n");

	while(certain)
	{

		for(i = l; i < 10; i++)
		{
		    printf("请输入租客姓名:");
			scanf("%s", r[i].name);
			printf("请输入租客所租房子的房产证号:");
			scanf("%d", &r[i].no_housing);
			printf("请输入租客入住时间:");
			scanf("%s", r[i].check_in_time);
			printf("请输入租客所签的租房合同号:");
			scanf("%d", &r[i].contract_number);
			printf("请输入需要输入的备注;");
			scanf("%s", r[i].remark);
			l++;

			printf("是否继续录入?(用Y和N表示)");
			scanf("%s", &c);

			if(c == 'Y')
			{
				certain = 1;
			}
			else if(c == 'N')
			{

				certain = 0;
				printf("恭喜!输入完成!\n");
				break;
			}
		}
	}
}

  • 图片如下
    租房信息管理系统登录界面
    二级菜单房屋信息
  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值