增加一些学生,学生的相关信息可通过键盘输入,给结构体变量赋值让每位学生有出生年月日的信息,性别数据改为男或女,并输出成绩最高的学生的各项数据。这个程序该怎么改?能帮写一个新的吗?我这个错误好多💔
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 winform的chart曲线生成时有凸起
- ¥15 msix packaging tool打包问题
- ¥15 finalshell节点的搭建代码和那个端口代码教程
- ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
- ¥15 Centos / PETSc / PETGEM
- ¥15 centos7.9 IPv6端口telnet和端口监控问题
- ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
- ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
- ¥20 海浪数据 南海地区海况数据,波浪数据
- ¥20 软件测试决策法疑问求解答