0
我正在編程一個計算器,當我選擇例如第一個選項時,程序停止。我無法輸入任何數字。 我需要在代碼中更改哪些方法才能使這些方法有效? 我不知道我必須做什麼。爲什麼方法不起作用?
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;
}
Calculator.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
改變'選擇=='1''到'選擇== 1'和類似的其他,這可能是問題所在。 –
你已經聲明瞭'int choose',但你試圖將它與一個字符進行比較('if choose =='1'')。刪除您正在比較的數字周圍的引號。 –
它的工作原理!謝謝! – abs