【发布时间】:2025-12-13 18:20:11
【问题描述】:
我需要创建一个程序,通过输入重定向读取随机整数列表并使用它们执行各种任务。出于这个问题的目的,我只想打印每个数字的总和 + 1。麻烦的是,除了列表中的第一个数字,我不知道如何让它对任何东西执行操作。我的小程序(program.cpp)是
#include <iostream>
using namespace std;
int main () {
int input;
bool arb = true;
cin >> input;
while (arb) {
cout << input + 1 << endl;
}
return 0;
}
我正在使用的示例文本文件 (textfile.txt) 包含
9
8
7
6
当我运行它时,它会打印出无穷大的“10”。我想做的是打印出来
10
9
8
7
或任何其他文本文件的等价物。
我想也许我可以以某种方式引用文本文件中的特定行,但是通过搜索如何做到这一点,我能找到的所有类似问题似乎都有需要 fstream 的解决方案,这是我还没有学到的东西,因此我不是允许使用它(这是用于课堂作业)。
我学过的唯一编译器指令是 iostream、string、cmath、iomanip、cstdlib 和 ctime。我学到的获取输入的方法是 cin >> input、cin.get(input) 和 cin.getline(input),所以除了我不知道的 3 种之外,如果还有其他读取文件的方法,不幸的是我不能使用它。请注意,我的程序必须使用 while 循环。程序的运行方式是
./program
这是我无法改变的。
鉴于这些限制,我怎样才能让我的程序读取并使用文本文件中的每个整数?
【问题讨论】:
-
将
cin放入您的while循环中 -
不敢相信我错过了这么简单的东西,哇。好的谢谢
标签: c++ while-loop text-files io-redirection