Для этого кода у меня есть пользовательский ввод, однако многие студенты хотят, чтобы он / она попросили их ввести свои имена и результаты тестов.
#include <iostream>
using namespace std;
int main ()
{
int count = 0, students, names, scores;
//Ask for number of students
cout << "How many students are there?" << endl;
cin >> students;
//Loop
for (count = 0; count < students; count++)
{
cout << "What are their names?" << endl;
cin >> names;
cout << "What are their scores?" << endl;
cin >> scores;
}
Я знаю, что в этом коде много ошибок, но моя главная цель — как получить имена и оценки в параллельном массиве. Спасибо!
Вы бы бросили все в цикл while, а затем прервали его, когда пользователь хочет выйти. Но как узнать, когда пользователь хочет выйти? Для чего-то вроде захвата имен и возрастов это может быть, когда пользователь вводит «-1» для имени, которое будет выглядеть так:
std::vector<std::string> names;
std::vector<int> ages;
while(true) {
std::string name;
int age;
std::cin >> name;
if(name == "-1") break;
std::cin >> age;
names.push_back(name);
ages.push_back(age);
}
Создайте переменную для хранения ответа от пользователя. Работа в цикле. Просить ввод от пользователя как ответ в каждом цикле. Поставьте условие, чтобы проверить выбор пользователя.
Например:
int x = 1;//to store answer of user
int age;
do{
cout<<"Enter the age";
cin>>age;
//similarly for name
cout<<"You want to do again (1/0)?";
cin>>x;//if user inputs 1 then continues doing thing else breaks
}while(x==1);
Эта программа продолжается до тех пор, пока пользователь не ответит 1 (и разрывы для других значений могут быть 0).
Надеюсь, это то, что вы ищете.