Итак, я пытаюсь создать массив, содержащий некоторые введенные пользователем имена, а затем сопоставить эти имена с оценками букв из тестов (например: A, B, C, D, F). Мой вопрос: как я могу использовать массив, чтобы принимать введенные пользователем имена?Использование массивов и строк вместе
EDIT:
К сожалению, это немного долго, я не знаю, какая часть положить, что бы помочь. Совершенно новый для C++, и я не могу найти что-либо в Интернете по этому вопросу, LOL.
Вот несколько кодов. Эта программа в настоящее время запрашивает у пользователя результаты тестов, затем отображает и понижает самый низкий результат теста и, наконец, вычисляет среднее значение баллов без самого низкого. Конечная цель состоит в том, чтобы спросить у пользователя имена 5 учеников и 4 оценки для каждого ученика, а затем сбросить самый низкий балл для каждого ученика и вычислить средние значения ВСЕХ баллов, внесенных вне зависимости от ученика.
#include <iostream>
#include <string>
using namespace std;
void getScore(int &);
int findLowest(int [], int);
void calcAverage(int [], int);
int main() {
const int NUM_SCORES = 5;
int scores[NUM_SCORES];
cout << "Welcome to test averages." << endl;
cout << "Please enter scores for " << NUM_SCORES << " students." << endl;
cout << endl;
for (int i = 0; i < NUM_SCORES; i++) {
getScore(scores[i]);
}
for (int i = 0; i < NUM_SCORES; i++) {
cout << "Score " << (i + 1) << ": " << scores[i] << endl;
}
cout << endl;
cout << "The lowest of these scores is " << findLowest(scores, NUM_SCORES) << endl;
calcAverage(scores, NUM_SCORES);
return 0;
}
void getScore(int & s) {
s = -1;
cout << "Please enter a test score: ";
cin >> s;
while (s < 0 || s > 100) {
cout << "Score range must be from 0-100" << endl;
cout << "Please re-enter a score: ";
cin >> s;
}
}
int findLowest(int theArray [], int theArraySize) {
int lowest = theArray[0];
for (int i = 1; i < theArraySize; i++) {
if (theArray[i] < lowest) {
lowest = theArray[i];
}
}
return lowest;
}
void calcAverage(int theArray [], int theArraySize) {
int sum = 0;
for (int i = 0; i < theArraySize; i++) {
sum += theArray[i];
}
double average = (sum - findLowest(theArray, theArraySize))/(theArraySize - 1.0);
cout << "The average is " << average << endl;
}
Массив строк? Или, если вы не хотите, чтобы массив фиксированного размера использовал ['std :: vector'] (http://en.cppreference.com/w/cpp/container/vector) в [' std :: string'] (http://en.cppreference.com/w/cpp/string/basic_string) (моя рекомендация). –
Какой код вы пробовали? – GreatAndPowerfulOz
Я бы хотел опубликовать ответ, но вы можете опубликовать код, который у вас есть. Или вместо или в дополнение к этому точный пример ваших входных файлов –