卡了一天,都是错,真的不会啊,

两个要求:
(1)声明学生结构体类型 Student 和课程结构体类型Course。
(2)定义函数input_cs_info 和 print_cs_info 函数。
学生结构体类型 Student 和课程结构体类型 Course 的要求如下 :
Student的成员有整型学号num、姓名name(最长不能超过50个字符)、float型课程分数score。
Course 的成员有整型课程编号id、课程名name不超过50个字符、该课程的学生数n、学生Student类型数组stus[MAXSTU](最多100个学生)。MAXSTU 为符号常量。
特别提醒: 本题的两个结构体类型,在后面题目中都是按照本题定义的成员内容。
函数接口定义:
void input_cs_info(Course &cs); // 输入课程信息
void print_cs_info(Course cs); // 输出课程信息
其中 &cs用户传入的参数cs,类型为类型Course类型的引用。
input_cs_info函数运行时先输出提示信息如下:
请输入课程ID号 课程名称 学生数(学生数不能超过100):
接下来按如下格式(课程编号 课程名 学生数)输入课程信息:
1 c++ 3
如果输入的学生数不在[1,100]之间,例如学生数输入了125则需要输出错误提示信息如下:
注意:输入的学生数125错误,请重新输入课程信息!
print_cs_info函数运行时输出类似以下信息:
课程信息如下:
课程ID号:1 课程名称:c++ 学生数:3

提问标签是C++,所以按C++写的。
有问题可以沟通,已在C++ 11下经过测试。
满意请采纳,谢谢。

#include <iostream>
#include <string.h>
using namespace std;
const int MAXSTU=100;
struct Student{
    int num;//学号
    char name[50];
    float score;
};
struct Course{
    int id;
    char name[50];
    int n;//学生数
    Student stus[MAXSTU];
};

void input_cs_info(Course &cs)
{
    int id,n;
    char name[50];
    cout<<    "请输入课程ID号 课程名称 学生数(学生数不能超过100):"<<endl;
    cin>>id>>name>>n;
    if(n<1||n>100){
        cout<<    "注意:输入的学生数125错误,请重新输入课程信息!"<<endl;
        return;
    }
    cs.id=id;
    strcpy(cs.name,name);
    cs.n=n;
}

void print_cs_info(Course cs)
{
    cout<<"课程ID号:"<<cs.id<< " 课程名称:"<<cs.name<<" 学生数:"<<cs.n<<endl;
}

int main() {
    Course cs;
    input_cs_info(cs);
    print_cs_info(cs);    
}