利用结构体数组编写一个程序,对10名小学生的信息进行管理,学生结构体的成员包括姓名、学号、年龄、语文成绩、数学成绩、英语成绩、三门课总分等,具体要求如下:
(1)要求通过键盘完成各位小学生的信息录入(需要具有良好的界面输入提示,例如“现在请输入第1位小学生的信息,现在请输入姓名”之类)。
(2)若输入的年龄小于6岁或大于14岁,显示年龄超出有效范围,要求重新输入,三门课程的成绩有效范围为0-100之间,否则显示成绩超出有效范围,要求重新输入。
(3)对所有学生的三门课成绩进行总分计算,显示出所有10位学生的完整信息,在第一行需要显示出各列的标题,即姓名,学号,年龄等等这些字段的名称。
(4)总分排名,对所有学生的总分进行排名,显示内容包括排名,学生姓名,总分。
(5)单科最高分显示,显示三门课程的每一门课最高分的学生信息。

#include<iostream>
#include<cstring>
#define PERSON 10
#define COURSE 3
using namespace std;
struct Student{char name[10];int  numbers;int  age;int  score[COURSE];int  Total_score;
};int main(){Student student[PERSON],student_T,max1[COURSE];int i,j,k,t,m;cout<<"                姓名  学号  年龄  语文成绩    数学成绩    英语成绩"<<endl;for(i=0;i<PERSON;i++){cout<<"现在请输入第"<<i+1<<"位小学生的信息";cin>>student[i].name>>student[i].numbers>>student[i].age;if(student[i].age<6||student[i].age>14){cout<<"年龄超出有效范围,请重新输入:";cin>>student[i].age;}for(j=0;j<COURSE;j++){cin>>student[i].score[j];if(student[i].score[j]<0||student[i].score[j]>100){cout<<"成绩超出有效范围,请重新输入第"<<j+1<<"门成绩:";cin>>student[i].score[j];}}      }for(i=0;i<PERSON;i++)//求总分 student[i].Total_score=student[i].score[0]+student[i].score[1]+student[i].score[2];cout<<"\n"<<"\n"<<"---------------------------------------------------------------------------------------------------------"<<endl;cout<<"            姓名  学号  年龄  语文成绩    数学成绩    英语成绩    总分"<<endl;            cout<<"---------------------------------------------------------------------------------------------------------"<<endl;         for(i=0;i<PERSON;i++){cout<<"第"<<i+1<<"位小学生的信息"<<"\t"<<student[i].name<<"\t"<<student[i].numbers<<"\t"<<student[i].age<<"\t";for(j=0;j<COURSE;j++)cout<<student[i].score[j]<<"\t"<<"\t";cout<<student[i].Total_score<<endl;} for(i=0;i<PERSON-1;i++){//总分排序k=i;for(j=i+1;j<PERSON;j++){if(student[j].Total_score>student[k].Total_score)k=j;}student_T=student[k];student[k]=student[i];student[i]=student_T;}cout<<"\n"<<"\n"<<"    总分排名"<<endl; cout<<"----------------------"<<endl;cout<<"排名 姓名  总分"<<endl;cout<<"----------------------"<<endl;for(i=0;i<PERSON;i++)//输出总分排名 cout<<i+1<<"\t"<<student[i].name<<"\t"<<student[i].Total_score<<endl;for(m=0;m<COURSE;m++){//最高分排序for(i=0;i<PERSON-1;i++){k=i;for(j=i+1;j<PERSON;j++){if(student[j].score[m]>student[k].score[m])k=j;}student_T=student[k];student[k]=student[i];student[i]=student_T;}max1[m]=student[0];}cout<<"\n"<<"\n"<<"      单科最高分"<<endl;cout<<"------------------------------------"<<endl;cout<<"科目   最高分 姓名  学号  年龄"<<endl;cout<<"------------------------------------"<<endl;for(i=0;i<COURSE;i++){if(i==0)                 //输出科目 、最高分  cout<<"语文"<<"\t"<<max1[0].score[0]<<"\t";else if(i==1)cout<<"数学"<<"\t"<<max1[1].score[1]<<"\t";else if(i==2)cout<<"英语"<<"\t"<<max1[2].score[2]<<"\t";cout<<max1[i].name<<"\t"<<max1[i].numbers<<"\t"<<max1[i].age<<endl;}system("pause");return 0;
}

