增加一些学生,学生的相关信息可通过键盘输入,给结构体变量赋值让每位学生有出生年月日的信息,性别数据改为男或女,并输出成绩最高的学生的各项数据。这个程序该怎么改?能帮写一个新的吗?我这个错误好多💔
1条回答 默认 最新
- a5156520 2022-12-22 19:16关注
把获取出生日期,以及打印性别和出生日期那里修改下即可,修改如下:
#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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 高价求中通快递查询接口
- ¥15 解决一个加好友限制问题 或者有好的方案
- ¥15 关于#java#的问题,请各位专家解答!
- ¥15 急matlab编程仿真二阶震荡系统
- ¥20 TEC-9的数据通路实验
- ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
- ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
- ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
- ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
- ¥15 如何实现H5在QQ平台上的二次分享卡片效果?