Xavier_NZX 2017-06-01 12:15 采纳率: 100%
浏览 841
已采纳

菜鸟的C++出错了,求解答

#include "Calculator.h"
#include
#include

Calculator::Calculator(double i, double j, char *prt) {
operand1 = i;
operand1 = j;
operation = new char[20];
strcpy_s(operation, 10, prt);
};

double Calculator::doOperation() {
if (strcmp(operation, "div") == 0) {
if (operand2 == 0) {
std::cout << "operand2 can't be 0" << std::endl;
return 1;
}
return operand1 / operand2;
}
else if(strcmp(operation, "minus") == 0)
return operand1 - operand2;
else if(strcmp(operation, "multi") == 0)
return operand1 * operand2;
else if(strcmp(operation, "plus") == 0)
return operand1 + operand2;
};

using namespace std;
int main(int argc, char *argv[]) {

if (argc != 4) {

    cout << "You must give 4 arguments!" << endl;

    return 1;
}

double op1, op2,m;

char *opcode;

op1 = atof(argv[2]);

op2 = atof(argv[3]);

opcode = argv[1];

Calculator one(op1, op2, opcode);

m = one.doOperation();

cout << m << endl;

return 0;

}
图片说明
include的部分显示不出来,其实是没问题的,这个编辑器真难用

  • 写回答

2条回答 默认 最新

  • 战在春秋 2017-06-02 00:48
    关注

    在构造函数中operand2没有接收到值。

    Calculator::Calculator(double i, double j, char *prt) {
    operand1 = i;  //这里是operand1
    operand1 = j;  //这里也是operand1
    operation = new char[20];
    strcpy_s(operation, 10, prt);
    };
    

    类似这样的错误,编译器不会报,小心一些就好了。

    用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 idea自动补全键位冲突
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 定制ai直播实时换脸软件
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页