C++ 利用结构体数组编写一个程序,对10名小学生的信息进行管理,学生结构体的成员包括姓名、学号、年龄、语文成绩、数学成绩、英语成绩、三门课总分等相关推荐

  1. 学生的基本信息包括学号、姓名、成绩, 写出表示学生数据的结构类型,编写一个程序,输入整数n,再输入n个学生的信息,输出成绩最高的学生信息。

    学生的基本信息包括学号.姓名.成绩, 写出表示学生数据的结构类型,编写一个程序,输入整数n,再输入n个学生的信息,输出成绩最高的学生信息. 代码如下: #include<stdio.h>s ...

  2. java中double身高_用JAVA编一个程序 输入10名同学的身高,找出最高升高,要求使用对象数组类型的带参方法来实现...

    用JAVA编一个程序 输入10名同学的身高,找出最高升高,要求使用对象数组类型的带参方法来实现 关注:285  答案:5  mip版 解决时间 2021-02-05 07:44 提问者女人不需要倾国倾 ...

  3. 编写一个程序, 对用户录入的产品信息进行格式化。

    以下为程序的运行结果示例: Enter item number: 385↙ Enter unit price: 12.5↙ Enter purchase date (mm/dd/yy): 12/03/ ...

  4. 编写一个程序,提示用户输入身高单位(英寸,米,厘米)包括姓名使用float类型

    #include<stdio.h>          void main()   { float a;//厘米     float meter=100;//米     float b = ...

  5. 编写一个程序, 接收用户录入的日期信息并且将其显示出来. 其中, 输入日期的形式为月/日/年(mm/dd/yy), 输出日期的形式为年月日(yy.mm.dd)。

    #include<stdio.h> int main(){printf("Enter a date (mm/dd/yy):\n");int m,d,y;scanf(&q ...

  6. 已知一个字典变量stu_ infors,包含n个学生信息,每个学生信息,即字典变量stu_ infors每个元素的值为“学号:课程成绩”。现编写-个程序实现以下功能: (1)创建包含n个学生信息的字

    1.已知一个字典变量stu_ infors,包含n个学生信息,每个学生信息,即字典变量stu_ infors每个元素的值为"学号:课程成绩".现编写-个程序实现以下功能: (1)创 ...

  7. 用python输出姓名和学号带不出姓名和学号_C++:输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。用C++编写一个程序 : 输入...

    C++:输入10个学生的姓名.学号和成绩,将其中不及格者的姓名.学号和成绩输出. 用C++编写一个程序 : 输入 www.zhiqu.org     时间: 2020-12-07 [解题思路]本题用类 ...

  8. 2、采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超30年的职工加1000元工资,并输出工资变化后的所有职工的信息

    2.采用结构体数组编写程序,定义一个含职工姓名.工作年限.工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超过30年的职工加1000元工资,并输出工资变化后的所有职工的信息(要求用下标 ...

  9. 现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数···········

    原题:现要为某一个销售部门编写一个程序管理约100种商品.要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001).商品名称.商品销售量和商品销售额等信息,并编写以下函数: 1.编写一个函 ...

最新文章

  1. clone是深拷贝还是浅拷贝_Cloneable接口的作用与探索理解浅拷贝与深拷贝
  2. Centos 7 安装Mysql5.7
  3. Docker安装Hadoop
  4. C# Marshal的使用,非托管内存中分配内存注意的问题
  5. Selector 概念
  6. 《c专家编程》笔记--define和typedef的区别
  7. oracle目录删除后恢复,Oracle删除后不能重新安装的解决方法
  8. 云智慧压测实战分享之JMeter脚本录制实例
  9. Ubuntu自带简易录屏工具
  10. 力扣332. 重新安排行程(JavaScript)
  11. Css3新特性应用之形状
  12. CICS的临时存储队列操作
  13. 学校实训 电力巡检系统管理平台
  14. 根据字幕自动配音的软件 如何自动识别语音识别语音生成字幕
  15. 【计算视觉】人体姿态识别研究综述(详细归纳!)
  16. 通灵学院|游戏设计研习3:人类的内在人群特征★(1000字)
  17. ABeam (德硕)News | 喜提「SAP BTP 最佳实施合作伙伴」奖项
  18. 1.6 airtest控制MUMU模拟器
  19. 利用免费虚拟主机上传静态网站
  20. Interpreter(解释器模式)行为型

热门文章

  1. Python网络爬虫专业级框架_scrapy
  2. java quartz 动态执行,浅谈SpringBoot集成Quartz动态定时任务
  3. 智慧的闪光:一个小故事
  4. 重生之我是赏金猎人(三)-无脑挖掘某SRC getshell
  5. pandas 索引去重_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除) 如何更新pandas dataframe的值...
  6. mysql数据库表缩表_不会写复杂的SQL,该怎么学习?
  7. java8流转数组_Java8 教程第八章之Array to Stream
  8. mysql数字大小排序函数_mysql按照数字大小排序的方法
  9. 计算机教师面试题模板,教师资格证面试试讲逐字稿模板——信息技术
  10. (转)中国外包企业战略思考