Просто немного предыстории. Я новичок в программировании и использую C++ всего 3 недели.
У нас возникла проблема: разрешить пользователю вводить любое количество информации с помощью EOF, управляемого во время цикл для перебора нескольких записей.
Хотя я могу настроить общий код для этого, я сталкиваюсь с проблемой, когда последние выходные данные цикла все еще печатаются, когда я пытаюсь чтобы выйти из цикла, используя функцию eof ctrl+z.
Я настроил код для предварительного чтения данных, вводимых пользователем, перед входом в цикл, но когда я запускаю ctrl + z он выходит из цикла, но все равно считывает его до конца и печатает выходные данные с запросом данных:
Введите имя места назначения: (ctrl+z здесь для выхода цикл с использованием eof)
Введите количество пройденных миль: Введите количество израсходованных галлонов: (печатает остальную часть вывода)
Как остановить вывод последней части с помощью ctrl + z?
Любая помощь или вклад приветствуются
Вот как я настроил свой первоначальный код:
Код: Выделить всё
#include
#include
using namespace std;
int main()
{
//define variables
double milesTravelled, gallonsUsed, mpg, total_miles,
avg_mpgPerTrip;
int no_of_trips;
string destinationName;
//set counter and sum to 0
no_of_trips = 0;
total_miles = 0;
//input phase
cout > destinationName;
cout > milesTravelled;
cout > gallonsUsed;
//process phase
while(cin)//while loop EOF
{
mpg = milesTravelled / gallonsUsed;
//update counter and sum
total_miles += milesTravelled;
no_of_trips ++;
//output phase
cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78648377/c-eof-help-using-ctrl-z-and-while-loop[/url]