Я новичок в программировании и пытался реализовать программу struct в C++, это простая программа, но она не печатает правильный результат. Пожалуйста, скажи мне почему?Почему программа не работает должным образом?
#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) распечатать мусор и пропускает остальную часть кода внутри функции. Если я использую имя cin >>, тогда он работает правильно. Может ли кто-нибудь сказать, в чем проблема?
Возможно, вы захотите прочитать о 'cin.get', не думайте, что он делает то, что вы ожидаете. Потоки C++ важны для понимания. Кроме того, в несвязанной заметке вы никогда не называете свою функцию. –
Вам нужно прочитать главу в своей книге на C++, в которой рассказывается о потоках C++, с особым акцентом на форматированные и неформатированные операции. –
Не используйте 'char []', если вам действительно не нужно - 'std :: string' проще! –