篇一:C++面向对象课程设计报告
C++面向对象
课
程
设
计
报
告
目录
一、 课程设计目的及要求······························································· -2-
1. 设计目的··················································································· -2-
2. 设计具体内容及要求······························································· -2-
(一、)基础设计题目····························································· -2-
(1)封装一个字符串类??????????????- 2 -
(2)用类实现线性链表的常见操作····································· -2- (二、)宾馆客房管理系统 ????????????- 3 - 二、 课程设计具体实现································································· - 3 -
1. 封装字符串类········································································· - 3 -
(1) 字符串类总体设计图··············································· - 3 -
(2) 字符串类详细设计?????????????- 3 -
(3) 调试及问题解决??????????????- 5 -
2. 封装链表类·············································································· - 5-
(1) 链表类总体设计······················································· - 5 -
(2) 链表类详细设计························································· -5-
(3) 调试及问题解决······················································· - 7 -
3. 宾馆客房管理系统································································· - 7 -
(1)宾馆客房管理系统总体设计········································· - 7 -
(2)宾馆客房管理系统详细设计········································ -10 -
(3)调试及问题解决··························································· - 20 -
三、 结束语···················································································· - 20-
一、课程设计目的及要求
1、 设计目的
软件工程专业所开设的C++课程设计是教学实践环节中的一项重要内容,进行此课程设计的旨在:
1、提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业
的程序员过渡。
2、培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计
算机产业日新月异发展的形势。
3、学习和掌握C++程序设计方法以及上机调试技巧,为以后学习其它专业
课程打好基础。
本次课程设计是以学生独立思考解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,做出设计报告。
2、 设计具体内容及要求
(一) 基础设计题目
A. 封装一个,完善字符串,字符串的基本操作
要求如下:
? 定义一个串类CMyString,建立适当的构造函数
? 字符串使用指针保存字符串
? 必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),完成串的赋值与合并(重载+),得到表示字符串的指针地址
B.利用C++中的类实现线性链表的常见操作
? 带表头结点(存放的是该线性链表的长度),结点存放的是整型数值; ? 实现以下操作 :
? 置空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():显示整个链表各结点的数值。
? 写出类的构造函数、复制构造函数及析构函数
编写一个函数,使用户通过选择进行相关链表操作。
(二) 宾馆客房管理系统
宾馆的客房信息包括客房号、客房类型、客房价格、空闲情况、客人姓名、客人身份证号、入住时间、退房时间,预付费用等信息。试设计一宾馆客房管理系统统,系统以菜单方式工作,使之能提供以下功能:
? 客房信息的录入功能
? 客人入住登记
? 客人退房结算
? 客房信息浏览功能,浏览全部客房的信息
? 客房信息查询:查询空房间情况、按姓名或房间号查询
? 客房信息的删除、修改功能 ?
二、课程设计具体实现
1、封装字符串类
主要完成的功能:
完成字符串的基本操作,包括字符串的比较,求字符串的长度,判断字符串是否为空,将字符串置空,字符串的赋值操作,求字符串中的一个字符及改变字符串中的一个字符,完成字符串的赋值与合并,得到表示字符串的指针地址。
主要使用技术:
运算符的重载,动态分配内存,字符串函数的使用。
关键代码:
? 带参数的构造函数
CMystring::CMystring(char * a)
{length=strlen(a);
contents=new char[length+1];
strcpy(contents,a);
cout<<"构造函数被执行!"<<endl;}
? 字符串类的拷贝构造函数
CMystring::CMystring(CMystring & b)
{ length=b.length;
contents=new char[strlen(b.contents)+1];
strcpy(contents,b.contents);
cout<<"拷贝构造函数被执行!"<<endl;}
? 运算符的重载
char CMystring::operator[](int n)//重载[],用于求字符串中的一个字符{ static char ch=0;
if(n>length-1)
{cout<<"整数下标越界";
return ch;}
else return *(contents+n);
}
CMystring operator +(CMystring e,CMystring f)//重载+,字符串的赋
篇二:面向对象程序设计课程设计报告模板(个人报告)
课 题:
专 业: 软件工程
班 级: 学 号: 姓 名: 指导教师: 设计日期: 2013/6/20
成 绩:
重庆大学城市科技学院电气信息学院
目 录
第一章 课程设计的目标及其要求……………………………………3
1.1.课程设计的目的 ……………………………………………3
1.2.课程设计的要求 ……………………………………………3
第二章 正文 ……………………………………………………………4
2.1系统分析 ……………………………………………………4
2.2 系统设计 ……………………………………………………9
2.3 系统实施 ……………………………………………………16
第三章 课程设计总结或结论 ……………………………………21
第四章 参考文献 ……………………………………………………22 附录 ……………………………………………………………………22
《物业管理系统》
一、 课程设计的目的与要求
1、课程设计的目的
本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C++)》课程后进行的一次全面的综合设计。本课程设计的目的和任务: ① 巩固和加深学生对C++语言课程的基本知识的理解和掌握。
② 掌握C++语言编程和程序调试的基本技能。
③ 利用C++语言进行基本的软件设计。
④ 掌握书写程序设计说明文档的能力。
⑤ 提高运用C++语言解决实际问题的能力。
2、课程设计的要求
进一步巩固《C++程序设计》所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C++ 语言解决实际问题的能力,为以后后续课程的学习打好基础。
二、正文
1 系统分析
1.1系统开发背景、开发范围、建设目标与必要性
随着我国市场经济的快速发展和人们生活水平的不断提高,简单的社区服务已不能 满足人们的需求。如何利用先进的管理手段,提高物业管理水平,是当今社会所面临的一个重要课题。要想提高物业管理水平,必须全方位地提高物业管理意识。只有高标准、高质量的社区服务才能满足人们的需求。面对信息时代的挑战,利用高科技手段来提高物业管理无疑是一条行之有效的途径。在某种意义上,信息与科技在物业管理与现代化建设中显现出越来越重要的地位。物业管理方面的信息化与科学化,已成为现代化生活水平步入高台阶的重要标志。
篇三:C++课程设计面向对象课程设计报告
南京航空航天大学
《面向对象程序设计语言》课程设计报告
银 行 业 务 管 理 系 统
学号:161430109 姓名:何俊韬 日期:2015-5-17
目录
系统设计者和开发者: .......................................................................................................... 1 软件信息: ............................................................................................................................. 1 试验形式及分工情况: .......................................................................................................... 1 需求分析: ............................................................................................................................. 1 程序的主要功能: ................................................................................................................. 2 各个模块的功能及设计分析: .............................................................................................. 2 类和函数的设计思想: .......................................................................................................... 4 类关系图: ............................................................................................................................. 4 文件(表)说明: ................................................................................................................. 4 类和其中函数的说明: .......................................................................................................... 5 分析和讨论模块: .................................................................................................................6 系统测试: ............................................................................................................................. 7 使用说明: .............................................................................................................................9 源程序:.................................................................................................................................9
系统设计者和开发者:
何俊韬,学号:161430109,班级:1614301班
软件信息:
系统名称:银行业务管理系统。
包括文件:161430109-何俊韬-课程设计.rar中所有文件
完成时间:2015/05/15
试验形式及分工情况:
负责此项目人员何俊韬编写Administrator类,User类。
需求分析:
随着社会经济的发展,信息化程度的不断深入,银行的传统业务己愈来愈不能满足银行客户的需要。银行的储蓄卡管理系统,它可以帮助我们有效、准确、并且高效实现的完成各种操作。此系统操作方便效率、安全性高,只要客户开户并设定好密码就可以轻松的实现存取款及其他更多功能。
程序的主要功能:
根据需要,此系统应该具有以下几个功能:
各个模块的功能及设计分析:
储蓄卡开户管理模块:
主要实现的文件为Administrator. h。由帐号、姓名、密码、确认密码、电话、和开户金额组成。(可检验开户账号是否已存在,密码与确认密码是否相同,开户金额是否为正数)
账户操作模块:
主要实现的文件为User. h。对账户进行存款,取款,转账操作(可判断金额是否有效,账户是否存在)
账户管理模块:
管理员可进行账户挂失,取消挂失,注销账户,修改管理员密码操作。 用户可查看账户信息,历史记录,修改账户密码。
类和函数的设计思想:
将所有函数写在类里,利用程序多文件组织,用继承和虚函数,保证了主程序的精简和程序的封装性,使得功能函数对外透明。
将基类Administrator作为父类,User为子类进行操作。
类关系图:
基类
子类 文件(表)说明:
程序所涉及文件:
1.“code.dat”,记录了管理员账号密码(初始001,001||002,002||003,003); 2.“account.dat”,存储所有账户信息; 3.“lost.dat”,记录挂失账户;
4.“***.dat”, 记录***账户的历史记录。
类和其中函数的说明:
基类Administrator:
Administrator() //构造函数,初始化账户信息 void setAccount() //开户virtual void code() //管理员登陆virtual int functionshow()//显示功能菜单 virtual void changecode()//修改管理员密码