C++面向对象程序设计6
面向对象程序设计C - 东华大学

龚涛
13
东华大学信息科学与技术学院
第8章 多态性和虚函数 8.6 虚析构函数
在析构函数前面加上关键字virtual进行说明, 称该析构函数为虚析构函数。
静态联编和动态联编都属于多态性,它们是在不同阶段对不同 实现进行不同的选择。
龚涛
10
东华大学信息科学与技术学院
第8章 多态性和虚函数 8.4 虚函数
虚函数是动态联编的基础。虚函数是成员函数,而 且是非static的成员函数。说明虚函数的方法如下:
virtual <类型说明符> <函数名>(<参数表>) 其中,被关键字virtual说明的函数称为虚函数。
重载函数的意义在于它可以用相同的名字访问一组 相互关联的函数,由编译程序来进行选择,因而有助于 解决程序复杂性的问题。
(1) 不要使用重载函数来描述毫不相干的函数。
(2) 在类中,构造函数可以重载,普通成员函数也可 以重载。
(3) 在重载函数中使用参数的默认值要避免二义性。
龚涛
4
东华大学信息科学与技术学院
由于C语言的数组中没有保存其大小,因此,不能 对数组元素进行存取范围的检查,无法保证给数组动态 赋值不会越界。利用C++语言的类可以定义一种更安全、 功能更强的数组类型。为此,为该类定义重载运算符[]。
2. 重载增1减1运算符
增1减1运算符是单目运算符,分为前缀运算和后缀 运算两种。为了区分这两种运算,将后缀运算视为双目 运算符。表达式obj++或obj—被看作obj++0或obj—0。
面向对象程序设计

1.1 面向对象程序设计概述
•在程序的实施过程中,由于大型系统必须由 多人合作完成,各人或各小组完成程序中的 一个或几个模块,如何划分任务、估计和分 配资源、掌握每个程序员的进度等就构成了 进行大型系统设计时管理的复杂性,另外, 即使每个人或小组所设计的模块都无可挑剔, 但将这些模块整合在一起时未必不会出现问 题,因此如何权衡模块内聚度和模块间的耦 合度,也是编程人员必须面对的问题之一。
1.1 面向对象程序设计概述
简单的说,通过使用面向对象的方法可以把 一组看似相互之间毫无联系的对象有效地集成在 一起,这些对象都包含代表各自特征的数据以及 对数据的操作即对象的行为。通过面向对象方法, 可以把与该对象相关的数据和操作封装在一个相 对独立的实体中,该实体有自己的功能和特征, 它也可以采用某种机制与外界交互。
1.1 面向对象程序设计概述
面向对象设计方法追求的是现实问题空 间与软件系统解空间的近似和直接模拟。它 希望用户用最小的力气,最大限度地利用软 件系统进行求解。
在具体学习OOP之前,请先注意一下两 点:
记忆的特征或数据,这些特征或数据能反映对象的基本性质。 找出对象和类中存在的各种整体-部分结构和一般-特殊结构,并进一步确定这些结构组合而成的多重结构。
的处理这些系统状态以及中间状态、组织高 这种环境最主要的特征就是以对象作为程序的主要单位,它将数据及对这些数据的操作功能以及与其他对象的通信的能力都封装在了
《面向对象程序设计c》综合复习题集及答案详解

