Я пытаюсь написать очень простую и банальную программу, в которой пользователю предлагается ввести имя трех животных и трех измерений (рост, вес и возраст).Я хочу сохранить это как Hashmap вида {"animal": {рост, вес, возраст}}.
Когда я пытаюсь перебрать значения ключа (имя животного), это работает, но проблема заключается в том, что когда дело доходит до перебора ключа.Проблема сводит меня с ума, так как я не понимаю таких понятий, как перегрузка для итератора и т. Д., Которые я видел в других статьях, как способ изменить свой код, чтобы он мог перебирать второе значение для каждого ключа вмой хэшмэп
Вот мой код:
#include <iostream>
#include <string>
#include <map>
#include <list>
using namespace std;
int main(){
map <string, list<float>> measurements;
for(int i=1; i<=3; i++){
string name;
float height, weight, age;
cout << "Please enter the animals' name: " << i << endl;
cin >> name;
cout << "Enter the height, weight, age" << endl;
cin >> height >> weight >> age;
measurements[name] = {height, weight, age};
}
for (auto x: measurements) {
cout << x.first << endl;
cout << x.second << endl;
}
return 0;
}