問題及代碼:
/*檔案名稱:日期的結構體
完成日期:2016年4月13日
作者;馬豔豔
問題描述:建立一個簡單的學生資訊表,包括:姓名、性别、年齡及一門課程的成績,統計輸出學生的平均成績和不及格同學姓名和不及格人數。
輸入描述:n 和 n個學生的姓名,性别,年齡,成績
輸出描述:學生的平均成績和不及格同學姓名和不及格人數。*/
#include<iostream>
#include<iomanip>
using namespace std;
struct student
{
char name[20];
char sex;
int age;
float score;
} ;
void input(struct student stud[],int n)
{
int i;
for(i=0; i<n; i++)
{
cin>>stud[i].name; //輸入姓名
cin.get();
cin>>stud[i].sex; //輸入性别
cin>>stud[i].age; //輸入年齡
cin>>stud[i].score; //輸入成績
}
}
void total(struct student stud[],int n)
{
int i;
float aver;
float sum=0;
int t=0;
for(i=0;i<n;i++)
{
sum+=stud[i].score;
}
aver=sum/n;
for(i=0;i<n;i++)
{
if(stud[i].score<60)
{
cout<<stud[i].name<<"不及格"<<endl;
t++;
}
}
cout <<setiosflags(ios::fixed)<<setprecision(1);
cout<<"平均成績為:"<<aver<<endl;
cout<<"不及格人數為:"<<t<<endl;
}
int main()
{
struct student stud[100];
int n;
cin>>n;
input(stud,n); //輸入n個學生的資訊
total(stud,n); //統計并輸出平均成績和不及格同學姓名和不及格人數
return 0;
}
運作結果: