評價: 0 回應: 0 閱覽: 88
置頂

請教一個練習題

題目如下:

產生一個陣列至多儲存10個學生的名字
以及另一個陣列儲存每個學生的成績(0~100)
用迴圈提示使用者輸入名字和成績
計算平均成績(利用迴圈計數)
顯示此平均成績並以表格顯示所有學生的名字和成績

以下為程式碼:

#include<iostream>
#include<iomanip>
#include<cctype>

using namespace std;

int main()
{
        const int student_number=10;
        string name[student_number]={};
        int grade[student_number]={0};
        int count=0;
        double average_grade=0.0;
        char answer='y';

        for(int i =0;( i<student_number && tolower(answer)=='y');i++)
        {
                cout<<"Please enter the student's name:"<<endl;
                getline(cin,name[i],'#');

                cout<<"Please enter the grade of student "<<name[i]<<"."<<endl;
                cin>>grade[i];

                count++;


                cout<<"Do you still want to input any data ? "<<endl;
                cin >> answer ;


        }

    int sum=0;
        for(int i=0; i<count ; i++)
        {
                sum += grade[i];
        }

        average_grade = static_cast<float>(sum) / static_cast<float>(count);

        cout<<"student name          grade"<<endl;

        for(int i =0;i< count;i++)
        {

                cout<<setw(12)<<name[i]<<setw(15)<<grade[i];

        }

        cout<<"\n     average             "<<average_grade<<endl;
        return 0;
}

 

會員登入 (先登入會員才能回覆留言喔!)

Facebook留言