C语言课程设计房屋租赁管理系统方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学院
计算机科学与技术系
课程设计报告
2012~2013学年第二学期
课程C语言课程设计
课程设计名称房屋租赁管理系统
学生
学号
专业班级计本(3)班
指导教师华珊珊项响琴
2013年6月
学院C语言课程设计报告
第一章:需求分析 (1)
1.1添加
1
1.2显示
1
1.3存储
1
1.4装入
1
1.5查询
1
第二章:算法设计: (1)
2.1设计思想 (1)
2.2设计表示 (3)
2.3设计注释 (9)
2.4算法设计的新思想 (9)
第三章:小结 (10)
第四章:参考文献: (10)
第一章:需求分析
编写一个简单的房屋租赁管理程序,帮助管理房屋租赁管理事物。要求具有备忘录房屋项目管理和租赁信息管理的功能。其中房屋项目管理包括房屋项目增加、删除、和修改等功能。租赁信息管理包括房租租售登记表输入和房屋出租查询。
本题程序应提供的基本管理功能有:
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]);