用数组string name[]表示同学们的姓名,使姓名与成绩的下标保持一致。设计输入成绩的函数,输入3科成绩后可以自动求出总分,并将数据全保存到数组中;
#include<iostream>
#include<iomanip>
const int size=2;
using namespace std;
void outputfun(string name[],int a[][4]);
void setfun(string name[],int a[][4]);
int main()
{
int a[size][4];
string name[size];
setfun(name,a);//设置数组
outputfun(name,a);//输出数组
return 0;
}
void setfun(string name[],int a[][4])
{
for(int i=0;i<size;i++)
{
cout<<"输入姓名:";
cin>>name[i];
for(int j=0;j<3;j++)
{
switch(j)
{
case 0:cout<<"输入数学成绩:";
cin>>a[i][j];
break;
case 1:cout<<"输入英语成绩:";
cin>>a[i][j];
break;
case 2:cout<<"输入C++成绩:";
cin>>a[i][j];
break;
}
}
a[i][3]=a[i][0]+a[i][1]+a[i][2];
}
}
void outputfun(string name[],int a[][4])
{
cout<<"姓名"<<setw(10)<<"数学成绩"<<setw(10)<<"英语成绩"<<setw(10)<<"C++成绩"<<setw(8)<<"总分"<<endl;
for(int i=0;i<size;i++)
{
cout<<name[i];
for(int j=0;j<4;j++)
cout<<setw(10)<<a[i][j];
cout<<endl;
}
}