用结构体成绩统计
法一(直接定义结构体数组)
#include<iostream>
#include<string.h>
using namespace std;
#define N 5
struct student{
char num[18];
char name[20];
double mathgrade;
double comgrade;
double sum;
double avg;
}stu[5];
int main(){
int i,j;
cout<<"\t\t\t\t******请输入学生信息:学号 姓名 数学成绩 计算机成绩*******"<<endl<<endl;
for(i=0;i<5;i++){
cin>>stu[i].num>>stu[i].name>>stu[i].comgrade>>stu[i].mathgrade;
stu[i].sum=stu[i].comgrade+stu[i].mathgrade;
stu[i].avg=stu[i].sum/2;
}
cout<<"\t\t\t\t******学生信息为:"<<endl<<endl;
for(j=0;j<5;j++){
cout<<"学号为:"<<stu[j].num<<" "<<"姓名为:"<<stu[j].name<<" "<<"总分为:"<<stu[j].sum<<" "<<"平均分为:"<<stu[j].avg<<endl;
}
return 0;
}
法二(先为对象取一个名,在函数里再定义一个结构体变量)
#include<iostream>
#include<string.h>
using namespace std;
typedef struct student
{
char num[18];
char name[20];
double mathgrade;
double comgrade;
double sum;
double avg;
}student;
int main(){
struct student s[5];
int i,j;
for(i=0;i<5;i++){
cin>>s[i].num;
cin>>s[i].name;
cin>>s[i].comgrade;
cin>>s[i].mathgrade;
s[i].sum=s[i].comgrade+s[i].mathgrade;
s[i].avg=s[i].sum/2;
}
for(j=0;j<5;j++){
cout<<s[j].num<<" "<<s[j].name<<" "<<s[j].sum<<" "<<s[j].avg<<endl;
}
}
ps:(法一较完整,法二没错但输入输出缺少文字说明,可添加)