C++ 利用结构体数组编写一个程序,对10名小学生的信息进行管理,学生结构体的成员包括姓名、学号、年龄、语文成绩、数学成绩、英语成绩、三门课总分等
利用结构体数组编写一个程序,对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名小学生的信息进行管理,学生结构体的成员包括姓名、学号、年龄、语文成绩、数学成绩、英语成绩、三门课总分等相关推荐
- 学生的基本信息包括学号、姓名、成绩, 写出表示学生数据的结构类型,编写一个程序,输入整数n,再输入n个学生的信息,输出成绩最高的学生信息。
学生的基本信息包括学号.姓名.成绩, 写出表示学生数据的结构类型,编写一个程序,输入整数n,再输入n个学生的信息,输出成绩最高的学生信息. 代码如下: #include<stdio.h>s ...
- java中double身高_用JAVA编一个程序 输入10名同学的身高,找出最高升高,要求使用对象数组类型的带参方法来实现...
用JAVA编一个程序 输入10名同学的身高,找出最高升高,要求使用对象数组类型的带参方法来实现 关注:285 答案:5 mip版 解决时间 2021-02-05 07:44 提问者女人不需要倾国倾 ...
- 编写一个程序, 对用户录入的产品信息进行格式化。
以下为程序的运行结果示例: Enter item number: 385↙ Enter unit price: 12.5↙ Enter purchase date (mm/dd/yy): 12/03/ ...
- 编写一个程序,提示用户输入身高单位(英寸,米,厘米)包括姓名使用float类型
#include<stdio.h> void main() { float a;//厘米 float meter=100;//米 float b = ...
- 编写一个程序, 接收用户录入的日期信息并且将其显示出来. 其中, 输入日期的形式为月/日/年(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 ...
- 已知一个字典变量stu_ infors,包含n个学生信息,每个学生信息,即字典变量stu_ infors每个元素的值为“学号:课程成绩”。现编写-个程序实现以下功能: (1)创建包含n个学生信息的字
1.已知一个字典变量stu_ infors,包含n个学生信息,每个学生信息,即字典变量stu_ infors每个元素的值为"学号:课程成绩".现编写-个程序实现以下功能: (1)创 ...
- 用python输出姓名和学号带不出姓名和学号_C++:输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。用C++编写一个程序 : 输入...
C++:输入10个学生的姓名.学号和成绩,将其中不及格者的姓名.学号和成绩输出. 用C++编写一个程序 : 输入 www.zhiqu.org 时间: 2020-12-07 [解题思路]本题用类 ...
- 2、采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超30年的职工加1000元工资,并输出工资变化后的所有职工的信息
2.采用结构体数组编写程序,定义一个含职工姓名.工作年限.工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超过30年的职工加1000元工资,并输出工资变化后的所有职工的信息(要求用下标 ...
- 现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数···········
原题:现要为某一个销售部门编写一个程序管理约100种商品.要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001).商品名称.商品销售量和商品销售额等信息,并编写以下函数: 1.编写一个函 ...
最新文章
- clone是深拷贝还是浅拷贝_Cloneable接口的作用与探索理解浅拷贝与深拷贝
- Centos 7 安装Mysql5.7
- Docker安装Hadoop
- C# Marshal的使用,非托管内存中分配内存注意的问题
- Selector 概念
- 《c专家编程》笔记--define和typedef的区别
- oracle目录删除后恢复,Oracle删除后不能重新安装的解决方法
- 云智慧压测实战分享之JMeter脚本录制实例
- Ubuntu自带简易录屏工具
- 力扣332. 重新安排行程(JavaScript)
- Css3新特性应用之形状
- CICS的临时存储队列操作
- 学校实训 电力巡检系统管理平台
- 根据字幕自动配音的软件 如何自动识别语音识别语音生成字幕
- 【计算视觉】人体姿态识别研究综述(详细归纳!)
- 通灵学院|游戏设计研习3:人类的内在人群特征★(1000字)
- ABeam (德硕)News | 喜提「SAP BTP 最佳实施合作伙伴」奖项
- 1.6 airtest控制MUMU模拟器
- 利用免费虚拟主机上传静态网站
- Interpreter(解释器模式)行为型
热门文章
- Python网络爬虫专业级框架_scrapy
- java quartz 动态执行,浅谈SpringBoot集成Quartz动态定时任务
- 智慧的闪光:一个小故事
- 重生之我是赏金猎人(三)-无脑挖掘某SRC getshell
- pandas 索引去重_python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除) 如何更新pandas dataframe的值...
- mysql数据库表缩表_不会写复杂的SQL,该怎么学习?
- java8流转数组_Java8 教程第八章之Array to Stream
- mysql数字大小排序函数_mysql按照数字大小排序的方法
- 计算机教师面试题模板,教师资格证面试试讲逐字稿模板——信息技术
- (转)中国外包企业战略思考