我正在尝试编写一个程序,该程序将提示用户他们班级中的学生人数以及每个学生参加的测验数量。获得此信息后,将要求用户在每个测验中提供学生的姓名和成绩。这将持续到所有学生及其测验成绩都已输入为止。然后程序将输出一个表格,显示学生的姓名及其平均值 所有输入的测验成绩。
这是不对的,但这是我到目前为止......
#include<iostream>
using namespace std;
int main()
{
int students;
int quizzes;
int averageArray;
int studentsArray;
cout << "Please enter the number of students : " << endl;
cin >> students;
cout << "Please enter the number of quizzes : " << endl;
cin >> quizzes;
averageArray = new int [quizzes];
studentsArray = new int [students];
for (int i = 0; i <= students; i++)
cout << "Enter the student's name: ";
cin >> studentsArray[i];
for (int j = 0; j <= quizzes; j++)
cout << "Enter quiz score: ";
cin >> averageArray[j];
}
答案 0 :(得分:0)
我知道这不是一个明确的答案,但你的代码需要重写,我现在不能被问到,所以这里有一些提示:
- 使用字符串地图和多个双打组合来保存每个学生的分数
- 一次读取每个学生一个,将他们的名字保存在一个字符串中,并使用下标操作符将该分数推回到多重集中。
- 如果您更容易,可以使用向量而不是多重集
- 使用2 for循环并使每个循环的停止点为您在开始时读入的2个整数
- 最后,循环遍历地图中的每个元素并使用double计算平均分数(然后在那里),一次存储一个。