哪位大侠有写好的C++的计算器源代码?

如题所述

http://www.supcoder.cn/bbs/dispbbs.asp?boardID=1&ID=54&page=2
论坛上某兄弟的
http://www.supcoder.cn/bbs/dispbbs.asp?boardID=1&ID=65&page=1
我的
下面是部分代码,要下载到上面网址

#include "TypeDef.h"
#pragma once

class Error
{ //错误类
error_msg err;
public:
Error(error_msg e) { err = e; }
error_msg GetError() { return err; }
};

class Calculator;
class Token
{
friend class Calculator;
public:
int mark;//mark=1操作符,mark=2浮点数
union {Token_Item ttitem;double dvalue;};
const Token& operator = (const Token&);
};

class Calculator
{
private:
char expression[MAX_LENGTH+1];
int exp_length;
Token tempexpression[MAX_LENGTH+1];
int telength;
Token postexpression[MAX_LENGTH+1];
int pelength;
Token temp;

double dresult;
int IsZero(double d);//判断是否为0
int GetIcp(Token_Item& ti) const;//栈内优先级
int GetIsp(Token_Item& ti) const;//栈外优先级
int GetOpeNum(Token_Item& ti) const;//返回操作数的个数
int IsDigital(char t);//是不是数字
void PreScan();//预扫描,检查括号匹配情况
void GetPostFix();//后缀表达式
void Eval();//表达式计算
public:
Calculator():exp_length(0) {};
void CalValue(const char*);//根据输入的表达式计算其值
void ErrorReport(Error e);//错误报告
double GetResult(){return dresult;};//返回计算结果
};

参考资料:http://zhidao.baidu.com/question/23492297.html

温馨提示:内容为网友见解,仅供参考
无其他回答

急!求大侠救命 C++ 加减乘除计算器
struct Digit { \/\/ 数位上的数字,范围[0,9]int data;\/\/ 代表更高数位 Digit* next;\/\/ 默认构造函数 Digit():data(0),next(NULL){} \/\/ 创建链表,n是给定的整数 static Digit* Create(int n);\/\/ 得到n的位数 static int Count(int n);\/\/ 打印后续数位 \/\/ 数字 12345 => 54321 vo...

哪位大哥能给我一个基于IDEA算法的c或者c++的软件以及源代码啊
c++ code \/\/\/ Project: Implementation of IDEA (International\/\/ Data Encryption Algorithm)\/\/\/ ECE 575 Term Project\/\/ Winter 2003\/\/ Author: Irwin Yoon\/\/\/ Overview: This code does the following:\/\/ - print out all encryption and \/\/ decryption subkeys which are used\/\/ in the encryption and ...

C++,哪位大侠帮忙把下面这个程序每行注释下,谢谢!
void convert(char *str)\/\/函数名,参数是字符串指针 { while (*str != '\\0') {\/\/当指针没有指向字符串结尾时继续循环,UTF8\/UTF32字符串结尾不是\\0,因此这个方法在字符串存在中文时可能出错。if (*str >= 'a' && *str <= 'z')\/\/如果指针当前指向的字符是小写字符 str += 'A' ...

哪位大侠可以提供一个可用于vista系统的c++编程软件地址?
Part2 ftp:\/\/221.130.183.119\/VS2008TeamSuite90DayTrialCHSX1429243.part2.rar part3 http:\/\/download.microsoft.com\/download\/0\/8\/3\/0839ce16-0523-4407-9432-01958ee61aff\/VS2008TeamSuite90DayTrialCHSX1429243.part3.rar part4 ftp:\/\/221.130.183.119\/VS2008TeamSuite90DayTrialCHSX14...

哪位大侠,知道怎么用c++判定,是否有余数???
你运行这步:cout << "a[" << i + 4<< "][" << j << "] = " << a[i][j] << " ";的时候,j是一直等5的吧?你要判断(j-i)%4==0 那就只有i=1的时候,那就只有a[i+4][j]=1,也就是说只有a[1+4][5]=1,a[5][5]=1 但是你的i 从来没到过5 所以:cout ...

.哪位大侠有C++最初级入门的教程?最最初级的菜鸟级别的。很想学编程很...
《C++从入门到精通》 这本书不错 主要适合才学习C++的人

哪位大侠能够帮个忙,我想知道C++当中的#include当中的一些常用函数以及...
localtime gmtime mktime _tzset _strtime _strdate strftime Also the global variable:_tzname \/ include include <stdio.h> include <sys\/types.h> include <sys\/timeb.h> include <string.h> void main(){ char tmpbuf[128], ampm[] = "AM";time_t ltime;struct _ti...

各位大侠帮我我看下下面C++代码哪里是错误的,谢谢!
long CALLBACK WndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam);void main(){ HMODULE MKM;WNDCLASS windows;MKM=GetModuleHandle(0);windows.style=0;windows.lpfnWndProc=WndProc;} \/\/定义函数指针 long CALLBACK WndProc(HWND hWnd, \/\/ handle to window UINT Msg, \/\/ message...

...写完程序以后系统总是出现程序无法执行,哪位大侠能帮帮我?_百度知...
还有可能是因为你没有建工程 建了工程,再建C++ source file文件才可以编译连接 具体方法是点新建,选project工程选项,再选其中的Win32 Console Application,输入工程名和保存路径,再点OK,再选择建个empty project.工程建立好后,就点新建文件中选 C++ Source File,输入文件名后就可以编程了 ...

请问我有一个.so文件,如何在Linux下编程使用呢?
-lxx xx是你的.so文件名 其实使用方法和你使用数学库函数是一样的,源代码中添加 include <math.h>,编译的时候,加上-lm参数。注:linux下的.so文件为共享库,相当于windows下的dll文件。

相似回答