增加一些学生,学生的相关信息可通过键盘输入,给结构体变量赋值让每位学生有出生年月日的信息,性别数据改为男或女,并输出成绩最高的学生的各项数据。这个程序该怎么改?能帮写一个新的吗?我这个错误好多💔
把获取出生日期,以及打印性别和出生日期那里修改下即可,修改如下:
#include <iostream>
using namespace std;
const int N=3;
struct Birthday{
int year;
int month;
int day;
};
struct student{
int num;
char name[20];
char sex;
int score;
Birthday birthday;
}stu[N];
void input(){
cout<<"Input the num,name,sex,score and birthday:\n";
for(int i=0;i<N;i++){
cout<<"\ninput student "<<i+1<<":"<<endl;
cout<<"name:";
cin>>stu[i].name;
cout<<"num:";
cin>>stu[i].num;
cout<<"sex(female-f, male-m): ";
cin>>stu[i].sex;
cout<<"score:";
cin>>stu[i].score;
cout<<"birthday(year month day): ";
cin>>stu[i].birthday.year>>stu[i].birthday.month>>stu[i].birthday.day;
}
}
void find(){
int k=0;
int x=stu[0].score;
for(int i=1;i<N;i++){
if(stu[i].score>x){
x=stu[i].score;
k=i;
}
}
cout<<"\n输出成绩最高的人的各项数据:"<<endl;
cout<<"学号:"<<stu[k].num<<endl;
cout<<"姓名:"<<stu[k].name<<endl;
cout<<"性别:";
if(stu[k].sex=='m'){
cout<<"男"<<endl;
}else{
cout<<"女"<<endl;
}
cout<<"出生日期:"<<stu[k].birthday.year<<" "<<stu[k].birthday.month<<" "<<stu[k].birthday.day<<endl;
}
int main(void){
input();
find();
return 0;
}