非常基本的计算器问题



我对c++还很陌生。我正在尝试创建一个非常基本的计算器,但我得到的结果完全错误。在尝试了我所知道的一切两个小时后,我陷入了停顿。我做错了什么?

#include <iostream> 
using namespace std; 
int main()      
{                    
int a = 0.0;
int b = 0.0;
float sum = 'a' + 'b';
float diff = 'a' - 'b';
float prod = 'a' * 'b';
float quot = 'a' / 'b';
float rem = 'a' % 'b';

//Input
cout << "Enter a number: " << endl;
cin >> a;
cout << "Enter another number: " << endl;
cin >> b;


cout << a << " + " << b << " = " << sum <<endl;
cout << a << " - " << b << " = " << diff <<endl;
cout << a << " / " << b << " = " << quot <<endl;
cout << a << " * " << b << " = " << prod <<endl;
cout << a << " % " << b << " = " << rem <<endl;


return 0;
}             

您使用character literals进行计算。这里的CCD_ 2与CCD_。在计算时删除引号,但在打印实际文字"a"时添加引号

float sum = 'a' + 'b';

您正在计算字符"的ASCII值;a";(它是65(,ASCII值为"0";b";(即66(

应该是

float sum = a + b;

相反。

当您打印值时,您执行了相反的操作:

cout << a << " + " << b << " = " << sum <<endl;

你希望它是

cout << "a" << " + " << "b" << " = " << sum <<endl;

相反。您希望为公式打印字符,而仅为结果打印数字。

您还可以计算ab的值,然后它们才有实际值。你应该在输入它们之后再进行计算。

固定,通过将计算移动到输入之后;通过使用变量而不是文字。

#include <iostream> 
using namespace std; 
int main()      
{                    
int a = 0.0;
int b = 0.0;

//Input
cout << "Enter a number: " << endl;
cin >> a;
cout << "Enter another number: " << endl;
cin >> b;

float sum  = a + b;
float diff = a - b;
float prod = a * b;
float quot = a / b;
float rem  = a % b;
cout << a << " + " << b << " = " << sum <<endl;
cout << a << " - " << b << " = " << diff <<endl;
cout << a << " / " << b << " = " << quot <<endl;
cout << a << " * " << b << " = " << prod <<endl;
cout << a << " % " << b << " = " << rem <<endl;
return 0;
}             

最新更新