《面向对象程序设计c》综合复习题集及答案详解综合复习题集一、单选题1.C++源程序文件的缺省扩展名为(A)。
A.cppB.e某eC.objD.lik2.由C++源程序文件编译而成的目标文件的缺省扩展名为(C)。
A.cppB.e某eC.objD.lik3.由C++目标文件连接而成的可执行文件的缺省扩展名为(B)。
A.cppB.e某eC.objD.lik4.编写C++程序一般需经过的几个步骤依次是()。
A.编译、编辑、连接、调试B.编辑、编译、连接、调试C.编译、调试、编辑、连接D.编辑、调试、编辑、连接5.以下标识符中不全是保留字的是()。
A.caeforintB.defaultthenwhileC.boolclalongD.gotoreturnchar6.能作为C++程序的基本单位是()。
A.字符B.语句C.函数D.源程序文件7.程序中主函数的名字为()。
A.mainB.MAINC.MainD.任意标识符8.C++程序的基本模块为()。
A.表达式B.标识符C.语句D.函数9.可用作C++语言用户标识符的一组标识符是()。
A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaeD.2aDOizeof10.存储以下数据,占用存储字节最多的是()。
A.0B.‘0’C.“0”D.0.011.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。
A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车12.设”inta=12;”,则执行完语句”a+=a某a;”后,a的值是()。
A.12B.144C.156D.28813.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是()。
A.1.0/a某b某cB.1/(a某b 某c)C.1/a/b/(float)cD.1.0/a/b/c14.设”inta=15,b=26;”,则”cout<A.15B.26,15C.15,26D.2615.设某是一个bool型的逻辑量,y的值为10,则表达式某&&y的值为()。
面向对象程序设计教程答案

