我有一個問題,當一個簡單的函數似乎終止時,它達到了std :: cin請求。編譯器不會發出警告或錯誤,並且不會發生運行時錯誤,程序會簡單地回退到主菜單。新手奮鬥與std :: cin
段:
#include <iostream>
#include <math.h>
using namespace std;
void circle()
{
float radius = 0.0f, diameter = 0.0f, circumference = 0.0f, area = 0.0f;
const float pi = 3.14f;
cout << "Enter radius." << endl;
cin >> radius;
cout << "Radius: " << radius << endl;
cout << "Diameter: " << 2*radius << endl;
cout << "Cirumference: " << 2*pi*radius << endl;
cout << "Area: " << pi * pow(radius, 2) << endl;
}
的功能從主稱爲(),併成功地稱爲「輸入半徑」出現在屏幕上,但沒有請求輸入最後4條語句被跳過。程序然後簡單地返回到main()。
cin也沒有錯誤(並且在main()函數中播放時繼續工作),所以我不認爲它只是讀取流中的壞字符。
我只是不知道爲什麼circle()意外退出。
告訴我們'main'的代碼 –
好的請求。我從來沒有添加它,因爲我當時認爲它不相關。我錯了。 – Mosseman