两个要求:
(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);
}