版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、合肥学院计算机科学与技术系课程设计报告20122013学年第二学期课程C语言课程设计课程设计名称房屋租赁管理系统学生姓名学号专业班级计本(3 )班指导教师华珊珊项响琴2013年6月合肥学院C语言课程设计报告第一章:需求分析 31.1添加31.2显示31.3存储31.4装入31.5查询3第二章:算法设计: 错误!未定义书签。2.1设计思想42.2设计表示62.3设计注释132.4算法设计的新思想13第三章:小结错误!未定义书签第四章:参考文献:17第一章:需求分析编写一个简单的房屋租赁管理程序,帮助管理房屋租赁管理事物。要求具有备忘录房屋项 目管理和租赁信息管理的功能。其中房屋项目管理包括房屋项
2、目增加、删除、和修改等功 能。租赁信息管理包括房租租售登记表输入和房屋出租查询。本题程序应提供的基本管理功能有:1)添加:即增加一条房屋信息到房屋项目中;2)显示:即在屏幕上显示所有房屋项目中的信息。3)存储:即将房屋项目信息保存在一个文件中。4)装入:即将文件中的信息读入程序。5)查询:可根据房屋编号查找房屋项目信息,若找到,显示在屏幕上。6)修改:可修改某编号的房屋项目信息第二章:算法设计:1 :设计思想:主流程图:子菜单流程图查询房屋信息查找子菜单流程图算法思想:创建房屋结构体类型,每条房屋项目信息都用该结构体来实现,包含地点,面积,户主, 租金,租赁人等。用一个单向链表来管理房屋项目信
3、息,通过链表的遍历可以操作这些数 据。本程序共使用了两个级的菜单。主菜单,子菜单。共使用了五个子函数,他们的功能 分别是:插入、删除、输出、修改、和查找,通过主函数的调用实现程序的要求。主函数 使用两个switch语句,得到两个次级菜单。再在switch语句的case中调用子函数。本系统用到了以下得知识点:1 :面向过程程序设计方法2 :界面制作,switch的应用。3 :动态数组(链表)。4:文件的读写。2 :设计表示:输出子函数:void output(house *head)输出子函数while (head!=NULL)printf(” 户主名:%s n,head-house0);pri
4、ntf(” 租户名:%s n”,head-house1);printf(” 地点:%s n”,head-house2);printf(” 面积:s n,head-house3);printf(” 租金:%s n”,head-house4);prin tf(n ”);head=head-n ext;printf(按任意键结束n);getchar();getchar();该部分是输出子函数,功能是将数据库中的数据输出,前提是数据库中必须要有数据,否 则就会出现错误。在没有错误的情况下,它将会按如下例子输出:户主名: bob租户名:tom地点 :an hui面积:80租金:900按任意键结束查找子函
5、数void Search(i nt n, house *head)char st100;int t,flag=0;system(cls);t=n-1;if (n=1) prin tf(t请输入待查找户主姓名:II);if (n=3) prin tf(t请输入待查找租主姓名:II);if (n=5) prin tf(t请输入待查找房子地点:II);if (n=2) prin tf(t请输入待查找房子面积:II);if (n=4) prin tf(t请输入待查找房子租金:II);getchar();gets(st);while (head!=NULL)if (strcmp(head-houset,
6、st)=0)output(head,1);flag+;head=head-n ext;if (flag!=0) printf(查找到 %d 位满足条件 n,flag);else printf(未找到满足条件房子信息n);getchar();该部分是查找子函数,其主要功能是按照操作的要求查找数据库中的数据,并输出到显示 器上。如果数据库中没有要找的数据,将会提示,没有符合要求的数据。若有数据将会像 如下例子那样的输出:请输入待查找的户主姓名:户主名:bob租户名:tom地点 :an hui面积:80租金:900修改子函数void Chan ge(house *head,i nt n)char c
7、h 5100;FILE *fp;house *p=head;int i;system(cls);getchar();printf(请输入要修改房屋户主名:);gets(ch0);printf(请输入要修改房屋租主名:);gets(ch1);printf(请输入要修改房屋地点:);gets(ch2);printf(请输入要修改房屋面积:);gets(ch3);printf(请输入要修改面积租金:);gets(ch4);while (p!=NULL)if (strcmp(p-house n,ch n)=0)for (i=0;ihousei,chi);fp=fope n(xi nxi.txt,w);
8、while (head!=NULL)fprin tf(fp,%s,head-house0);fprin tf(fp, %s,head-house1);fprin tf(fp, %s,head-house2);fprin tf(fp, %s,head-house3);fprin tf(fp, %s,head-house4);fprin tf(fp,n);head=head-n ext;fclose(fp);return ;head=head-n ext;printf(没有找到符合条件信息,按任意键结束n);getchar();该部分是修改子函数,首先查找要修改的数据,然后在说明要修改哪个信息,该
9、子函数就 会在数据库中将原有的数据修改,如果找不到要修改的数据,将会提示,没有找到符合条 件的信息,按任意键结束。添加子函数void Insert()添加子函数int n ,i;house *q,*p;FILE *fp;fp=fope n(shujvku.txt,a+);if (fp=NULL)n);printf(”原文件损坏,请检查后重新运行getchar();return ;printf(请输入需要添加的个数:”);scan f(%d,&n);getchar();for (i=0;i houseO);printf(请输入需添加租主名:”);gets(p-house1);printf(”请输
10、入需添加房屋地点:”);gets(p_house2);printf(”请输入需添加房屋面积:);gets(p_house3);printf(请输入需添加房屋租金:);gets(p_house4);fprin tf(fp,n);fprin tf(fp,%s,p-house0);fprin tf(fp, %s,p-house1);fprin tf(fp, %s,p-house2);fprin tf(fp, %s,p-house3);fprin tf(fp, %s,p-house4);fclose(fp);该部分是添加子函数,将要增加的数据添加到数据库中。格式是,户主名、租赁人名、地 点、面积、租金
11、。首先该子函数会提示增加几条信息。然后将会将你输入的信息输入到数 据库中。删除子函数house *Del( int n ,house *head)char st1OO;int t,flag=O,judge;house *p,*q;system(cls);t=n-1;if (n=1) printf(t请输入需删除户主名:);if (n=2) printf(t请输入需删除租主名:);getchar();gets(st);while (strcmp(head-houset,st)=0)head=head-n ext;flag+;q=p=head;while (p!=NULL)judge=1;if (
12、strcmp(p-houset,st)=0)q-n ext=p-n ext;judge=0;flag+;if (judge=1) q=q-n ext;p=q-n ext;if (flag!=O)Write nF ile(head);printf(删除%d位满足条件n,flag);else printf(未找到满足条件房屋信息n);getchar();return head;该部分是删除子函数,将会按操作删除数据库中的数据信息。如果数据库中有要删除的数 据信息,该数据信息将会被删除,如果没有,将会提示,未找到符合条件的房屋信息。3 :设计注释:本程序共使用了两个级的菜单。主菜单,子菜单。共使用了
13、五个子函数, 他们的功能分别是:插入、删除、输出、修改、和查找。其中输出查找插入和修改的子函 数都已调试通过。部分的子函数性能不稳定,比如删除和插入。由于自己的知识有限,暂 时不能解决这些问题,也没有完成在任务之外的任何功能。本程序基本上都是用户自己选 择使用的功能,然后由主函数调用子函数实现。我创建了房屋结构体类型,每条房屋项目 信息都用该结构体来实现,包含地点,面积,户主,租金,租赁人等。用一个单向链表来 管理房屋项目信息,通过链表的遍历可以操作这些数据。4 :算法设计的新思想:除了照着老师给我的任务书,写自己的程序,自己也是照着自 己的思想写的。比如主函数,我只用了 switch语句来写
14、,没有任何其他的东西了。这样就 觉得很简单明了。而且看起来也很舒服。子函数的都使用一开始的结构体完成的,紫蝶结 构体并不是定义同类型的多种变量,而是定义了一个二维的数组,因为我们输入的都是字 符,所以这样操作起来会很简单。还有就是本程序都是使用简单的一看就能明了的语句书 写,在一些语句块都加了注释,这样不管是修改还是调试,都很容易。除此之外,没有其 他的新方法,或者新的应用。、用户手册:用户在使用时先要在桌面建立一个文件(shujvku.txt )。输入的信息最长字 符为100。先要输入户主名字,再是租赁人的名字,接下来是地点、面积和租金。例如(bob tom beijing 100 1000
15、).在主界面用户根据自己的使用要求进行选择。然后进入子菜单中 进行操作。使用过程中,有信息提示,你应该怎么操作。输入合法,或者输入错误。若输 入错误则无法运行程序,有些子函数会提示重新输入,有些子函数没有提示。这就要求在 输入错误的情况下回到主菜单,从新运行程序。四、调试及测试:一开始在使用链表的时候,不知道怎么将其写入文件,后来问老师,老 师帮我解决了这个问题,使用了 fwrite函数,再有就是自己在桌面建立的文件夹是错误的, 不可读取。再有就是运行的时候老提示错误,后来在阮广杰同学的帮助下调试通过,只是 在我的switch语句后多了一个,提示的错误是missing “”本程序对系统的利用率
16、以及时 间方面有一般。一共有440条语句。通过测试的过程来看,写程序一定要严谨,不能马虎、 要尽量在保证程序的正常工作下,使其简洁。此外还有调试过程的截图见附件。第三章:小结在这一周的学习实验中,在老师和同学的帮助下,自己的作业任务基本完成。自己的能力 有所提升。自己一步步的完成自己的小系统,真的很用心了,从一开始得无处下手,到后 来整体框架出来,在后来实现子函数的功能 一步一步的接近一个完整的程序,虽然有些累, 有时候甚至想要放弃,但最后都坚持下来了,最终还是圆满的完成了这个程序在我写的程序里,基本上没有用到书本以外的知识, 主函数的实现是通过switch语 句实现的,再有就是子函数,一共有
17、五个子函数,虽然有一些子函数的功能没有实现,但 大部分的功能还是能实现的。通过这次的任务让我对自己以后的工作方式有了一定的了 解。而且还有就是让我知道了怎么样去完成一个大一点的系统,以子函数的方式,分步完 成。这次的程序设计最难得地方还是链表环节,但链表又是组成此系统的重要知识,所以 在完成这个程序方时,在链表上面的确下了一些功夫最初对链表的知识一窍不通,根本弄不清它的定义,所以最开始每天都埋在书本上一些关于链表的定义概念以及一些相关的知识 点,待到弄清楚一些知识点之后,就开始把一些书上的程序输入到电脑里,用分布调试的方法 来了解观察程序的运行过程以及详细步骤 .通过这样对链表的知识点有了比较
18、清晰的认识 . 之后我就开始通过模仿书上的一些程序写出一些自己的小程序慢慢的开始有了进步当然这个过程这样说出来很是简单,但其过程远比这个艰辛,有时候一个知识点的里面又嵌套了 若干知识点,之中知识点的嵌套理解起来是有一定的困难的,有时候一天就理解一个概念或 是定义.就是这样一步步坚持,对知识点的逐一击破,对链表也就有了比较好的掌握这对这 个房屋租赁管理系统程序的设计起到了至关重要的作用 通过这次的任务,我发现自己还有许多东西不知道,课本上的知识,只是皮毛。想 要学好,还必须要向课外发展,自己只知道怎么做,照着书本,但一综合起来就不会了。 书本上教我们的只是一个基本的概念,事实上远比想象的复杂。以前以为写一两千行程序 是不可能的事,现在想想,那也不是多么的困难。虽然自己现在还不能独立的完成我的任 务,主要原因是后来对指针,文件,还有链表的操作根本不会,只知道照着书去模仿,现 在知道了,如果哪几个东西不知道,是根本不能完成任何一个系统的。在做自己的程序的同时,我还体会到了合作的力量是伟大的, 的确,合作能使很多问 题得以高效的解决,有时候你对某一个问题困惑许久,一直在那一个人苦思冥想,往往这个时 候,同学的一句话能让你豁然开朗,一下就感觉又找到了一片艳阳天通过团队的合作还能看 到对一个问题的多种解决办法,有时候看到别人的方法后,心里陡然一震,原来还可以这样, 原来这样更简单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年花卉保养服务协议范本
- 2023-2024学年浙江省温州市苍南县金乡卫城中学高三5月第二次联考数学试题文试卷
- 2023-2024学年浙江省金兰教育合作组织高三下学期质量调查(一)数学试题
- 2024年设计服务外包协议范本2
- 2024年深度钻井工程服务协议
- 2024年荒山开发承包协议样本
- 2024年个人消费贷款协议模板指南
- 2024年适用车辆租赁长租协议样式
- 底商租赁协议精简(2024年)
- 2024移动网络运营商服务协议
- 康复医院设置标准汇总
- CA码生成原理及matlab程序实现
- 国家开放大学《电气传动与调速系统》章节测试参考答案
- 须弥(短篇小说)
- 旋风除尘器设计与计算
- 《装配基础知识培训》
- 出口退税的具体计算方法及出口报价技巧
- PCB镀层与SMT焊接
- Unit 1 This is my new friend. Lesson 5 课件
- 2019年青年英才培养计划项目申报表
- 芳香油的提取
评论
0/150
提交评论