我剛接觸編程,試圖在C++中實現struct程序,它是簡單的程序,但它沒有打印正確的結果。請告訴我爲什麼?爲什麼該程序無法正常工作?
#include <iostream>
using namespace std;
struct classroom {
int number;
char name[9];
int marks;
void getAndPrint()
{
cout << "struct classroom ";
cin >> number;
cout << number << '\n';
cin.get(name, 9);
//cin>>name;
cout << name;
cin >> marks;
cout << marks;
}
};
int main()
{
classroom room1;
room1.getAndPrint();
int i;
cin >> i;
return 0;
}
在功能getAndPrint()我使用cin.get()..編譯器執行正確,直到打印「數字」,但是,當談到對cin.get(姓名,9),其打印垃圾並跳過funcion中的其餘代碼。如果我使用cin >>名稱,那麼它工作正常。 任何人都可以告訴究竟是什麼問題?
你可能想閱讀'cin.get',不要以爲它會做你期望的。 C++流是重要的理解。另外,在一個不相關的說明中,你永遠不會調用你的函數。 –
您需要閱讀C++書中討論C++流的章節,特別強調格式化和未格式化的操作。 –
除非*真的需要''std :: string'更容易,否則不要使用'char []'! –