Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;基本计算器 我对C++和编程都是新的。我被分配给我的C++类做一个计算器,这是我至今所做的。 #include <iostream>; #include <iomanip>; using namespace std; int main() { double x,y; char op; cout << "Enter Expression:"; cin >> x >> op >> y; if (op = '+') { cout << "Result:" << x + y << endl; } else if (op = '-') { cout << "Result:" << x - y << endl; } else if (op = '*') { cout << "Result:" << x*y << endl; } else if (op = '/') { cout << "Result:" << x / y << endl; } else if (op = '%') { cout << "Result:" << x % y << endl; // <--- line 23 } else { return 0; } } #包括; #包括,; 使用名称空间std; int main(){ 双x,y; char op; cout>x>>op>>y; 如果(op='+') { cout_C++ - Fatal编程技术网 x>>op>>y; 如果(op='+') { cout,c++,C++" /> x>>op>>y; 如果(op='+') { cout,c++,C++" />

C++;基本计算器 我对C++和编程都是新的。我被分配给我的C++类做一个计算器,这是我至今所做的。 #include <iostream>; #include <iomanip>; using namespace std; int main() { double x,y; char op; cout << "Enter Expression:"; cin >> x >> op >> y; if (op = '+') { cout << "Result:" << x + y << endl; } else if (op = '-') { cout << "Result:" << x - y << endl; } else if (op = '*') { cout << "Result:" << x*y << endl; } else if (op = '/') { cout << "Result:" << x / y << endl; } else if (op = '%') { cout << "Result:" << x % y << endl; // <--- line 23 } else { return 0; } } #包括; #包括,; 使用名称空间std; int main(){ 双x,y; char op; cout>x>>op>>y; 如果(op='+') { cout

C++;基本计算器 我对C++和编程都是新的。我被分配给我的C++类做一个计算器,这是我至今所做的。 #include <iostream>; #include <iomanip>; using namespace std; int main() { double x,y; char op; cout << "Enter Expression:"; cin >> x >> op >> y; if (op = '+') { cout << "Result:" << x + y << endl; } else if (op = '-') { cout << "Result:" << x - y << endl; } else if (op = '*') { cout << "Result:" << x*y << endl; } else if (op = '/') { cout << "Result:" << x / y << endl; } else if (op = '%') { cout << "Result:" << x % y << endl; // <--- line 23 } else { return 0; } } #包括; #包括,; 使用名称空间std; int main(){ 双x,y; char op; cout>x>>op>>y; 如果(op='+') { cout,c++,C++,您将%用于double,它仅用于整数。 如果要对double使用相同的功能,可以使用fmod() 您应该将您的代码修改为如下所示 #include <iostream>; #include <iomanip>; using namespace std; int main() { double x,y; char op; cout << "Enter Expression:"; cin >> x >>

您将%用于double,它仅用于整数。 如果要对double使用相同的功能,可以使用fmod()

您应该将您的代码修改为如下所示

 #include <iostream>;
 #include <iomanip>;
 using namespace std;
 int main() {
    double x,y;
    char op;
    cout << "Enter Expression:";
    cin >> x >> op >> y;
            if (op == '+')
        {
            cout << "Result:" << x + y << endl;
        }
            else if (op == '-') {
            cout << "Result:" << x - y << endl;
        }
            else if (op == '*') {
            cout << "Result:" << x*y << endl;
        }
            else if (op == '/') {
            cout << "Result:" << x / y << endl;
        }
            else if (op == '%') {
            cout << "Result:" << fmode(x,y) << endl;
        }
            else{
            return 0;
    }
}
#包括;
#包括,;
使用名称空间std;
int main(){
双x,y;
char op;
cout>x>>op>>y;
如果(op=='+')
{

cout余数运算符
%
不适用于
double
类型的操作数(例如,请参阅):

对于内置运算符
%
,lhs和rhs必须都具有整数或整数 非范围枚举类型

您可以编写
static\u cast(x)%static\u cast(y)


此外,请注意,
=
是赋值运算符;为了进行比较(与
if(op='%')
的情况相同),请使用相等运算符
=
,即
if(op='%'))<代码> %/> >代码>操作仅针对整数值定义。您不能应用双倍运算。也有一个典型的新手错误:在C++ <代码>运算符=/COD>是赋值运算符<代码> A=B<代码/Mead B值,并将其放入A中,但<代码>运算符==/COD>比较运算符,<代码> A==B/code>平均
b
返回
true
。如果要比较值,请使用
=
,而不是
=

使用浮点除法,则没有余数。
2.5%1.2
的结果应该是什么

对于这种情况,可以使用
int
s:

    else if (op == '%') {
        cout << "Result:" << (int)x % (int)y << endl;
    }
else如果(op=='%')){

CUT<代码> = 和=是不同的操作%Galman是整数,而不是双.EEKE.C风格的铸件。至少使用适当的C++铸件…不需要使情况变得比它更危险和更不明朗。@ Jesper Juhl:一般同意;但当铸造原始数据类型<代码>时,情况是否真的危险或不清楚?双< <代码> >代码> int <代码>?也许在这个特定的情况下不是这样,但是因为C风格的转换可能会退化成一个<代码> RealTytCase[/COD]的一个<代码> COSTOSTCAST 变量,我会认为它非常危险并且总是避免的东西——即使在给定的情况下是可证明安全的。另外,C++的C++更容易被<代码> > GRP<代码>所做,并且对转换的过程更为明确;-如果你能帮助的话,请不要在C++程序中使用C风格的转换。(问这个问题的人说他是)倾向于使用向他们抛出的示例代码片段,因为他们还不知道更好的方法。如果这些示例使用任何过时/过时的编码样式(如C-cast、指针指向char而不是
std::string
,等等),他们只是复制它,并认为这是正常的做法。这就是为什么我认为人们不应该在小片段中使用这些东西,因为它们是一个坏例子。@Striezel好的,你说服了我,如果你想编辑它,或者我以后再做。。。
    else if (op == '%') {
        cout << "Result:" << (int)x % (int)y << endl;
    }