C++面向对象课程设计报告

上传人:飞*** 文档编号:26701947 上传时间:2017-12-30 格式:PDF 页数:19 大小:682.12KB
返回 下载 相关 举报
C++面向对象课程设计报告_第1页
第1页 / 共19页
C++面向对象课程设计报告_第2页
第2页 / 共19页
C++面向对象课程设计报告_第3页
第3页 / 共19页
C++面向对象课程设计报告_第4页
第4页 / 共19页
C++面向对象课程设计报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《C++面向对象课程设计报告》由会员分享,可在线阅读,更多相关《C++面向对象课程设计报告(19页珍藏版)》请在金锄头文库上搜索。

1、C+面向对象课程设计报告- 1 - 目录一、 课程设计目的及要求 -2-1. 设计目的 -2- 2. 设计具体内容及要求 -2- ( 一 、 ) 基础设计题目 -2- ( 1)封装一个字符串类 , - 2 - ( 2) 用类实现线性链表的常见操作 -2- (二、 )宾馆客房管理系统 , - 3 - 二、 课程设计具体实现 - 3 - 1. 封装字符串类 - 3 - ( 1) 字符串类总体设计图 - 3 - - 2 - ( 2) 字符串类详细设计 , - 3 - ( 3) 调试及问题解决 , - 5 - 2. 封装链表类 - 5- ( 1) 链表类总体设计 - 5 - ( 2) 链表类详细设计

2、-5- ( 3) 调试及问题解决 - 7 - 3. 宾馆客房管理系统 - 7 - ( 1)宾馆客房管理系统总体设计 - 7 - ( 2)宾馆客房管理系统详细设计 -10 - ( 3)调试及问题解决 - 20 - 三、 结束语 - 20- 一、课程设计目的及要求1、 设计目的软件工程专业所开设的 C+课程设计是教学实践环节中的一项重要内容, 进行此课程设计的旨在:1、提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业的程序员过渡。2、培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势。3、学习和掌握 C+程序设计方法以及上机调试技巧,为以后学习其

3、它专业课程打好基础。本次课程设计是以学生独立思考解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,做出设计报告。2、 设计具体内容及要求(一) 基础设计题目A 封装一个 ,完善字符串,字符串的基本操作要求如下:- 3 - 定义一个串类 CMyString ,建立适当的构造函数字符串使用指针保存字符串必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到 CmyString对象) 、 求字符串中的一个字符或改变字符串中的一个字符 (采用重载 ) ,完成串的赋值与合并(重载 +),得到表示字符串的指针地址B. 利用 C+中的类

4、实现线性链表的常见操作带表头结点(存放的是该线性链表的长度) ,结点存放的是整型数值;实现以下操作 :置空 MakeEmpty()求长度 Length ()插入 Insert ( int x, int i ) : 将 x 插入到第 i 个结点(不含头结点)的之后;删除 Delete ( int x ) :删除链表中值为 x 的结点,成功返回 1,否则返回 0;删除 ReMove( int i ) :删除链表中第 i 个结点,成功返回 1,否则返回 0;搜索 Find ( int x ) :在链表中查找数值为 x 的结点,成功返回 1,否则返回 0;显示 Display () :显示整个链表各结

5、点的数值。写出类的构造函数、复制构造函数及析构函数编写一个函数,使用户通过选择进行相关链表操作。(二) 宾馆客房管理系统宾馆的客房信息包括客房号、 客房类型、 客房价格、 空闲情况、 客人姓名、客人身份证号、入住时间、退房时间,预付费用等信息。试设计一宾馆客房管理系统统,系统以菜单方式工作,使之能提供以下功能:客房信息的录入功能客人入住登记客人退房结算客房信息浏览功能,浏览全部客房的信息客房信息查询:查询空房间情况、按姓名或房间号查询客房信息的删除、修改功能二、 课程设计具体实现1、封装字符串类( 1)字符串类的总体设计 设计类图CStudent-length:int -content:cha

6、r +CMystring();/ 默认的构造函数+CMystring(char * a); / 带参数的构造函数- 4 - +CMystring(CMystring / 字符串类的拷贝构造函数+CMystring();/ 析构函数+int GetLength(); / 得到字符串长度的函数+char* GetAddress();/ 得到字符串的指针地址+void display();/ 输出字符串+void IsEmpty();/ 判断字符串是否为空+void Make_Empty();/ 将字符串置空+void SetContents(int len,char * cont); / 字符重新

7、赋值函数+friend int Compare(CMystring / 字符串比较函数+char operator(int n); / 重载 , 用于求字符串中的一个字符+void changechar(int n,char a); / 改变字符串中的一个字符+friend CMystring operator+(CMystring e,CMystring f); / 重载 +,字符串的赋值与合并+CMystring operator = (CMystring / 重载 =,字符串的赋值( 2)字符串类的详细设计主要完成的功能:完成字符串的基本操作, 包括字符串的比较, 求字符串的长度, 判断

8、字符串是否为空,将字符串置空,字符串的赋值操作,求字符串中的一个字符及改变字符串中的一个字符,完成字符串的赋值与合并,得到表示字符串的指针地址。主要使用技术:运算符的重载,动态分配内存,字符串函数的使用。关键代码 :带参数的构造函数CMystring:CMystring(char * a) length=strlen(a); contents=new charlength+1; strcpy(contents,a); coutlength-1) coutnext!=NULL) n+; p=p-next; coutData=bData; / 设 b 为此结点p=head; if(head=NUL

9、L) / 若是空表,使 b 作为第一个结点 head=s; s-next=NULL; else if(p-Data=x) / 若 a 是第一个结点 s-next=p; /b 结点放在链表前方head=s; else while(p-Data!=x&p-next!=NULL)/ 查找结点 a q=p; p=p-next; if(p-Data=x)/ 若有结点 a q-next=s; s-next=p; else / 若没有结点 a p-next=s; s-next=NULL; 删除int list:Delete(int x)/ 设 x 是要删除的结点 a 中的数据成员Node*p,*q; /p 用于指向结点 a, q 用于指向结 a 的前

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

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号