我的输出文件未显示解决方案
My output file is not displaying the solution
我的输出文件应该显示以回答它调用的函数。程序运行良好,但它不会在"prime"函数中显示文本。选中后,输出文件仅显示 1。我相信这是因为它被声明为布尔函数,并设置为返回 true。但是,我将如何获取此代码以将 Prime 中的解决方案返回到输出文件?
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
bool prime(int);
int main()
{
int reader;
ifstream Infile;
Infile.open("numlist.txt");
ofstream outputFile;
outputFile.open("theoutput.txt");
while (Infile >> reader)
{
outputFile << prime(reader) <<endl;
}
Infile.close();
outputFile.close();
}
bool prime(int p)
{
if (p % 2 == 0)
cout << "n" << p << "n Is not a prime number";
else if (p % 2 != 0)
cout << "n" << p << "n is a prime number";
return true;
}
没有错误,但是输出文件仅显示 1。
发生这种情况是因为在您的prime()
函数中,所有输出都将cout
而不是进入outputFile
。prime()
函数返回一个bool
,即发送到outputFile
的内容。
如果你想让函数的输出转到outputFile
,你可以将outputFile
作为参数传递并使用它而不是cout
,或者使其成为全局的。
关于代码的更多注释:您不需要 else 语句中的完整else if (p % 2 != 0)
。 你可以只使用else
,因为p % 2
要么是 0,要么不是,没有其他选择。
此外,强烈建议在 if 语句两边使用大括号,即使它们只是一行。
相关文章:
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- 计算每个节点的树高,帮助我解释这个代码解决方案
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- visual c++,如何获取解决方案目录中的代码
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- C++Matching Brackets 2解决方案不起作用
- 在 ubuntu3 上C++ goto 定义有什么解决方案吗16.04?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的固定时间步长与增量时间和插值的解决方案是错误的吗?
- 无法在问题解决方案中执行输出逻辑
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 从预序遍历构造 bst 的 c++ 和 python 解决方案之间的区别
- 在一个解决方案中针对第三方静态库 (Creo) 的不同版本(版本)进行构建
- 如何巧妙地编写两个函数——一个用于检查是否存在解决方案,另一个用于获取所有解决方案
- 递归解决方案,用于显示线性链表数组
- 我的输出文件未显示解决方案
- 只有当我一直显示某些内容直到找到解决方案时,程序才能工作
- 显示字符名称C 名称的标准解决方案
- 如何改进Codeforces解决方案?它显示超过了时间限制