好文档 - 专业文书写作范文服务资料分享网站

c++实现计算器毕业课程设计报告

天下 分享 时间: 加入收藏 我要投稿 点赞

0

b.“BACKSPACE”为退格键。当输入任何数字或运算符,只要按下“BACKSPACE”键,字符位自右向左消去一位。(注:初始的“0”不能被删除)

输入前:

(5+2)*5 输入后:

(5+2)* C.“ANS”为变量储存器。当一次结果被清除后,只要按下“ANS”键就会显示这个结果。

如: 5+2 7 按“CLEAR”键后,再按“ANS”键就会这样

77 7

7)计算器的输入方式:只支持鼠标点击计算器键输入; 8)计算器计算结果的输出方式:在计算器窗口的输出行显示。 9)算数运算的数据类型:整数和浮点数。

a.输入行最大显示的字符数32位,每个运算符算一位; b.“(”,“)”各占一个字符位; c.输出行最大显示的字符数为32位;

d.纯小数显示的最大字符数为小数点后30位,整数及小数点各占一位; 若纯小数为负数,则显示最大字符数为小数点后29位,“-”占一位; e.输入行在未输入任何数字的时候,显示“0”,只占一个字符位;当输入任何数字时。“0”消失,输入的的数字取代“0”;当输入任何运算符时。默认之前输入数字“0”;

f.点击“=”键后方可显示数字或字母或汉字。 10)特殊情况的运算

A.运算结果整数部分超出32位,显示Infinity(无穷大);出现运算异常!

9999* Infinity

B.除数为0的情况,提示用户被除数不能为零! 10 除零错误

C.在运算时,若结果为纯小数,小数位超过30位,则超出的字符舍弃。 23 0 . 6

若舍弃超出部位后,结果全为0,则结果为0

199^99 0 D.在运算时,若结果的整数位不为0

a.总位数在最大字符位内,则直接显示;

b.总位数在最大字符位以外,整数部分在最大字符位以内,则只优先显示整数部位,弃掉32位以后的字符

53 1.6666 E.当用户输入“^0”时,若“^0”之前的算式或数字的值为0,点击“=”后,输出界面显示“底数不能为0”

11)以上所有的运算都是在10进制下进行 2.2设计要求

(1) 了解Windows编程的基础知识,掌握MFC应用程序的基本知识。 (2) 理解需求分析过程,掌握需求分析文档编写。 (3) 理解面向对象程序设计的基本思路和方法。

(4) 掌握用VC++开发MFC应用程序的一般步骤和方法。

(5) 掌握基于对话框的应用程序的编写,主要包括文本框和按钮等。 (6) 掌握后缀表达式算法。

(7) 掌握VC++开发工具的使用。包括资源管理,项目创建,运行调试等。 (8) 完成表达式的计算器应用程序,实现基本的加、减、乘、除等四则运算,且支持包括括号的表达式运算功能。

3系统实现

3.1对话框界面设计

3.2数值计算实现

例如:2×(2+2)=?

2

2*(

2*(2+2

2*(2+2)

2*(2+2) 8

4程序关键代码及运行结果

#include #include

#include \{

switch (c)

{ case '+': d=a+b;

cout<

case '-': d=a-b;

cout<

case '*': d=a*b;

cout<

case '':

if(b==0)

throw CString(\除零错误!\

cout<

d=ab;

return true;

case ',':

cout<

return true;

default:

return false; }

if(array[num-40][pre-40]>0)将符号压栈

}

{ } else {

char mid;

while(array[num-40][pre-40]<=0) {

if(pre==40&&num==41)排除(数字)情况,保留数字()非法情况 {

if(i>0) {

int MyCheck=(int)name.at(i-1);

if(MyCheck<=57&&MyCheck>=48||MyCheck==41) {

break;

op.Add((char)num);

c++实现计算器毕业课程设计报告

0b.“BACKSPACE”为退格键。当输入任何数字或运算符,只要按下“BACKSPACE”键,字符位自右向左消去一位。(注:初始的“0”不能被删除)输入前:(5+2)*5输入后:(5+2)*
推荐度:
点击下载文档文档为doc格式
3y5wb76adl3fre38hic91cf865breu010n5
领取福利

微信扫码领取福利

微信扫码分享