- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 1
目录
TOC \o 1-3 \h \z \u 一、 课程设计目的及要求 2
1.1设计目的 2
1.2设计要求 2
1.2.1封装一个完善的字符串,实现字符串的基本操作 2
1.2.2.利用C++中的类实现线性链表的常见操作 2
1.2.3 编写一个银行ATM自动取款机模拟程序 3
二、课程设计具体实现 3
2.1封装一个完善的字符串,实现字符串的基本操作 3
2.1.1总体设计(总的任务画出总体设计图,总体设计方案及主要设计原理;(算法的设计)) 3
2.1.2详细设计(要求详细写出每个模块的功能实现,关键技术,关键代码解释等。) 4
2.1.3调试及问题解决 6
2.2利用C++中的类实现线性链表的常见操作 6
2.2.1总体设计 6
2.2.2详细设计 6
2.2.3调试及问题解决 6
2.3编写一个银行ATM自动取款机模拟程序 6
2.2.1总体设计 6
2.2.2详细设计 6
2.2.3调试及问题解决 6
三、结束语(包括感想、致谢、设计总结) 6
四、源代码(代码要加注释) 6
4.1封装一个完善的字符串,实现字符串的基本操作 6
4.2利用C++中的类实现线性链表的常见操作 9
4.3编写一个银行ATM自动取款机模拟程序 19
4.3.1面向过程的程序设计 19
4.3.2面向对象的程序设计 24
一、课程设计目的及要求
1.1设计目的
软件工程专业所开设的C++课程设计是教学实践环节中一项重要内容,进行此课程设计的旨在:
提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业的程序员过渡。
培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势。
学习和掌握C++程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基础。
本次课程设计是以学生独立思考解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,作出设计报告。
1.2设计要求
1.2.1封装一个完善的字符串,实现字符串的基本操作
要求如下:
定义一个串类CMyString,建立适当的构造函数
字符串使用指针保存字符串
必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),完成串的赋值与合并(重载+),得到表示字符串的指针地址
在字符串类的基础上封装彩色字符串类。(学会使用继承和多态)可选
1.2.2.利用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.2.3 编写一个银行ATM自动取款机模拟程序
实现ATM取款机的基本功能,如给用户提供查询余额、取款、修改密码、吃卡、退出系统等服务,可根据实际情况添加(如缴费、转账等服务)。
对于用户要求输入相应的帐号和密码,如果三次出错则将卡吃掉并打印出相应凭条。
若输入的取款金额超出账户余额,则提示用户输入有误并提供更正功能
二、课程设计具体实现
2.1封装一个完善的字符串,实现字符串的基本操作
2.1.1总体设计(总的任务画出总体设计图,总体设计方案及主要设计原理;(算法的设计))
CMyString
-string: char *
-length: int
+CMyString():
+ CMyString(s :char *):
+ CMyString(s : CMyString ):
+getlength(): int
+getcontents(): void
+setcontents(s : char *): void
+ friend void strcompare(str1:CMyString, str2:CMyString):
+ strjudge(): void
+ oper
文档评论(0)