当前位置:文档之家› C语言课程设计房屋租赁管理系统

C语言课程设计房屋租赁管理系统

合肥学院
计算机科学与技术系
课程设计报告
2012~2013学年第二学期
课程 C语言课程设计
课程设计名称房屋租赁管理系统
学生姓名
学号
专业班级计本(3)班
指导教师华珊珊项响琴
2013年6月
合肥学院C语言课程设计报告
第一章:需求分析 (3)
1.1添加
3
1.2显示
3
1.3存储
3
1.4装入
3
1.5查询
3
第二章:算法设计:...... 错误!未定义书签。

2.1设计思想 (4)
2.2设计表示 (5)
2.3设计注释 (11)
2.4算法设计的新思想 (11)
第三章:小结............ 错误!未定义书签。

第四章:参考文献:. (13)
第一章:需求分析
编写一个简单的房屋租赁管理程序,帮助管理房屋租赁管理事物。

要求具有备忘录房屋项目管理和租赁信息管理的功能。

其中房屋项目管理包括房屋项目增加、删除、和修改等功能。

租赁信息管理包括房租租售登记表输入和房屋出租查询。

本题程序应提供的基本管理功能有:
1)添加:即增加一条房屋信息到房屋项目中;
2)显示:即在屏幕上显示所有房屋项目中的信息。

3)存储:即将房屋项目信息保存在一个文件中。

4)装入:即将文件中的信息读入程序。

5)查询:可根据房屋编号查找房屋项目信息,若找到,显示在屏幕上。

6)修改:可修改某编号的房屋项目信息。

第二章:算法设计:
1:设计思想:
主流程图:
子菜单流程图
子菜单流程图
算法思想:
创建房屋结构体类型,每条房屋项目信息都用该结构体来实现,包含地点,面积,户主,租金,租赁人等。

用一个单向链表来管理房屋项目信息,通过链表的遍历可以操作这些数据。

本程序共使用了两个级的菜单。

主菜单,子菜单。

共使用了五个子函数,他们的功能分别是:插入、删除、输出、修改、和查找,通过主函数的调用实现程序的要求。

主函数使用两个switch 语句,得到两个次级菜单。

再在switch 语句的case 中调用子函数。

本系统用到了以下得知识点:
1:面向过程程序设计方法 2:界面制作,switch 的应用。

3:动态数组(链表)。

4:文件的读写。

2 :设计表示:
输出子函数:
void output(house *head)//输出子函数 {
while (head!=NULL)
{
printf("户主名 : %s \n",head->house[0]);
printf("租户名: %s \n",head->house[1]);
printf("地点 : %s \n",head->house[2]);
printf("面积 : %s \n",head->house[3]);
printf("租金: %s \n",head->house[4]);
printf("\n");
head=head->next;
}
printf("按任意键结束\n");
getchar();
getchar();
}
该部分是输出子函数,功能是将数据库中的数据输出,前提是数据库中必须要有数据,否则就会出现错误。

在没有错误的情况下,它将会按如下例子输出:
:
户主名: bob
租户名: tom
地点 : anhui
面积 : 80
"租金: 900
按任意键结束
查找子函数
void Search(int n,house *head)
{
char st[100];
int t,flag=0;
system("cls");
t=n-1;
if (n==1) printf("\t请输入待查找户主姓名:");
if (n==3) printf("\t请输入待查找租主姓名:");
if (n==5) printf("\t请输入待查找房子地点:");
if (n==2) printf("\t请输入待查找房子面积:");
if (n==4) printf("\t请输入待查找房子租金:");
getchar();
gets(st);
while (head!=NULL)
{
if (strcmp(head->house[t],st)==0)
{
output(head,1);
flag++;
}
head=head->next;
}
if (flag!=0) printf("查找到 %d 位满足条件\n",flag);
else printf("未找到满足条件房子信息\n");
getchar();
}
该部分是查找子函数,其主要功能是按照操作的要求查找数据库中的数据,并输出到显示器上。

如果数据库中没有要找的数据,将会提示,没有符合要求的数据。

若有数据将会像如下例子那样的输出:
请输入待查找的户主姓名:
户主名: bob
租户名: tom
地点 : anhui
面积 : 80
"租金: 900
修改子函数
void Change(house *head,int n)
{
char ch[5][100];
FILE *fp;
house *p=head;
int i;
system("cls");
getchar();
printf("请输入要修改房屋户主名:");
gets(ch[0]);
printf("请输入要修改房屋租主名:");
gets(ch[1]);
printf("请输入要修改房屋地点:");
gets(ch[2]);
printf("请输入要修改房屋面积:");
gets(ch[3]);
printf("请输入要修改面积租金:");
gets(ch[4]);
while (p!=NULL)
{
if (strcmp(p->house[n],ch[n])==0)
{
for (i=0;i<=4;i++)
strcpy(p->house[i],ch[i]);
fp=fopen("xinxi.txt","w");
while (head!=NULL)
{
fprintf(fp,"%s",head->house[0]);
fprintf(fp," %s",head->house[1]);
fprintf(fp," %s",head->house[2]);
fprintf(fp," %s",head->house[3]);
fprintf(fp," %s",head->house[4]);
fprintf(fp,"\n");
head=head->next;
}
fclose(fp);
return ;
}
head=head->next;
}
printf("没有找到符合条件信息,按任意键结束\n");
getchar();
}
该部分是修改子函数,首先查找要修改的数据,然后在说明要修改哪个信息,该子函数就会在数据库中将原有的数据修改,如果找不到要修改的数据,将会提示,没有找到符合条件的信息,按任意键结束。

添加子函数
void Insert()//添加子函数。

相关主题