Есть несколько неверных вещей. При использовании C ++, пожалуйста, рассмотрите возможность использования правильных объектов, таких как std::string
для хранения имени ученика. Также, в отличие от C, нам не нужно указывать ключевое слово struct
при передаче в качестве параметра функции.
Кроме того, способ передачи структуры функции printStudentInfo()
был неправильным. Кроме того, я рекомендую против using namespace std
, если это возможно.
Ниже приведено минимальное исправление вашего кода (обратите внимание, что его можно еще улучшить, я просто получил его едва работающим):
#include <iostream>
#include <string>
struct Student{
std::string stuName;
int stuRollNo;
int stuAge;
};
void printStudentInfo(const Student& s);
int main()
{
Student s[3];
for(int i=0;i<3;i++)
{
std::cout<<"Enter Student Name: ";
if (i) std::cin.ignore();
std::getline(std::cin, s[i].stuName);
std::cout<<"Enter Student Roll No: ";
std::cin>>s[i].stuRollNo;
std::cout<<"Enter Student Age: ";
std::cin>>s[i].stuAge;
printStudentInfo(s[i]);
}
return 0;
}
void printStudentInfo(const Student& s){
std::cout<<"Student Record:"<<std::endl;
std::cout<<"Name: "<<s.stuName<<std::endl;
std::cout<<"Roll No: "<<s.stuRollNo<<std::endl;
std::cout<<"Age: "<<s.stuAge<<std::endl;
}