calculator.rar

  • PUDN用户
    了解作者
  • C/C++
    开发工具
  • 2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 3
    下载次数
  • 2009-11-21 11:56
    上传日期
basic caculator This is a practice TOP-DOWN ideal. Code is very simple.
calculator.rar
  • calculator.cpp
    2.4KB
  • calculator.h
    2.5KB
  • main.cpp
    539B
  • calculatorTest.cpp
    2.6KB
  • calculatorTest.h
    693B
内容介绍
#include <iostream> #include "calculatorTest.h" #include "calculator.h" #include <cassert> using namespace std; AddExprTest::AddExprTest() {} void AddExprTest::testEval() { cout<<"AddExprTest"<<endl; // 3 + 5 cout<<"3+5="; AddExpr ae1(new IntConst(3), new IntConst(5)); assert(8==ae1.eval()); cout << ae1.eval() << endl; // 3 + 5 + 7 cout<<"3+5+7="; AddExpr ae2(new AddExpr(new IntConst(3), new IntConst(5)), new IntConst(7)); assert(15==(ae2.eval())); cout << ae2.eval() << endl; } SubExprTest::SubExprTest() {} void SubExprTest::testEval() { cout<<"\nSubExprTest"<<endl; // 3 - 5 cout<<"3-5="; SubExpr ae1(new IntConst(3), new IntConst(5)); assert(-2==ae1.eval()); cout << ae1.eval() << endl; // 3 - 5 - 7 cout<<"3-5-7="; SubExpr ae2(new SubExpr(new IntConst(3), new IntConst(5)), new IntConst(7)); assert(-9==ae2.eval()); cout << ae2.eval() << endl; } MulExprTest::MulExprTest() {} void MulExprTest::testEval() { cout<<"\nMulExprTest"<<endl; // 3 * 5 cout<<"3*5="; MulExpr ae1(new IntConst(3), new IntConst(5)); assert(15==ae1.eval()); cout << ae1.eval() << endl; // 1 * 3 * 2 cout<<"1*3*2="; MulExpr ae2(new MulExpr(new IntConst(1), new IntConst(3)), new IntConst(2)); assert(6==ae2.eval()); cout << ae2.eval() << endl; } DivExprTest::DivExprTest() {} void DivExprTest::testEval() { cout<<"\nDivExprTest"<<endl; // 4 / 2 cout<<"4/2="; DivExpr ae1(new IntConst(4), new IntConst(2)); assert(2==ae1.eval()); cout << ae1.eval() << endl; // (4 / 2) / 2 cout<<"(4/2)/2="; DivExpr ae2(new DivExpr(new IntConst(4), new IntConst(2)), new IntConst(2)); assert(1==ae2.eval()); cout << ae2.eval() << endl; } IntConstTest::IntConstTest() {} void IntConstTest::testEval() { cout<<"\nIntConstTest"<<endl; // 3 cout<<"IntConst(3)="; IntConst ae1(3); assert(3==ae1.eval()); cout << ae1.eval() << endl; //-4 cout<<"IntConst(-4)="; IntConst ae2(-4); assert(-4==ae2.eval()); cout << ae2.eval() << endl; } ParenExprTest::ParenExprTest() {} void ParenExprTest::testEval() { cout<<"\nParenExprTest"<<endl; cout<<"(4)="; ParenExpr ae2(new IntConst(4)); assert(4==ae2.eval()); cout << ae2.eval() << endl; cout<<"1 + 2 + 3 * ( 4 - 5)="; AddExpr ae3(new AddExpr(new IntConst(1), new IntConst(2)), new MulExpr(new IntConst(3), new ParenExpr(new SubExpr(new IntConst(4), new IntConst(5))))); assert(0==ae3.eval()); cout<<ae3.eval()<<endl; }
评论
    相关推荐
    • ideal-password
      理想密码 1.您将需要Apache Ant 2.您可以通过在macosx上使用brew install ant进行安装 Java密码生成器 它使用公共和私有rsa密钥 具有出色的cli界面 您通过在termail中键入ant来构建程序
    • omnipay-ideal
      该软件包实现了对Omnipay的iDeal支持。 安装 Omnipay是通过安装的。 要安装,只需将其添加到您的composer.json文件中: { " require " : { " omnipay/ideal " : " 1.0.*@dev " } } 并运行composer来更新您的...
    • ideal-goggles
      这是一个用引导的项目。 入门 首先,运行开发服务器: npm run dev # or yarn dev 用浏览器打开以查看结果。 您可以通过修改pages/index.js来开始编辑页面。页面在您编辑文件时自动更新。...可以在pages/api/hello.js...
    • ideal-couscous
      Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: npm start 在开发模式下运行该应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...
    • IDEAL-开源
      IDEAL 是指信息经销商。 提供用户想要的新闻和文章的系统。 使用 Tomcat、Struts、Java、MySQL 和 AgentSystem、集群、TF/IDF、文档解析器,它是多用户的。
    • Ideal Administration v11.0.5
      Ideal Administration 这个强大而简单的工具整合集成了 Windows NT/XP/2000 整个管理功能,并和Windows 系统紧密结合,大大地简化你的Windows NT / XP / 2000 个网络的管理,包括用户、服务器和域等。集中你的...
    • Ideal Size-crx插件
      它目前支持:Google文档bugzilla.mozilla.org github.com developer.mozilla.org如果您想添加更多站点,我期待您在https://github.com/kewisch/ideal-size的拉取请求。 您也可以使用github问题或支持电子邮件进行...
    • spree_ideal:为 Spree 添加 iDEAL 支付支持
      将 spree_ideal 添加到您的 Gemfile 中: gem 'spree_ideal' , :git => 'git://github.com/arein/spree_ideal.git' 对于特定版本使用适当的分支,例如 gem 'spree_ideal' , :git => 'git://github....
    • ideal-fiesta
      Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: npm start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...
    • ideal-gas
      ideal-gas