Ввод данных в цикле while

Рейтинг: 0Ответов: 0Опубликовано: 23.03.2023

Занимаюсь по книжке Страуструпа и одном из заданий нужно реализовать ввод данных с клавиатуры, но у меня возникли проблемы с функций name_pairs::read_ages. Функция не дает возможности ввода данных, просто выводит введенные до этого переменные и все.

#include <iostream>
#include <vector>
#include <string>



class name_pairs
{
public:

    void name_pairs::read_names();
    void name_pairs::read_ages();
    void name_pairs::print();

private:

    std::vector<std::string>name_vector;
    std::vector<double>age_vector;
};

void name_pairs::read_names()
{
    std::string name;

    while (std::cin>> name)
    {
        name_vector.push_back(name);
    }
}

void name_pairs::read_ages()
{
    int age;

    for (const std::string& name : name_vector )
    {
        std::cout << name << ": ";
        std::cin >> age;
        age_vector.push_back(age);
        std::cout << std::endl;
        
    }
}

void name_pairs::print()
{
    for (int i = 0; i < name_vector.size(); i++ )
    {
        std::cout << name_vector[i] << " - " << age_vector[i] << std::endl;
    }
}






int main()
{
    name_pairs jojo;
    jojo.read_names();
    jojo.read_ages();
    jojo.print();
}

Ответы

Ответов пока нет.