为什么我的代码没有写到输出文件?

时间:2019-11-24 15:55:45

标签: c++ fstream

我为数学问题编写了以下代码,并且不会将其写入输出文件“ coada2.out”。

#include <iostream>
#include <fstream>
using namespace std;

int main() {
    int sum = 0, x, y, z;

    ifstream file_in("coada2.in");
    file_in >> x >> y >> z;
    file_in.close();

    ofstream file_out;
    file_out.open ("coada2.out"); 
    sum=x+2;
    if((y+1 || z+1) == sum) {
        file_out << sum;
        file_out.close();
    }
    else{
        cout<<"-1";
    }
    return 0;
}

1 个答案:

答案 0 :(得分:4)

问题是这一行:

if((y+1 || z+1) == sum) {

y+1 || z+1的计算结果为true或false,这意味着if的主体只能在sum为0或1的情况下执行。

您可能的意思是:

if(y+1==sum || z+1==sum) {