c++结构体数组(以成绩类型为例(输入姓名和各主科成绩,求和输出))(含输入、输出、寻最高最低分函数)

本篇博客主要是利用结构体数组处理以组为单位的数据,可作为一个简单项目实现功能的模板(文末附有运行截图和源码)

首先确定结构体需要包含些什么数据,什么类型;
这里我们就以主科成绩,姓名为例;定义结构体
c++结构体数组(以成绩类型为例(输入姓名和各主科成绩,求和输出))(含输入、输出、寻最高最低分函数)_第1张图片
要处理数据,首先搞定输入函数,利用循环输入以组为单位的数据
c++结构体数组(以成绩类型为例(输入姓名和各主科成绩,求和输出))(含输入、输出、寻最高最低分函数)_第2张图片
将结构体中主科成绩分别求和并输出,为了保证知道是谁的成绩,故也输出对应的姓名
c++结构体数组(以成绩类型为例(输入姓名和各主科成绩,求和输出))(含输入、输出、寻最高最低分函数)_第3张图片
每个项目有不同的功能,具体有什么需求就要写相应的函数,这里我写了一个在这一堆数据中寻找总分最高和最低的函数,用来输出最高分和最低分

c++结构体数组(以成绩类型为例(输入姓名和各主科成绩,求和输出))(含输入、输出、寻最高最低分函数)_第4张图片
最后主函数调用函数就可以实现对应的功能了
c++结构体数组(以成绩类型为例(输入姓名和各主科成绩,求和输出))(含输入、输出、寻最高最低分函数)_第5张图片附上运行的截图和源码

c++结构体数组(以成绩类型为例(输入姓名和各主科成绩,求和输出))(含输入、输出、寻最高最低分函数)_第6张图片

#include
struct cj
{
char xingming[20];
int yuwen;
int shuxue;
int yingyu;
};
void sr(cj s[],int n)
{
cout<<“请依次输入学生的语文成绩,数学成绩,英语成绩,姓名:”< for(int i=0;i {
cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu;
gets(s[i].xingming);
}
}//结构体循环输入数据函数
void sc(cj s[],int n)
{
for(int i=0;i {
int sum=s[i].yuwen+s[i].shuxue+s[i].yingyu;
cout< cout<<“成绩总分为:”< cout< }
}//结构体循环分布求和并输出学生姓名和总分
void bj(cj s[],int n)
{
int sum[20],max[10],min[10],j=0,k=0;
max[0]=s[0].yuwen+s[0].shuxue+s[0].yingyu;
min[0]=s[0].yuwen+s[0].shuxue+s[0].yingyu;
for(int i=0;i {
sum[i]=s[i].yuwen+s[i].shuxue+s[i].yingyu;
if(sum[i]>max[j])
{
j=i;
max[j]=sum[i];

}
if(sum[i] {
k=i;
min[k]=sum[i];
}
}
cout< cout< } //结构体寻找最大分数和最低分数的学生并输出
int main()
{
int y,s,w,n;
cout<<“您打算输入几个学生的主科成绩来计算总分:”;
cin>>n;
struct cj p[n];
sr(p,n);
sc(p,n);
bj(p,n);
return 0;
}

你可能感兴趣的:(c++结构体数组(以成绩类型为例(输入姓名和各主科成绩,求和输出))(含输入、输出、寻最高最低分函数))