天天看點

結構體成績統計

問題及代碼:

結構體成績統計
/*檔案名稱:日期的結構體
完成日期: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;
}


           

運作結果:

結構體成績統計

繼續閱讀