Примечание:
cin.getline()
- используется для чтения неформатированной строки (набора символов) со стандартного устройства ввода.
Оператор извлечения >>
не удаляет конецсимвол строки, поэтому если вы смешаете его с getline()
, вам нужно будет позвонить cin.ignore(number,'\n');
, чтобы избавиться от '\n'
#include <iostream>
#include <limits>
struct stu
{
char n[25];
int r;
}s[3];
void getinfo()
{
for(int i=0; i<3; i++)
{
std::cout << "name: ";
std::cin.getline(s[i].n,25);
std::cout << "R.no: ";
std::cin >> s[i].r;
std::cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n');
}
}
int main()
{
getinfo();
std::cout << std::endl;
for(int l=0; l<3; l++)
{
std::cout << s[l].n << " ";
std::cout << s[l].r << std::endl;
}
return 0;
}
ВЫХОД:
name: Henry the VIII
R.no: 1
name: Ronald Regan
R.no: 2
name: Adam K.
R.no: 3
Henry the VIII 1
Ronald Regan 2
Adam K. 3