数组的平均值(struct)

时间:2011-11-19 18:09:16

标签: c++ arrays struct average

我一直在这方面,似乎无法找到正确的方法。我只留下了有效的代码,因为剩下的只是令人尴尬......

使用2个数组创建一个程序,该数组包含10个学生的类数据集: 第一个数组包含学生的名字和姓氏(在不同的单元格中) 第二个数组保存每个学生的成绩(总共5个) 创建适当的函数来加载和显示数组,包括平均值 和学生的字母等级。从学生的平均成绩中删除最低成绩。

我不是要求某人为我做这件事,我只是想要一些帮助。

#include <cstdlib>
#include <iostream>

using namespace std;

const int CLASSIZE = 1;

struct student
{
    string firstName;
    string lastName;

    void printTheInfo()
    {
        cout << "Name: " << firstName << " " << lastName;
    }
    void loadMe()
    {
        cout << "First Name: ";
        cin >> firstName;
        cout << "Last Name: ";
        cin >> lastName;
    }
};
struct grades
{
    int grade1;
    int grade2;
    int grade3;
    int grade4;
    int grade5;

    void printTheGrades()
    {
        cout << " Grades: " << grade1 << " " << grade2 << " " << grade3
             << " " << grade4 << " " << grade5 << endl;
    }
    void loadGrades()
    {
        cout << "Grade 1: ";
        cin >> grade1;
        cout << "Grade 2: ";
        cin >> grade2;
        cout << "Grade 3: ";
        cin >> grade3;
        cout << "Grade 4: ";
        cin >> grade4;
        cout << "Grade 5: ";
        cin >> grade5;
    }
};

void printAllStudents(student [], grades [], int);
void loadAllStudents(student [], grades [], int);

int main(int argc, char *argv[])
{    
    student theStudent[CLASSIZE];
    grades theGrade[CLASSIZE];

    loadAllStudents(theStudent, theGrade, CLASSIZE);
    printAllStudents(theStudent, theGrade, CLASSIZE);

    system("PAUSE");
    return EXIT_SUCCESS;
}

void loadAllStudents(student theStudents[], grades theGrades[], int s) 
{
    for(int i = 0; i < s; i++)
    {
        theStudents[i].loadMe();
        theGrades[i].loadGrades();
    }
}
void printAllStudents(student theStudents[], grades theGrades[], int s) 
{
    for(int i = 0; i < s; i++)
    {
        theStudents[i].printTheInfo(); 
        theGrades[i].printTheGrades();
    }
}

1 个答案:

答案 0 :(得分:1)

首先创建一系列成绩。您可以使用double: 双等级[5],而不是1级,......,5级。 然后更容易计算平均值。 在计算每个学生的平均值时,您可以在变量中存储当前的最小值。