关于#结构体#的问题,如何解决?(语言-c++)

描述
输入n个学生的姓名,学号和语、数、英成绩,使用结构体来存放,再按顺序输出所有学生的信息。

输入
第一行:n,1下面n行:每个学生的姓名、学号和语、数、英成绩

输出
n行,每个学生的姓名、学号和语、数、英成绩

输入样例 1
2
(名字) 23451 98 97 90
(名字) 22136 87 88 95
输出样例1
(名字) 23451 98 97 90
(名字) 22136 87 88 95

#include
using namespace std;
struct student{
    string name;
    int xha;
    int yc;
    int sc;
    int yingc;
}stu5;
int main(){
    string mz;
    int xueh;
    int yw;
    int sx;
    int yy;
    int i,n;
    cin>>n;
    struct student stu1;
    stu1.name;
    stu1.xha;
    stu1.yc;
    stu1.sc;
    stu1.yingc;
    for(i=1;i<=n;i++){
        cin>>mz>>xueh>>yw>>sx>>yy;
    }
    stu1.name=mz;
    stu1.xha=xueh;
    stu1.yc=yw;
    stu1.sc=sx;
    stu1.yingc=yy;
    for(i=1;i<=n;i++){
        cout<<(string)stu1.name<<" "<" "<" "<" "<return 0;
}

麻烦看一看错哪里了,总是只能输出最后一个人的姓名、学号、语文成绩、数学成绩、英语成绩。

struct student stu1; 你只定义了一个啊,又不是数组.

#include<bits/stdc++.h>
using namespace std;
struct student{
    string name;
    int xha;
    int yc;
    int sc;
    int yingc;
}stu5;
int main(){
    string mz;
    int xueh;
    int yw;
    int sx;
    int yy;
    int i,n;
    cin>>n;
    struct student stu1[100];
    stu1.name;
    stu1.xha;
    stu1.yc;
    stu1.sc;
    stu1.yingc;
    for(i=1;i<=n;i++){
        cin>>mz>>xueh>>yw>>sx>>yy;
    stu1[i].name=mz;
    stu1[i].xha=xueh;
    stu1[i].yc=yw;
    stu1[i].sc=sx;
    stu1[i].yingc=yy;
    }

    for(i=1;i<=n;i++){
        cout<<(string)stu1[i].name<<" "<<stu1[i].xha<<" "<<stu1[i].yc<<" "<<stu1[i].sc<<" "<<stu1[i].yingc<<endl;
    }
    return 0;
}