У меня есть домашнее задание типичного расстояния, пройденного в моем классе C++. Однако в этой задаче учитель сказал, что я не могу использовать цикл «для», и мне разрешено использовать «while loop», поэтому я застрял в этом коде.Как исправить эту программу на C++?
Проблема заключается в том, что часы должны отображать расстояние, пройденное индивидуально, но оно отображает общее количество пройденного расстояния в каждый час.
#include <iostream>
using namespace std;
int main()
{
double distance,
speed,
time,
counter=1;
cout << "This program will display the total distance travel each hour.\n\n";
cout << " What is the speed of the vehicle in mph? ";
cin >> speed;
while(speed < 0)
{
cout << " Please enter a positive number for the speed: ";
cin >> speed;
}
cout << " How many hours has it traveled? ";
cin >> time;
while(time < 1)
{
cout << " Please enter a number greater than 1 for the hours: ";
cin >> time;
}
cout << endl;
cout << " Hour" << "\t\t" << " Distance Traveled" << endl;
cout << " ------------------------------------" << endl;
while(counter <= time)
{
distance = speed * time;
cout << counter << "\t\t" << distance << endl;
counter++;
}
return 0;
}
Цикл while и цикл for - это в основном одно и то же. Вы знаете, как это сделать с циклом for? – NathanOliver
Да, я сделал это с циклом for, но, как я уже сказал, мой учитель просит меня использовать цикл while. –
Возможно, это только я, но я не могу понять, что это значит: «* Проблема в том, что часы должны отображать расстояние, пройденное индивидуально, но оно отображает общее количество пройденного расстояния за каждый час. *« Что такое разница между перечислением часов по отдельности и перечислением суммы, пропущенной в каждый час? –