面向对象程序设计教程(C++语言描述)题解与课程设计指导第1章面向对象程序设计概论一、名词解释抽象封装消息【问题解答】面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。
面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。
消息是面向对象程序设计用来描述对象之间通信的机制。
一个消息就是一个对象要求另一个对象实施某种操作的一个请求。
二、填空题(1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。
(2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。
(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。
(4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。
(5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。
三、选择题(至少选一个,可以多选)(1)面向对象程序设计着重于( B )的设计。
A. 对象B. 类C. 算法D. 数据(2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做(C )。
A. 抽象B. 继承C. 封装D. 多态(3)在面向对象程序设计中,类通过( D )与外界发生关系。
A. 对象B. 类C. 消息D. 接口(4)面向对象程序设计中,对象与对象之间的通信机制是(C )。
A. 对象B. 类C. 消息D. 接口(5)关于C++与C语言的关系的描述中,(D )是错误的。
A. C语言是C++的一个子集B. C语言与C++是兼容的C. C++对C语言进行了一些改进D. C++和C语言都是面向对象的【结果分析】C语言是面向过程的。
C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。
(6)面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。
C++面向对象程序设计_实验指导书

1.完成实验指导书《C++面向对象程序设计教程(第3版)——习题解答与上机指导》的实验1;
2.做好实验记录;
3.按照实验报告格式(附件1)要求填写实验内容,并提交实验报告。
九、其它说明
每次实验前,实验指导书都会预先发放,请提前预习实验,特别是实验涉及的原理。实验要求及时完成并上交实验报告,鼓励提前完成必做实验,并尽量多做实验题目。
【要求】:采用C++编程风格。
【运行结果截图】:
三、实验原理、方法和手段
1.重载函数:a)函数名称相同;b)函数的形参个数不同;函数的形参类型不同;或两者兼有;c)函数的返回值不构成判别标准。
2.了解“传址调用”与“传值调用”的区别;
3.“引用”不额外申请内存。
四、实验组织运行要求
本实验采用“以集中授课,学生自主训练为主的开放模式组织教学”。
putchar(c3);
}
【运行结果是】:
【分析运行结果】:
6.输入并运行下面的程序,分析格式控制对输出的影响。
#include<stdio.h>
void main()
{
int a=-1,b=98;
double x=152.6752445;
printf("a=%d,%ld,%u,%o,%x\n",a,a,a,a,a);
i=8;
j=10;
printf("%d,%d \n", i,j);
printf("%d,%d \n",i++,j--);
printf("%d,%d \n", i,j);
printf("%d,%d \n", ++ i,-- j);
C++面向对象技术复习题汇总(含答案)

面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理.A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是( )A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’;B、name=”lin”;C、name=new char[5]; D、cout<〈name[3];7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:( )A、name[3]=’q';B、name=”lin”;C、name=new char[5];D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;,下面的语句中错误的是:( )A、name[3]=’q’;B、name=”lin”;C、name=new char[5];D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板( )template 〈class T>T max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了( )A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin〉〉x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y){……}(2) int f(int a,float b){…… }(3) int f(int i,int j){……}(4) float k(int x){…… }是重载函数。
第2章 C++面向对象程序设计
其中,a和b都是COne对象常量,初始化后就不能再被更新。
2.1.7 常类型
2. 常指针和常引用
const的位置不同,其含意也不同,它有三种形式。
指向常量的指针:不能改变数据值,但可以改变指针本身的值
int a = 1, b = 2; const int *p1 = &a; *p1 = 2; p1 = &b;
第2章 C++面向对象程序设计
(C++ Object-oriented Programming)
2.1 类和对象
• 类和对象的关系
– 任何对象都是它所属类的一个实例 – Any object is an instance of the class
2.1 类和对象 现实问题空间 意识: 表 物质: 小张/小李…的手表 面向对象解空间 抽象概念: 表类 具体事物: 一个对象:表的实例
2.1.3 构造函数和析构函数
只有在下列两种情况下才会被自动调用: (1) 当对象定义在一个函数体中,该函数调用结束后,析构函 数被自动调用。 (2) 用new为对象分配动态内存,当delete释放对象时,析构函 数被自动调用。
3. 默认构造函数和析构函数
在用户定义对象时,编译器会自动根据对象定义的格式 选择相应的构造函数。 CMeter( ){ } // 默认构造函数的形式 ~CMeter( ) { } // 默认析构函数的形式
2.1.7 常类型
1. 常对象
<类名> const <对象名> const <类名> <对象名>
class COne { public: COne(int a, int b) { x = a; y = b; } … private: int x, y; }; const COne a(3,4); COne const b(5,6);
面向对象程序设计(C++)智慧树知到答案章节测试2023年泰山学院
第一章测试1.下列说法错误的是()。
A:每一个C++程序都必须有一个main函数B:一般编译系统给出的错误信息有两种,一种是错误,一种是警告C:“#include”,这是C++中的语句D:若一行中出现“//”,则从它开始到本行末尾的全部内容都作为注释答案:C2.若要建立良好的程序设计风格,下面描述正确的是()。
A:程序应简单、清晰、可读性好B:充分考虑程序的执行效率C:符号名的命名只要符合语法就可以D:必要的注释答案:ABD3.编写C++程序一般需经过的几个步骤依次是编辑、编译、连接、调试。
()A:错B:对答案:B4.C++对C语言进行了改进,不仅对C的功能进行了扩充,还增加了面向对象的机制。
()A:对B:错答案:A5.C++只在编译阶段给出错误信息,而在连接阶段不会。
()A:对B:错答案:B第二章测试1.作用域运算符的功能是()。
A:给出的范围B:标识某个成员属于哪一个类C:标识作用域的级别D:指出的大小答案:B2.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()。
A:publicB:staticC:protected答案:A3.下面关于类的描述中错误的是()。
A:类是具有共同行为的若干对象的统一描述体B:类是抽象数据类型的实现C:类数据成员必须声明为私有D:类是创建对象的样板答案:C4.在C++的面向对象程序设计中,类与类之间的独立性是通过封装实现的。
()A:对B:错答案:A5.如果class类中的所有成员在定义时都没有使用关键字pubilc,private和protected,则所有成员缺省定义为public。
()A:对B:错答案:B第三章测试1.()的功能是对对象进行初始化。
A:构造函数B:析构函数C:数据成员D:静态成员函数答案:A2.下面对构造函数和析构函数的写法形式上正确的是()。
A:max::max (参数), max::~ max (参数)B:max::max (参数), max::~ max ()C:void max:: max (参数), void max::~ max (参数)D:void max::max(), void max::~ max ()答案:B3.假设getData()函数是一个类的常成员函数,且没有返回值,则应表示为()。
面向对象的程序设计试题库
面向对象的程序设计一、单项选择题1、下面那种结构不是C++的控制结构()A 顺序结构B 选择结构C 循环结构D 判断结构答: D2、下列是C++语言中合法标识符的是()。
A.3three B.ifC._1oneD.while答:C3、下列是合法的C++语言语句的是()。
A.if(x>0) then x=x-1;else x=x+1;B.if(x>0) x=x-1;else x=x+1;C.if x>0 x=x-1;else x=x+1;D.if x>0 x=x-1;答:B4、下面那一种不是计算机内部表示整数的方法()A 二进制码B原码C 补码D反码答:A5、在C++语言中,下列数为合法的实数的是()。
A.5E-3B.5E-3.5C. E5D.-3.5E答:A6、C++语言中数据类型最大的是()A longB floatC intD char7、如果一个函数可以在定义中直接或间接的调用自己,这样的函数称为()。
A.函数声明B.嵌套函数C.定义函数D.递归函数答:D8、表达式0x55^0xB4的结果为()。
A.0xF5B.0x15C.0xE1D.0x1E答:C9、C++中,源代码文件后缀为()A .cppB .objC .exeD .c答: A10、0X5A&0XB7结果是()A 0X13B 0X12C 0X14D 0X15答: B二、填空题1、程序的基本控制结构包括()、()和()。
答:顺序结构,选择结构,循环结构2、用来解决问题的,与有限多个步骤组成的具体过程称为()。
答:算法3、整数类型变量a和b被初始化为3和10,则循环语句while(a<=b) a=a+2;共执行()次,执行完语句后a的值为(),b的的值为()。
答:4,11,10)。
答:警告信息,致命错误5、计算机中的数据可以分为()和()两大类。
答:数值型、字符型6、字符型数据有两种编码方法:()和()答:有美国国家标准局制定的ASCII码、IBM公司提出的EBCDIC码7、通过C++ 语言中的()机制,可以从现存类中构建其子类。
面向对象程序设计C试卷分析
• 试卷概述 • 题目解析 • 知识点分析 • 学生答题情况分析 • 总结与建议
目录
01
试卷概述
试卷结构
01
试卷满分:100分
02
考试时间:120分钟
03
题量分布:选择题(20题,每题2分,共40分)、填空题 (10题,每题3分,共30分)、简答题(3题,每题10分, 共30分)、编程题(2题,每题15分,共30分)
总结
程序设计题部分难度最大,需要学生具备较强的分析问题和编程能力。
03
知识点分析
面向对象基本概念
总结词
基础中的基础
详细描述
面向对象程序设计的基本概念是理解OOP(面向对象程序设计)的关键,包括 对象、类、封装、继承和多态等。这些概念是OOP的核心思想,是构建大型软 件系统的基石。
类与对象
总结词:核心概念
优秀答案展示
总结词
展示优秀答案可以为学生提供学习的榜样和 参考。
详细描述
挑选出试卷中答题思路清晰、表达准确的优 秀答案进行展示,可以激励学生向这些标准 看齐,提高自己的学习水平。同时,也可以 让其他学生了解如何更好地理解和解答问题
。
05
总结与建议
总结
考试内容覆盖面广
本次试卷涵盖了面向对 象程序设计的多个核心 概念,如类、对象、继 承、多态等,以及C语 言的基础知识。
简答题解析
简答题解析
简答题主要考察学生对面向对象设计原 则和方法的掌握,如单一职责原则、开 放封闭原则等。
VS
总结
简答题部分难度较大,需要学生具备较为 扎实的理论知识和实际应用能力。
程序设计题解析
程序设计题解析
程序设计题主要考察学生运用面向对象程序设计解决实际问题的能力,如设计一个类来解决某个实际问题等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++面向对象程序设计》
课程设计
专 业: 数学与应用数学
学 号: 0809401-25
姓 名: 唐陆军
指导教师: 李又良
成 绩:
二00九 年 12 月 20 日
2
目 录
1. 课程设计目的…………………………………………………3
2. 课程设计题目描述和要求……………………………………3
3. 课程设计内容…………………………………………………4
3.1 题目求解的理论依据……………………………………4
3.2 操作流程图………………………………………………7
3.3程序调试出错信息及解决方法…………………………8
3.4要程序运行结果…………………………………………8
3.5心得体会…………………………………………………9
参考书目…………………………………………………………9
3
用VC++制作一个简易仿真计算器
1.课程设计目的与意义
随着人类科技日新月异,科技计算量越来越大。传统的手工计算已经完全
不适应新时代的数字计算,手工计算不仅容易出错,而且耗时相当长。所以我开
发了一个简易仿真计算器的软件平台,用以方便学生在学习期间,提高学习效率,
减轻学生负担。
掌握VC++利用MFC创建对话框和添加标准控件的方法,熟悉应用程序框
架的创建方法及应用,理解VC++编程和系统开发应用。
2. 课程设计题目描述和要求
2.1 课程设计题目描述
用VC++制作一个仿真计算器系统,在系统的设计中主要实现以下一些功能:
加减乘除运算功能、小数点运算功能、sin运算功能、平方运算功能、和一键清
除功能等等。
2.2 课程设计要求
2.2.1 该仿真计算器应通过点击VC++不同的button按键发送消息给对应的
消息处理函数,实现各自按键不同的功能。
2.2.2 该仿真计算器的功能包括加减乘除运算功能、小数点运算功能、三角
运算功能、平方 开方 开n次方运算功能、各类对数运算功能,简单括号运算和
一键清除功能。
2.2.3 该仿真计算器的界面包括数值输入区,各类运算区,显示区。
2.3 课程设计分组
2.3.1 组长:刘冰
组员:唐陆军 肖继宏 陈昕 唐晓曼 孙文 刘智丽 李健
2.3.2 分工情况
本人负责:利用MFC应用程序框架的建立及负责布局整个计算器的
界面设计和小数点运算。
4
3.实验报告内容
3.1 题目求解的理论依据及算法
(1) 在计算器界面上按下所输入的数值1,系统自动把数值1赋给编辑框关
联成员变量double m_s1,在输入数值1的过程中如果按下了小数点的键,则改
变了int huanxiaoshudian的值,并且多次数值键时通过double xiaoshudian3
可以使得系统接收多位小数。然后按下所选运算符的按键,系统把double m_s1
的值赋给公有成员变量double a1,并且把double m_s1重新赋值为0,且改变
int yunsuanfu的数值。为后面通过选择语句执行对应运算。继续按数值键,输
入数值2,系统自动把数值2赋给编辑框关联成员变量double m_s1,之后按下
等于键,系统把double m_s1赋值给double s2,系统根据int yunsuanfu的值
和对应的选择语句,执行对应的运算,并且将对应结果赋值给double m_s1,编
辑框显示运算结果。
主要数据结构
类公有成员变量说明
(1) int huanxiaoshudian; 在按下小数点键之后通过对应的消息处理函
数,改变该变量值使得继续按键输入的是小数。
(2)double xiaoshudian3; 在按下小数点键之后通过对应的消息处理函
数, 改变该变量值使得继续按键,以后每一次按键输入的数是紧接着前面的数,
实现正常的小数的输入。
(3)double s2; 在按下等于键之后通过对应的消息处理函数,将m_s1
的值赋给s2,从而s2保存了运算数2,为后面的运算做准备
(4)int yunsuanfu; 在按下某一运算符键之后通过对应的消息处理函数,改
变该变量值 为后面通过选择语句执行对应运算
(5)double a1; 在按下运算键之后通过对应的消息处理函数,将m_s1的值
赋给a1,从而a1保存了运算数1,为后面的运算做准备
(6)double m_s1; 控件IDC_EDIT1 的关联成员变量,储存数值和将数值显
示在显示框。
(7)CString m_xianshibuzhu; 控件IDC_EDIT2 的关联成员变量,将之前的
操作步骤显示在显示框IDC_EDIT2。
(8)#define PI 3.14159 为后面的三角运算提供PI=3.14159
(9)char computerchar; 在实现将操作步骤显示在显示框IDC_EDIT2中,在
按下运算符键时,将对应运算符的字符存储于char computerchar 中。
(10)int kuohaobianliang; 该变量初始值为1,按下左括号键后,变量值改
为2,之后的运算进入括号运算,直到按下右括号键,算出括号内运算值,并将
该值赋给double m_s1。
5
本人负责 类公有成员函数说明
[1] void CJisuanqiDlg::OnBUTTONxiaoshudian()
是类CJisuanqiDlg的共有成员函数,改变变量值huanxiaoshudian=2使得
继续按数字键输入的是小数。
void CJisuanqiDlg::OnBUTTONxiaoshudian()
{
// TODO: Add your control notification handler code here
UpdateData();
huanxiaoshudian=2;
xiaoshudian3=0.1;
UpdateData(FALSE);
}
[2] void CJisuanqiDlg::OnButton1()
是类CJisuanqiDlg的共有成员函数 按下1键 即输入向系统输入数值1
void CJisuanqiDlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData();
if(huanxiaoshudian==1)
m_s1=10*m_s1+1;
else
m_s1=m_s1+xiaoshudian3*1;
xiaoshudian3=xiaoshudian3*0.1;
UpdateData(FALSE);
}
[3] 0值和2到9的输入相应类成员函数与数值1输入的类成员函数
void CJisuanqiDlg::OnButton1()对应类似
6
详细操作步骤
利用MFC 创建一个标准对话框;然后出现图3-1所示窗口。
图3-1
为对话框添加所需的各种标准控件;然后出现图3-2所示窗口。
图3-2
7
3.2操作流程图
制作简单仿真计算器基本流程图
利用MFC 创建一个标准对话框
为对话框添加所需的各种标准控件
为对话框中编辑框
控件添加对应的关
联成员变量
添加功能
加减乘除的四则运算
数的各类次方
开方 三角运
算 求余运算
简单括号运算
小数点运算
一键清除
显示之前四则
运算操作
编制过程代码
运行结果
调
试
8
3.3程序调试出错信息及解决方法
3.3.1简单括号运算 小数点运算 一键清除功能
3.3.1.1出错信息
无法正确输入对应小数 如要输入3.2222 计算器输入的是3.02222
3.3.3.2解决办法
在void CJisuanqiDlg::OnBUTTONxiaoshudian() 中将xiaoshudian3=0.01;
改为xiaoshudian3=0.1;
3.4主要程序运行结果
3.4.1 小数点运算功能
通过如图所示可知小数点运算功能已经成功实现。
如图3-25
图3-25
9
3.5心得体会
在这次的用VC制作一个简易仿真计算器的课程设计中,我们能够学到很多
的知识。最主要的是更熟练的掌握了面向对象编程及MFC应用程序理论知识,把
知识运用到了实际操作中,我们有了实际能力的提高。
在此过程中,老师的指导更是给了我们很大的帮助,在我们遇到问题的时候,
是老师给我们指明方向,让我们的解决方法走向正确的轨道……在老师热情的帮
助下,我们的课程设计得到了一个圆满的解决。在我们付出了汗水的时候,收获
了一份成功,一份成熟。课程设计,让我们受益匪浅!
参考文献:
[1]王育坚 Visual C++面向对象编程教程(第二版) 北京:清华大学出版社,2007