c+++面向对象+房屋价格自动计算系统论文.doc_第1页
c+++面向对象+房屋价格自动计算系统论文.doc_第2页
c+++面向对象+房屋价格自动计算系统论文.doc_第3页
c+++面向对象+房屋价格自动计算系统论文.doc_第4页
c+++面向对象+房屋价格自动计算系统论文.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计 论文 题题 目目 房房屋屋价价格格自自动动计计算算系系统统 姓姓 名名 杨杨小小辉辉 学学 号号 0 07 70 09 90 03 30 01 12 26 6 指指 导导 老老 师师 江江 世世 宏宏 指指导导教教师师职职称称 副副 教教 授授 年年级级专专业业班班级级 0 07 7 级级信信息息与与计计算算科科学学 1 1 班班 所所 在在 学学 院院 理理 学学 院院 2 20 00 09 9 年年 1 1 月月 3 30 0 日日 I 武汉工程大学程序设计 论文 目目录录 目录 I 摘要 II 前言 III 1课题背景 1 1 1背景 1 1 2需求分析 1 1 3意义 1 1 4文献综述 1 2设计简介及设计方案论述 2 2 1设计简介 2 2 2设计方案论述 2 3详细设计 3 3 1房屋类的定义 3 3 2购房费用计算函数 4 3 3菜单的设计 5 3 4 查询函数 5 4设计结果及分析 9 4 1测试数据 9 4 2测试结果 9 5不足及改进 11 总 结 12 致 谢 13 参考文献 14 附录 程序代码 15 II 武汉工程大学程序设计 论文 摘摘要要 本课题主要是运用 VC6 0 开发基于控制台下的 房屋价格自动计算 程序 本文较详细地介绍了这一程序的设计思想 功能结构以及类的设计和某些功能函 数的设计 本文还给出了对这一程序的测试情况以及对测试结果的分析 关键词关键词 house 面向对象 III 武汉工程大学程序设计 论文 前前言言 本程序主要在 C 语言环境下 针对问题进行分析 构建数学模型 理出算 法并编程实现 此次实验是我们在学了 面向对象程序设计 之后的第一个比 较完善的程序设计 该论文分为 5 节内容 第 1 节介绍课题背景简述此次实验的要求和必要性 并对该课题进行分析 构建数学模型 以及之一背景在现实社会的应用性 第 2 节详述对该设计的理解 以及设计的思路和方法 采用类结构 达到 简化明了的目的 第 3 节介绍了系统界面的设计与程序代码 每个实验的数学模型和程序代码 并对它进行分析 使读者更容易读懂 第 4 节列出实验的数据以及 给出了系统运行的结果 第 5 章谈到此次设计的不足以及需要改进的地方 最后为全文总结 总结了本次毕业设计的目的和意义 我在本次毕业设计 中的收获和感想 杨小辉 2009 01 30 于武汉工程大学理学院 I 武汉工程大学程序设计 论文 1 课课题题背背景景 1 11 1背景背景 远东房地产开发公司是一家从事房地产看似烦死的大型企业集团 但现阶段该公 司还是采用人工方式计算每套房屋的市场销售价格 既费时 费力 又容易出现计算 错误 所以 该公司决定委托一家软件开发公司设计一套 房屋价格自动计算软件 来代替以前的人工计算 该公司计算一套房屋市场销售价格的依据如下 1 基本价格喂 2800 元 平方米 2 随着房屋楼层的增加 每层楼在基本价格上附加50 元 平方米 3 根据房屋朝向的不同 也需要附加不同的价格 具体朝向的附加价格计算方 式为 南向 附加价格为 30 元 平方米 其他朝向 无需附加价格 1 21 2需求分析需求分析 根据上节所描述 用户需要 设计一个关于 房屋价格自动计算系统 的计算程序 使售房者的职员 可以通过简单地输入 房屋信息 便可计算出 买主的购房费用 另外 该程序还要实现以下功能 1 能够方便地将 房屋数据录入程序 并立即计算出市场销售价格 2 能够对房至价格情况进行查询 3 能够将房屋数据 进行长期保存 1 31 3意义意义 该背景通过 C 平台来实现 可以提高我们对所学知识的灵活运用 消除我们 平时对学程序目的性的迷惑 使我们学习更有方向性 其次 通过此次设计来激 发我们对程序设计的兴趣 鼓励和引导探索式的学习 重点放在思路 算法 程序构 思和程序实现上 再次 养成良好的编程习惯 比如程序构思要有说明 强调可读性 变量要加注释等 1 41 4文献综述文献综述 文献 1 C 的一些基本知识 它对于我们了解 C 知识 运用 C 进行面向 过程有非常直接的帮助 文献 2 C 面向对象程序设计 对于类定义的要求以及我们如何运用通过类 定义来解决相关问题有一定的描述 II 武汉工程大学程序设计 论文 2 设设计计简简介介及及设设计计方方案案论论述述 2 12 1设计简介设计简介 根据需求分析 我们将设计 一个类 house 类 其主要功能模块有 输入 输 出 费用计算 查询 保存 其功能结构见图 2 1 图 2 1 系统的功能结构 2 22 2设计方案论述设计方案论述 house 房屋类 包含以下属性与方法 记录和计算 购房者的姓名 身份证号 联系方式 房屋内容 应收费 收费标 准等属性 获取 购房者 房屋朝向 面积 房屋说明 楼层 房 费等方法 House 类中提供 房屋的收费计算函数 各功能模块的调用应通过菜单进行选取 由于房屋的主要信息是由 house 类的对象所生成 而且 房屋价格 自动计算 III 武汉工程大学程序设计 论文 3 详详细细设设计计 3 13 1房屋类的定义房屋类的定义 对题目的分析 我们可以的出房屋是设计的关键词 所以我们设计 house 作为 类定义 它设计到房屋信息和买主信息 所以我们把买主的姓名 身份证 联系方式 以及他们对房屋的要求 房屋的楼层 方向 价钱以及面积都设计私有变量 具 体代码如下 class house 房屋类 char name 40 买主姓名 char ID 20 身份证号 char connection 13 联系方式 char content 200 房子的说明 int floor direction total m floor 是楼层 direction 是方向 total 是房 子价钱 m 是 square 的维数 void init1 char name char ID char connection char content void init2 int floor int direction int total int m House 进行初始化 void calcprice 计算房屋价格 char getname 获取买主姓名 char getID 获取身份证号 char getconnection 获取身份证号 IV 武汉工程大学程序设计 论文 int gettotal 获取总款数 char getcontent 获取房屋说明 int getfloor 获取楼层 int getdirection 获取朝向 int getm 获取房屋面积 类定义结束 3 23 2购房费用计算函数购房费用计算函数 根据房屋价格的要求可知该模型比较简单 变量只有面积square 限制性条件 只有方向 所以只用 if else 即可得出答案 至于 flag 它表示判断该房屋是否已 被其他买主预定 若没有预定则计算出房价并显示 若已预订则flag 1 不显示房 价 提醒用户从新选房 代码如下 void House calcprice 房价计算 int price m direction floor total flag 0 if flag 0 if direction 1 price 2800 30 floor 50 else price 2800 floor 50 total price square m 1 ac count init2 floor direction total m cout 房子售价为 ac count gettotal 元 endl count V 武汉工程大学程序设计 论文 flag 0 flag 归零 3 33 3菜单的设计菜单的设计 菜单主要是与用户交流沟通的界面 要求简单而清晰 代码如下 int showMenu int ch cout 1 录 入 数 据 endl endl cout 2 保 存 数 据 endl endl cout 3 查 询 endl endl cout 4 退 出 endl cout 请选择 ch 3 43 4 查询函数查询函数 设计查询函数是我们采用 2 种方式 一种按姓名查找 一种按身份证查找 如 果查找到该用户则输出该房间的所有信息 如若没有 则提醒没有此人 具体代码如 下 void query VI 武汉工程大学程序设计 论文 int ch i num 0 char name 40 ID 20 cout 1 按姓名查找 endl cout 2 按身份证号查找 endl cout 请选择 ch while ch 1 if ch 1 cout 请输入购房者姓名 name for i 0 i 100 i if strcmp name ac i getname 0 cout 姓名 ac i getname endl VII 武汉工程大学程序设计 论文 cout 身份证号 ac i getID endl cout 联系方式 ac i getconnection endl if ac i getdirection 1 cout 房子信息 此房在第 ac i getfloor 楼 向南 square ac i getm 1 平方米 售价为 ac i gettotal 元 ac i getcontent endl else cout 房子信息 此房在第 ac i getfloor 楼 方向为其他方向 square ac i getm 1 平方米 售价为 ac i gettotal 元 ac i getcontent endl num if ch 2 cout 请输入购房者身份证号 ID for i 0 i 100 i VIII 武汉工程大学程序设计 论文 if strcmp ID ac i getID 0 cout 姓名 ac i getname endl cout 身份证号 ac i getID endl cout 联系方式 ac i getconnection endl if ac i getdirection 1 cout 房子信息 此楼在第 ac i getfloor 楼 向南 square ac i getm 1 平方米 售价 ac i gettotal 元 ac i getcontent endl else cout 房子信息 此楼在第 ac i getfloor 楼 方向为其他方向 square ac i getm 1 平方米 售价 ac i gettotal 元 ac i getcontent endl num if num 0 cout 没有此人 请检查是否输入信息误 endl IX 武汉工程大学程序设计 论文 4 设设计计结结果果及及分分析析 4 14 1测试数据测试数据 购房 者 身份证联系号码面积楼层朝向房屋说 明 费用 张飞513822198902101815135298501021003南靠海298000 张小 非 513822198902101816131298283058015其他通风284000 李思513822198902101818138714705861003南靠海 4 24 2测试结果测试结果 图 4 1 程序运行后显示的菜单 4 2 1 输入张飞信息 X 武汉工程大学程序设计 论文 4 2 2 查询张小非信息 4 2 3 输出李思购房信息 XI 武汉工程大学程序设计 论文 5 不不足足及及改改进进 虽然这次设计还算比较完整的实现了 但是还有很多我们没有想到的问题以及 即使我们想到了但是还无法用我们所学的知识去解决的问题 比如 1 我们设计的房主最多有 100 人 但是当 100 人满了之后 程序将不能再运行 了 所以要怎样解决人数的扩充是值得考虑的问题 2 我们实验多次发现 当我们输入一定得信息并保存之后 我们关掉测试结果 的屏幕后再从新运行程序并保存信息 结果发现以前保存的信息呗现有信息给替代了 这就使得我们的运行程序不能断掉 这在现实中的运用就存在不可取之处 我们想了 下 可能通过用多个文件来保存信息的方式能解救这问题 3 改程序里我们的房屋面积很单一 房屋类型还不够全面 比如说是二室一厅 还是三室一厅等 这些都是用户关心的问题 但我们没设计到它 这也是需要完善和 改进的 4 改程序对于用户预定房之后 是否退房 以及用户什么时候买房没有确定日 期 如果退房之后 该房是否再转卖给了其他人 没有提及 5 在程序输出价格时 我们想用更大字号的字体来输出价钱 使用户更清晰的 了解价钱 但这一点没能实现 XII 武汉工程大学程序设计 论文 总总 结结 本次程序设计是我的第一次规模比较大 内容比较完整的设计尝试 本次课程 设计对于我而言 确实相当难 其实从题目要求这一方面就知道它该有的大体形式 分四个功能 登记 存储 计算 查询 其实登记就是输入信息 但细节方面不知道 怎么着手 比如说建一个房屋类 但具体该定义什么东西 还是懵懵懂懂 细节方面 我不是很清楚 通过这次实验 我总算知道了 要当一名成功的程序员 要有宏观上 的把握 也要有细节上准确的分析 学习编程是一个艰苦的过程 老师总说编程不会 难过数学 可有时我真情愿多做几道数学题 有时真的很害怕编程 那些代码 现在 觉得基础 还有勤学勤练真的是必须的 也是非常重要的 小的地方不通 大的方面 只会是空话 我在这次课程设计做的很少 很关键的地方都是同学处理的 我现在已 经落后于人 我会努力的 我不期望成为一名优秀的程序员 我只能努力 杨小辉 2009 01 30 于武汉工程大学理学院 I 武汉工程大学程序设计 论文 致致 谢谢 此次课程设计 对我来说 是一种尝试 也是一种挑战 通过这次设计我发 现了自己很多的不足 能过顺利完成这次课程设计 很多依赖同学在细节上的指 导 有许多都不懂的地方他都给了我一些运用的范例还有简析 正因如此 才让 我能在小函数运用方面不会出错 还要感 谢老师给了我们这个机会 让我们知 道现在我们与那些编程高手的差距 老师愿意花费很大的精力来给我们上课 讲析具体的结构 把这门本身就很繁琐的课仔细的讲好 这让我们很感动 我们 还没有学好 这只能怪我们没有天赋以及刻苦的精神 还有坚持尝试与实践的能 力 另外 还要感谢那些在我们找不出头绪无从下手时给我们意见的朋友 同学 只有努力学得更好 才是对的起自己 对得起老师的辛勤的培养 总之 感谢一切帮助过我们的人 谢谢才飞 没有他付出的巨大努力 可 能这个设计也不会这么快实现 杨小辉 2009 01 30 于武汉工程大学理学院 1 武汉工程大学程序设计 论文 参参考考文文献献 1 吴文虎 C 程序设计基础 清华大学出版社 2004 年 2 李涛 面向对象程序设计 高等教育出版社 2006 年 02 月 2 武汉工程大学程序设计 论文 附附录录 程程序序代代码码 include include include define MAXITEM 3 class House 定义类 protected char name 40 ID 20 connection 13 content 200 买主姓名 ID 是身份证号 connection 是联系方式 content 对房子 的说明 int floor direction total m floor 是楼层 direction 是方向 total 是房子价钱 m 是 square 的维数 public House 初始华 name 40 0 ID 20 0 connection 13 0 3 武汉工程大学程序设计 论文 content 200 0 floor 0 direction 0 total 0 m 0 void init1 char name char ID char connection char content void init2 int floor int direction int total int m House void calcprice char getname char getID char getconnection int gettotal char getcontent int getfloor int getdirection int getm void House init1 char name char ID char connection char content 4 武汉工程大学程序设计 论文 strcpy this name name strcpy this ID ID strcpy this connection connection strcpy this content content void House init2 int floor int direction int total int m this floor floor this direction direction this total total this m m char House getname return name char House getID return ID 5 武汉工程大学程序设计 论文 char House getconnection return connection int House gettotal return total char House getcontent return content int House getdirection return direction int House getfloor return floor 6 武汉工程大学程序设计 论文 int House getm return m static int square MAXITEM 80 100 120 square 是面积 int count 0 b 0 count 是记录当天买房人数 b 是数据保存的存入控制 变量 House ac 100 void inputdata void writeToFile void query int showMenu 主函数开始 int main int num 0 cout 欢迎使用房价计算系统 endl cout 下面是菜单 7 武汉工程大学程序设计 论文 endl while num 100 int choice choice showMenu switch choice case 1 inputdata break case 2 writeToFile break case 3 query break case 4 cout 今天已有 count 个人买房 endl return 0 return 0 保存数据 void writeToFile b count b ofstream ofs house xls 8 武汉工程大学程序设计 论文 if b 0 b count cout 您还没有写入数据 请先写入数据 endl else for int i 0 i count i ofs 姓名 ac i getname endl ofs 身份证号 ac i getID endl ofs 联系方式 ac i getconnection endl if ac i getdirection 1 ofs 房子信息 第 ac i getfloor 楼 向南 square ac i getm 1 平方米 ac i getcontent endl else ofs 房子信息 第 ac i getfloor 楼 向其他方向 square ac i getm 1 平方米 ac i getcontent endl ofs 房子售价 ac i gettotal 元 endl ofs close b count cout 已将数据保存在 house 电子表中 endl 9 武汉工程大学程序设计 论文 录入数据 void inputdata char name 40 content 200 ID 20 connection 13 cout 请输入购房者姓名 name cin ignore cout 请输入购房者身份证号 十八位 ID cin ignore cout 请输入联系方式 connection cin ignore cout 房子说明 最多 200 字符 content cin ignore ac count init1 name ID connection content ac count calcprice 10 武汉工程大学程序设计 论文 查询 void query int ch i num 0 char name 40 ID 20 cout 1 按姓名查找 endl cout 2 按身份证号查找 endl cout 请选择 ch while ch 1 if ch 1 cout 请输入购房者姓名 name for i 0 i 100 i 11 武汉工程大学程序设计 论文 if strcmp name ac i getname 0 cout 姓名 ac i getname endl cout 身份证号 ac i getID endl cout 联系方式 ac i getconnection endl if ac i getdirection 1 cout 房子信息 此房在第 ac i getfloor 楼 向南 square ac i getm 1 平方米 售价为 ac i gettotal 元 ac i getcontent endl else cout 房子信息 此房在第 ac i getfloor 楼 方向为其他方向 square ac i getm 1 平方米 售价为 ac i gettotal 元 ac i getcontent endl num if ch 2 cout 请输入购房者身份证号 ID for i 0 i 100 i if strcmp ID ac i getID 0 cout 姓名 ac i getname endl cout 身份证号 ac i getID endl cout 联系方式 ac i getconnection endl if ac i getdirection 1 cout 房子信息 此楼在第 ac i getfloor 楼 向南 square ac i getm 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论