计算机基础强化训练报告书-宾馆客房信息管理的设计与实现(共20页).doc

上传人:飞****2 文档编号:16686971 上传时间:2022-05-18 格式:DOC 页数:20 大小:338KB
返回 下载 相关 举报
计算机基础强化训练报告书-宾馆客房信息管理的设计与实现(共20页).doc_第1页
第1页 / 共20页
计算机基础强化训练报告书-宾馆客房信息管理的设计与实现(共20页).doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《计算机基础强化训练报告书-宾馆客房信息管理的设计与实现(共20页).doc》由会员分享,可在线阅读,更多相关《计算机基础强化训练报告书-宾馆客房信息管理的设计与实现(共20页).doc(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上课程设计书课程名称: 基础强化设计题目: 宾馆客房信息管理的设计与实现班 级: 计算机0806学 号: 26姓 名: 吴育龙指导教师: 闵联营20010年7月5日7月10日计算机基础强化训练任务书学生姓名: 吴育龙 专业班级: 计算机0806 指导教师: 闵联营 工作单位: 计算机科学与技术学院 题 目: 初始条件:理论:学完计算机基础知识,掌握C+语言编程基础和VC开发平台的使用。实践:计算机科学系实验中心提供计算机及软件开发环境。要求完成的主要任务: (1)系统需求分析,得到系统的数据需求和功能需求,分析结果用表格记录。 (2)系统设计,包括内存数据结构设计、数据

2、文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。要求内存数据用链表组织,数据文件用文本文件,用户界面用字符界面。至少实现数据记录的增加、修改、删除、查询(查询应能按不同数据项进行)。(2)编制好程序后,设计若干测试用例,上机测试所设计的程序。(4)设计报告按格式要求书写。设计报告正文的内容应包括:1)系统描述 包括问题说明、数据需求和功能需求。2)系统设计 包括内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。3)系统测试 包括测试用例的描述、测试方法和测试结果。4)设计的特点、不足、收获和体会。时间安排:1、第19周(7月5日至7月9日)完

3、成。2、7月9 日8:00到计算机学院实验中心(三楼)检查程序、交课程设计报告、源程序(CD盘)。指导教师签名: 2010年6月 30 日系主任(或责任教师)签名: 2010年6月 30 日1.系统描述1.1问题说明设计一个宾馆客房信息管理系统。至少实现数据记录的增加、修改、删除、查询及相应结果的显示,查询应能按不同数据项进行。1.2数据需求Char*房间号int容量档次已入住人数Double价格1.3功能需求增加增加客房的信息查询根据房间号或者房间容量来查询宾馆客房的信息保存将加入的信息保存到文件中2.设计2.1内存数据结构设计class room friend class list;pri

4、vate: char num8; /房间号 int capacity; /容量 int grade; /档次 double price; /价格 int checked; /已入住人数public: room():checked(0); int checkIn(int n);基本操作:void showTitle(); /输出表项目 void show(node *); /显示客房信息的具体情况 void display(); /显示客房的信息 void insert(node *); /添加客房 void setData(node *); /添加客房的信息 void add(); /继续添加

5、客房 void modi(); /修改客房号信息 node *qur(int); /通过房间号或者房间容量来查询客房的信息 void menu(); /菜单显示 void select(); /选择信息管理的功能 void save(); /将客房信息保存到文件里2.2数据文件设计用rooms.txt储存数据2.3代码设计#include #include #include using namespace std;class list;class room /定义房间类 friend class list;private: char num8; /房间号 int capacity; /容量 i

6、nt grade; /档次 double price; /价格 int checked; /已入住人数public: room():checked(0); int checkIn(int n);int room:checkIn(int n) /房间的入住人数 if(n+checkedcapacity) return 0; /判断房间是否满 checked+=n; /若不满,则把入住的人数赋给checken return 1;class node /定义房间的类 friend class list;private: room r; node *next,*last;public: ;class

7、list /定义房间链表类private: node *head,*tail;public: list(); list(); void showTitle(); /输出表项目 void show(node *); /显示客房信息的具体情况 void display(); /显示客房的信息 void insert(node *); /添加客房 void setData(node *); /添加客房的信息 void add(); /继续添加客房 void modi(); /修改客房号信息 node *qur(int); /通过房间号或者房间容量来查询客房的信息 void menu(); /菜单显示

8、 void select(); /选择信息管理的功能 void save(); /将客房信息保存到文件里 ;void list:showTitle() /输出表项目 cout房间号t容量t档次t价格t已入住endl;void list:show(node *p) /显示客房信息的具体情况 coutr.numtr.capacitytr.gradetr.pricetr.checkednext; showTitle(); while(p!=tail) show(p); p=p-next; system(pause);void list:insert(node *p) /添加客房 node *q=he

