VC++程序设计实验报告模版 - 图文

更新时间:2023-09-24 03:04:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

西安科技大学

《VC++程序设计》

实验报告

题 目 科学计算器 院、系(部) 计算机科学与技术学院 专业及班级 计科1202班 学 号 1208030223 姓 名 黄 朝 平 日 期 2014年4月13日

1 题目要求

通过做科学计算器课程设计熟悉VC++2008的操作环境,了解并会使用基于MFC有关控件,熟悉静态编辑框、单选按钮和Button的使用。从而完成科学计算器的功能

2 功能需求

首先可以生成一个机遇MFC的对话框,可完成基本的加、减、乘、除运算,还可以求对数,求平方,求立方,以及求n次方,并且还可以开平方,开立方,开n次方等功能。

3 总体设计

3.1 系统模块

3.2 系统业务处理流程

给出系统业务处理流程图。

数字模块以及小数点 单选钮控件模块 其它功能键模块 4 详细设计

根据功能模块,详细论述设计过程,给出主要实现代码。

首先打开VC++8.0,建立一个基于MFC的对话框工程,命名为SienceCalculator。为对话框增加按钮,并修改ID。 ID标识 标题 处理函数 ID_NUMBER1 1 OnNumberKey ID_NUMBER2 2 OnNumberKey ID_NUMBER3 3 OnNumberKey ID_NUMBER4 4 OnNumberKey ID_NUMBER5 5 OnNumberKey ID_NUMBER6 6 OnNumberKey ID_NUMBER7 7 OnNumberKey ID_NUMBER8 8 OnNumberKey ID_NUMBER9 9 OnNumberKey ID_NUMBER0 0 OnNumberKey ID_NUMBER_Point . OnNumberKey IDC_NUMBER_Inv Inv OnOperationKey IDC_NUMBER_Ln ln OnOperationKey 1 IDC_NUMBER_LBrack IDC_NUMBER_RBrack IDC_NUMBER_Int IDC_NUMBER_Sinh IDC_NUMBER_Sin IDC_NUMBER_Square IDC_NUMBER_Factorial IDC_NUMBER_Dms IDC_NUMBER_Cosh IDC_NUMBER_Cos IDC_NUMBER_Power IDC_NUMBER_OPower IDC_NUMBER_PI IDC_NUMBER_Tanh IDC_NUMBER_Tan IDC_NUMBER_Cubic IDC_NUMBER_OCubic IDC_NUMBER_OpenClose IDC_NUMBER_Exp IDC_NUMBER_Mod IDC_NUMBER_Log IDC_NUMBER_10Power IDC_NUMBER_MC IDC_NUMBER_MR IDC_NUMBER_MS IDC_NUMBER_MAdd IDC_NUMBER_MSub IDC_NUMBER_BackSpace IDC_NUMBER_ClearEnter IDC_NUMBER_Clear IDC_NUMBER_PlusMinus IDC_NUMBER_Sqrt IDC_NUMBER_Divide IDC_NUMBER_Multiply IDC_NUMBER_Add IDC_NUMBER_Subtract IDC_NUMBER_Percent IDC_NUMBER_Derivative IDC_NUMBER_Equal IDC_Degree IDC_Radian IDC_Gradient

( ) Int sinh Sin x2 n! dms cosh cos x^y y√x π tanh tan x 3 3√x F-E Exp mod log 10^x MC MR MS M+ M- ← CE C ± √ / * + - % 1/X = 度 弧度 梯度 OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey OnOperationKey 2

//SienceCalculator.cpp //主要按键功能的实现

void CSienceCalculatorDlg::OnNumberKey(UINT nID) //数字键的实现 {

CString n; switch(nID) {

case IDC_NUMBER1:n=\;break; case IDC_NUMBER2:n=\;break; case IDC_NUMBER3:n=\;break; case IDC_NUMBER4:n=\;break; case IDC_NUMBER5:n=\;break; case IDC_NUMBER6:n=\;break; case IDC_NUMBER7:n=\;break; case IDC_NUMBER8:n=\;break; case IDC_NUMBER9:n=\;break; case IDC_NUMBER0:n=\;break;

case IDC_NUMBER_Point:n=\;break; }

if(NumberState==1) {

m_Cnumber=m_Cnumber+n; number1=atof(m_Cnumber); UpdateData(FALSE); } else {

m_Cnumber=m_Cnumber+n; number2=atof(m_Cnumber); UpdateData(FALSE); }

if(Zero==FALSE) {

Zero=TRUE;

m_Zero.ShowWindow(SW_SHOW); } }

void CSienceCalculatorDlg::OnOperationKey(UINT nID) {

m_number=atof(m_Cnumber); switch(nID) {

case IDC_NUMBER_Ln: //ln函数的实现 number1=m_number=log(number1); m_Cnumber.Format(\,m_number);

3

UpdateData(FALSE); break;

case IDC_NUMBER_Sinh: //sinh函数的实现 number1=m_number=sinh(number1); m_Cnumber.Format(\,m_number); UpdateData(FALSE); break;

case IDC_NUMBER_Sin: //sin函数的实现 if(m_Ccontrol==0)

number1=m_number=sin(number1/(180/PI)); else if(m_Ccontrol==1)

number1=m_number=sin(number1); m_Cnumber.Format(\,m_number); UpdateData(FALSE); break;

case IDC_NUMBER_Square: //平方的实现 number1=m_number=number1*number1; m_Cnumber.Format(\,m_number); UpdateData(FALSE); break;

case IDC_NUMBER_Factorial: //n!的实现 if(number1<0)

number1=m_number=0; else if(number1==0) number1=m_number=1; else

for(int i=1;i

m_Cnumber.Format(\,m_number); UpdateData(FALSE); break;

case IDC_NUMBER_Cosh: //cosh函数的实现 number1=m_number=cosh(number1); m_Cnumber.Format(\,m_number); UpdateData(FALSE); break;

case IDC_NUMBER_Cos: //cos函数的实现 if(m_Ccontrol==0)

number1=m_number=cos(number1/(180/PI)); else if(m_Ccontrol==1)

number1=m_number=cos(number1); m_Cnumber.Format(\,m_number); UpdateData(FALSE); break;

4

本文来源:https://www.bwwdw.com/article/000d.html

Top