C 课程设计报告

发布 2022-09-30 18:53:28 阅读 8044

课程设计。

课程名称 c++面向对象课程设计。

题目名称 windows计算器(标准版)

学生学院。专业班级。

学号。学生姓名。

指导教师。2024年06 月 18 日。

仿windows计算器(标准版)课程设计。

一、设计题目 3

二、设计目的 3

三、设计内容 3

1、类的设计 3

2、主要功能** 4

1) 使用的头文件 4

2) **初始化 4

3) 设置显示框的字体 4

4) 删除1位数字 5

5) 复位 5

6) 数字响应(1,0和。举例) 5

7) 等号,调用stack中的text函数进行四则运算。当除数为0或按下+-*键后再按=时,显示错误并语音提示 7

8) 显示函数 7

9) test函数进行四则运算,radix代表进制,当为10时进行十进制计算并返回运算结果 8

四、测试结果及分析总结 11

1、计算6*5+6*3+0.1*5=48.5结果 11

2、计算55/0提示错误并语音提示 12

3、分析总结 13

五、设计心得及体会 13

六、参考文献 13

一个简单的计算器,风格和功能可参考windows系统中的计算器(标准版)。

1、使学生进一步巩固《面向对象程序设计》课程中的基本概念、理论、分析方法和实现方法;

2、熟悉vc++等编译环境,掌握应用vc++开发软件的基本技能。增强学生软件开发能力;

3、尝试将所学的内容解决实际工程问题,培养学生的工程实践能力。

本份计算器一共有五个类,分别是:arraystack;caboutdlg;ccaculateapp;ccaclatedlg;stack.

功能如下:arraystack和stack:为计算器提供了基本的四则运算函数及选最大值函数。

caboutdlg:计算器的界面及功能设计。

ccaculateapp:封装了windows应用程序控制和属性。

ccaclatedlg:通过对象定义了计算器要用到的各个函数及字符串等。

1) 使用的头文件。

#include ""

#include ""

#include ""

#include ""

#include ""stack为头文件储存。

#include <>****要用到的函数。

#pragma comment( lib, "

2) **初始化。

// note that loadicon does not require a subsequent destroyicon in win32

m_hicon = afxgetapp()-loadicon(idr_mainframe);

this->num1 =0.0;

this->num2 =0.0;

// 一元运算标志。

this->unary_operation = false ;

// 二元运算标志。

this->binary_operation = false ;

this->operation_type=nop;

// 数据缓存区。

this->num_buffer = 0" ;

this->equal=0;

this->tmp="0";

//最终结果显示。

this->num_sum ="0";

3) 设置显示框的字体。

cfont * f_edit ;

f_edit = new cfont ;

f_edit->createfont(20nheight

0nwidth

0nescapement

0norientation

fw_bold, /nweight

truebitalic

falsebunderline

0cstrikeout

ansi_charsetncharset

out_default_precisnoutprecision

clip_default_precisnclipprecision

default_qualitynquality

default_pitch | ff_swiss, /npitchandfamily

_t("arial"))

m_ ;4) 删除1位数字。

void ccaculatedlg::onbuttondelete()

this->check()

int i=strlen(num_buffer);

num_if ( num_ )

fresh();

5) 复位。

void ccaculatedlg::onbuttonc()

this->check()

this->num1 =0.0;

this->num2 =0.0;

// 一元运算标志。

this->unary_operation = false ;

// 二元运算标志。

this->binary_operation = false ;

this->operation_type=nop;

// 数据缓存区。

this->num_buffer = 0" ;

this->equal=0;

this->tmp="0";

fresh("0");

6) 数字响应。

void ccaculatedlg::onbutton1()

// 数字 1

void ccaculatedlg::onbutton1()

// 数字 1

this->check()

if(num_'=1)

num_buffer="0当上一次已运算完成时,如果没对数据进行复位即按数字键进行下次运算,显示响应数字。

if(num_'0') 0 ||num_ )

num_buffer +=1当第一位数为0并且没有小数点,显示响应数字,否则在前一位数字后再加响应数字。

elsenum_buffer = 1" ;

freshvoid ccaculatedlg::onbutton0()

// 数字 0

this->check()

if(num_'=1)

num_buffer="0";

cstring tmp = num_buffer ;

// 当为小数点后或其前面有不为零的数时允许输入零。

if ( 123456789" )1 )

elsefresh();

void ccaculatedlg::onbuttonpoint()

// 小数点。

this->check()

if(num_'=1)

num_buffer="0";

if ( num_ )

else if ( num_ )

else if(num_

fresh();

7) 等号,调用stack中的text函数进行四则运算。当除数为0或按下+-*键后再按=时,显示错误并语音提示。

void ccaculatedlg::onbuttonequal()

const double epsinon = 0.0 ;

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C课程设计报告

题目各类图形面积与周长计算和高考倒计时。学生姓名张磊 学号 20131344054 学院计算机与软件学院 专业软件工程 指导教师马瑞。二 一五年六月 25 日。目录。1 引言 1 1.1 系统开发背景和意义 1 1.2 服务器运行环境 2 1.3 课题内容 2 2 系统需求分析及相关技术介绍 2 2...

C 课程设计报告

c 程序课程设计报告。学院 资源与安全工程学院 专业班级 城市地下空间工程1303 姓名卢途。指导教师 彭述权。课程设计时间 2013 2014学年第二学期18 19周。一 题目一 设计一 学生成绩管理系统 它的主要功能是对学生的成绩进行输入 修改和管理。系统功能要求 界面要求 学生成绩管理系统 1...