声明:此系统纯粹用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、运行效果
…亲自检验即可…
以上分享纯粹是学习小记录,如有不正确的地方,欢迎指出,另外,如果有更好地实现,欢迎留言分享互动~