定义描述复数的结构体类型变量,并实现复数的输入和输出。设计三个函数分别完成复数的加法、减法和乘法运算。
#include <iostream>
using namespace std;
//定义一个学生结构体
struct student{
int num; //学号
char name[30]; //姓名
int age; //年龄
float Cscore; //C++成绩
float Mscore; //数学成绩
float Escore; //英语成绩
float aver; //平均分
}stu[5];
//函数的声明
void average(student stu[5]); //平均分函数
void Input(student stu[5]); //输入函数
void Show(student stu[5]); //输出展示函数
//平均分函数
void average(student stu[5])
{
int i;
float sum=0;
for(i=0;i<5;i++)
{
sum=0;
sum+=stu[i].Cscore+stu[i].Mscore+stu[i].Escore;
stu[i].aver=sum/3;
}
}
void Show(student stu[5])
{
int sum1=0,sum2=0,sum3=0,av1=0,av2=0,av3=0;
for(int i=0;i<5;i++)
{
cout<<"学号:"<<stu[i].num<<" ";
cout<<"姓名:"<<stu[i].name<<" ";
cout<<"年龄:"<<stu[i].age<<" ";
cout<<"C++:"<<stu[i].Cscore<<" ";
cout<<"数学:"<<stu[i].Mscore<<" ";
cout<<"英语:"<<stu[i].Escore<<" ";
cout<<"他的三科平均分:"<<stu[i].aver<<endl;
}
for(int i=0;i<5;i++)
{
sum1=sum1+stu[i].Cscore; //实现计算每一科的总分
sum2=sum2+stu[i].Mscore;
sum3=sum3+stu[i].Escore;
}
av1=sum1/5;
av2=sum2/5;
av3=sum2/5;
cout<<"以下是各科目平均分\n";
cout<<"C++平均分:"<<av1<<" "<<"数学平均分:"<<av2<<" "<<"英语平均分:"<<av3<<endl;
}
//输入函数
void Input(student stu[5])
{
cout<<"请输入学生的学号 姓名 年龄 C++成绩 数学成绩 英语成绩\n";
cout<<"示例输入:311 xiaohua 18 88 77 99\n";
for(int i=0;i<5;i++)
{
cout<<"请输入第"<<i+1<<"个学生的信息:";
cin>>stu[i].num>>stu[i].name>>stu[i].age>>stu[i].Cscore>>stu[i].Mscore>>stu[i].Escore;
}
}
//主函数
main()
{
Input(stu);
average(stu);
Show(stu);
return 0;
}
运行示例如下:
```