9、ad-next; while(q!=tail) if(strcmp(p-r.num,q-r.num)last=q; p-next=q-next; q-next-last=p; q-next=p; break; q=q-next; if(q=tail) p-next=tail; p-last=tail-last; tail-last-next=p; tail-last=p; void list:setData(node *p) /添加客房的信息 int n; coutp-r.num; coutp-r.capacity; coutp-r.grade; coutp-r.price; coutn; i

10、f(!p-r.checkIn(n) cout容量不足,请重新输入!endl; else break; while (1);void list:add() /继续添加客房 char ch; do system(cls); node *p=new node; setData(p); insert(p); coutch; while(ch!=y&ch!=Y);node *list:qur(int method) /通过房间号或者房间容量来查询客房的信息 if(method!=1) coutmethod; node *p=head-next; if(method=1) char num8; coutn

11、um; while(p!=tail&strcmp(p-r.num,num)!=0) p=p-next; else if(method=2) int c; coutc; while(p!=tail) if(p-r.capacity=c) show(p); p=p-next; system(pause); system(cls); return NULL; return p;void list:modi() /修改客房号信息 node *p=qur(1); if(p=tail) cout未找到endl; system(pause); else setData(p);void list:save()

12、 /将客房信息保存到文件里 ofstream out; out.open(d:rooms.txt,ios:out); if(!out) cerr保存失败endl; system(pause); return; out房间号t容量t档次t价格t已入住next; while(p!=tail) outr.numtr.capacitytr.gradetr.pricetr.checkednext; out.close();void list:menu() /菜单显示 cout*宾馆信息管理*endl * *endl * 1.浏览 *endl * 2.添加 *endl * 3.修改 *endl * 4.查

13、询 *endl * 5.退出 *endl * *endl *endl;void list:select() /选择信息管理的功能 int n; do system(cls); menu(); coutn; switch(n) case 1:display();break; case 2:add();break; case 3:modi();break; case 4: node *p=qur(2); if(p=tail) cout未找到next=tail; head-last=NULL; tail-last=head; tail-next=NULL; /* -读取已保存的客房信息- */ if

14、stream inrooms; inrooms.open(d:rooms.txt,ios:in);if(!inrooms)coutp-r.num;inroomsp-r.capacity;inroomsp-r.grade;inroomsp-r.price;inroomsp-r.checked;insert(p);p=head-next-next;head-next-next=head-next-next-next;head-next-next-last=head-next;delete p;inrooms.close();/* -读取完成- */list:list() /清空链表存储 node*

15、 p=head-next; while(p!=tail) head-next=p-next; delete p; p=head-next; delete head; delete tail;int main() /主函数 list l; l.select(); l.save(); return 0;2.4 其他设计2.4.1输入/输出设计程序首先从文件rooms.txt提取数据生成链表,然后显示功能选择菜单,输入命令的序号来选择相应的功能,选择功能2添加客房信息,逐项输入客房号、容量、档次、价格和已入住人数;选择功能3修改客房信息,输入所需修改的客房号再逐项修改;选择功能4查询你所需的客房信息

16、,输入1按房间号查询,输入2按容量查询;功能5退出程序,退出后客房信息保存在文件中。2.4.2用户界面设计2.4.3处理过程设计通过循环语句使菜单界面循环显示,每次执行完命令都再次输出菜单界面,直到选择退出命令,函数返回值循环终止。3.系统测试3.1测试用例的描述原始记录房间号容量档次价格已入住1 2 3 20013 2 1 50 0添加客房信息房间号容量档次价格已入住4 1 2 100 12 3 2 200 0保存查询客房信息修改客房信息退出3.2测试方法和测试结果运行程序,输出宾馆信息管理的菜单,浏览已有的信息:添加新的客房信息:查询你所需要的客房信息:按容量来查询:4.小结与体会本次实验

17、是宾馆信息管理的设计与实现,程序中,用链表储存从文件中读取的数据并进行一些增加、查询、保存的操作。选择命令用的是switch语句,通过提示选择所要进行的操作。刚开始时不是很了解宾馆的信息具体有哪些内容,后来通过查阅书籍,上网查找资料确定下来几个比较简单的基本内容。查询操作在设计调试的时候一直出错,后来通过不断修改,最终能够完成查询操作。通过将信息写入到文件和从文件中读取信息,这个因为以前没有学过,写程序的时候就觉得有些困难,后来又同学说在原来的C+课本上第十二章又这方面的内容,通过不断的摸索和请教,终于能够掌握一些基本操作,完成实验的要求。5.参考文献1.C/C+程序设计 高俊文主编 人民邮电

18、出版社 20052.计算机科学导论(第二版) 钟珞主编 武汉理工大学出版社 2004.13.C+程序设计教程(第一版) 闵联营、何克右主编 武汉理工大学出版社 2005.74.数据结构(C语言版)(第一版) 严蔚敏、吴伟民主编 清华大学出版社 2004.35.数据结构(用面向对象方法和C+描述) 殷人昆主编 清华大学出版社 2003.7本科生课程设计成绩评定表班级:0806班姓名:吴育龙学号:26序号评分项目满分实得分1学习态度认真、遵守纪律202设计结果403设计报告规范(包括设计图、设计代码)40总得分/等级评语:注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下为不及格指导教师签名:2010 年月日PS给使用这个程序的同学:此程序需要在d盘先建立一个rooms.txt的文件,并输入数据并保存,这样才能成功运行如房间号容量档次价格已入住1 2 3 20013 2 1 50 0否则程序运行会出错。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com