【发布时间】:2023-03-03 02:02:01
【问题描述】:
我正在编写一个计算器,当我选择第一个选项时,程序停止。我不能输入任何数字。 我必须在我的代码中进行哪些更改才能使这些方法起作用? 我不知道我必须做什么。
main.cpp:
#include "stdafx.h"
#include <iostream>
#include "Calculator.h"
using namespace std;
float Calculator::add()
{
cout << "Enter 1 number: ";
cin >> a;
cout << "Enter 2 number: ";
cin >> b;
system("cls");
cout << a + b << endl;
return 0;
}
float Calculator::sub()
{
cout << "Enter 1 number: ";
cin >> a;
cout << "Enter 2 number: ";
cin >> b;
system("cls");
cout << a - b << endl;
return 0;
}
float Calculator::mul()
{
cout << "Enter 1 number: ";
cin >> a;
cout << "Enter 2 number: ";
cin >> b;
system("cls");
cout << a*b << endl;
return 0;
}
float Calculator::div()
{
cout << "Enter 1 number: ";
cin >> a;
cout << "Enter 2 number: ";
cin >> b;
system("cls");
cout << a / b << endl;
return 0;
}
int main()
{
int choose;
Calculator k1;
cout << "1.Add\n";
cout << "2.Sub\n";
cout << "3.Mul\n";
cout << "4.Div\n";
cout << "Choose: ";
cin >> choose;
if (choose == '1')
k1.add();
else if (choose == '2')
k1.sub();
else if (choose == '3')
k1.mul();
else if (choose == '4')
k1.div();
system("pause");
return 0;
}
计算器.h:
#pragma once
#ifndef Calculator_h
#define Calculator_h
class Calculator {
private:
float a, b;
public:
float add();
float sub();
float mul();
float div();
};
#endif
【问题讨论】:
-
将
choose=='1'更改为choose==1和其他类似,这可能是问题所在。 -
您已声明
int choose,但您正试图将其与字符 (if choose == '1') 进行比较。删除您要比较的数字周围的引号。 -
有效!谢谢!