저는 C++ 학습을 시작한 지 얼마되지 않았습니다. while 루프의 조건이 double 유형의 입력 일 때 while 루프와 관련하여 약간의 문제가 있습니다. 사용자로부터 사용자가 double 유형과 호환되는 값을 입력하지 않으면 루프가 자동으로 끊어지는 것을 이해합니다. 문제는 내 콘솔 응용 프로그램이 이중 이외의 다른 내용을 입력하면 종료됩니다. 문 입력 측정 및 출력 전체의 수를 계산하는 경우 초급 질문 - while 루프, 입력 유형을 조건으로 두 번 종료하기 C++
내가 일하고 있어요 현재 운동
는 while 루프를 사용하도록 요청하고있다. 사용자가 값을 입력 한 다음 측정 시스템을 입력합니다 (예 : 25m는 25m). 또한 입력 된 가장 높은 값과 가장 낮은 값을 기록하고 출력해야합니다.double value = 0;
double total = 0;
double high = 0;
double low = 0;
string unit = " ";
while (cin >> value >> unit && unit != "convert")
{
if (unit == "in") {total = total+(value*2.54);// in = inches converting to cm
if (value*2.54 > high) high = value;
if (value*2.54 < low) low = value;
}
else if (unit == "m"){total = total+(value*100);// m = metres, converting to cm
if (value*100 > high) high = value;
if (value*100 < low) low = value;
}
else if (unit == "ft"){total = total+(value*30.48);// ft = feet, converting to ft
if (value*30.48 > high) high = value;
if (value*30.48 < low) low = value;
}
else if (unit == "cm"){total = total+value;// cm = centremetres
if (value*2.54 > high) high = value;
if (value*2.54 < low) low = value;
}
else cout << "Unable to calculate unit type - " << unit << endl;
value = 0;
}
cout << "Total length in centre-metres: " << total << endl
<< "Total length in metres: " << total/100 << endl
<< "Total length in feet: " << total/30.48 << endl
<< "Total length in inches: " << total/2.54 << endl
<< "\nHighest value: " << high << ", Lowest value: " << low << endl;
keep_window_open();
return 0;
keep_window_open이() 내 C++ 책과 함께 제공되는 사용자 정의 헤더 파일의 일부가 않습니다 모두 종료하는 문자를 입력하는 사용자에 대한 요청입니다.
나는 프로그램의 현재 상태가 약간 부풀어 오른 것을 알고 있지만 먼저 제대로 작동하도록하고 싶었다. 나는 사용자가 루프가 올바르게 작동 된 경우 그래서 실제로 볼 수 있었다 살해 단위로 '변환'을 입력하면,의 주위에 일을 사용했다. 이 프로그램은 마감을한다/double 타입 이외는 값으로 입력하지만 결과는 콘솔 창에 최대 플래시 후 즉시 종료 될 때 그 작업을 완료합니다.
도움을 주시면 감사하겠습니다.
cin >> value
을 더블 이외의 입력 값이 더블을 기대하고 있기 때문에, 스트림, 나쁜 간다 :