1. 程式人生 > >C/C++複習:成績統計(結構體)

C/C++複習:成績統計(結構體)

/*
 *Copyright(c)2016,煙臺大學計算機與控制工程學院
 *All right reserved.
 *檔名稱:77.cpp
 *作    者:董凱琦
 *完成日期:2016年4月26日
 *版 本 號:v1.0
 *
 *問題描述:建立一個簡單的學生資訊表,包括:姓名、性別、年齡及一門課程的成績,統計輸出學生的平均成績和不及格同學姓名和不及格人數。

 *輸入描述: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,num=0;
    float ave,sum=0;
    for(i=0;i<n;i++)
    {
        if(stud[i].score<60)
        {
            num++;
            cout<<stud[i].name<<"不及格"<<endl;
        }
    }
    for(i=0;i<n;i++)
    {
        sum+=stud[i].score;

    }
    ave=sum/n;
    cout<<"平均成績為:"<<setprecision(3)<<ave<<endl;
    cout<<"不及格人數為:"<<num<<endl;
}

int main()
 {
     struct student stud[100];
     int n;
     cin>>n;
     input(stud,n);  //輸入n個學生的資訊
    total(stud,n);  //統計並輸出平均成績和不及格同學姓名和不及格人數
    return 0;
 }