這是我第一次使用Stackoverflow。 我正在製作一個程序來找出汽車的MPG。我想知道如何讓cin語句只接受正整數?而且,如果您確實輸入了無效輸入,您是否可以重置它?我不確定這是否合理。我不必爲課堂做這件事。我只是好奇如何去做。這是代碼。C++ cin正整數只有
#include <iostream>
using namespace std;
int main()
{
double tank, miles, mpg;
cout << "Hello. This is a program that calculates the MPG (Miles Per Gallon) for your\n" ;
cout << "vehicle\n" << endl;
cout << "Please enter how many gallons your vehicle can hold\n" << endl;
cin >> tank;
cout << endl;
cout << "Please enter how many miles that have been driven on a full tank\n" <<endl;
cin >> miles;
cout << endl;
mpg = (miles)/(tank);
cout << "Your vehicle recieves " << mpg << " miles per gallon\n" << endl;
system ("pause");
return 0;
}
不是你的問題的答案,但如果你想要整數你不應該要求雙打。 –
首先要求整數 - 然後處理它不是正數的事實。更好的是隻讀字符串,然後解析它們以確保是必需的/如果有人輸入了一些不需要的東西並給予他們另一個機會,則標記錯誤。 –
是的,你不能從鍵盤上物理刪除鍵。人們會輸入錯誤。 – MSalters