C ++ Невозможно использовать вставку для добавления значений после итерации в списке - PullRequest
0 голосов
/ 24 мая 2019

У меня есть следующий список, в котором пользователю предлагается написать имя учащегося, а затем подсказку о 3 оценках в трех экзаменах, полученных на каждого учащегося.Я хотел бы добавить имя студента, если его оценка на первом экзамене> 4.0.Однако, когда я делаю это на шаге paso_primer_exam.insert (i), я получаю сообщение об ошибке: кандидат ожидает 3 аргумента, 1 при условии paso_primer_exam.insert (i);

Я думал, что в форме вы можете добавить значение послеитерация в новом списке была простой, как в Python.Кто-нибудь знает, как решить эту ошибку?Вот мой код

#include <iostream>
#include <string>
#include <unordered_map>
#include <list>
using namespace std;

int main(){

// Crear un mapa que guarde los valores 
// de los estudiantes en la siguiente forma:
// "estudiante": [nota1, nota2, nota3]

unordered_map<string, list<float>> boletin;
string nombre;
float nota_1, nota_2, nota_3;



for (int i = 1; i <= 3; i ++){
    cout <<"Digite nombre del estudiante: " << i << endl;
    cin >> nombre; 
    cout <<"Digite las tres calificaciones: " << endl;
    cin >> nota_1 >> nota_2 >> nota_3;

    boletin.insert({nombre, {nota_1, nota_2, nota_3}});

}

// iterando e imprimiendo los elementos del 
// hashmap

list <string> paso_primer_exam;



for (auto i=boletin.begin(); i!= boletin.end(); i++){

    cout << '\n' + i -> first << endl;

    float primera_nota;
    list <float> notas = i -> second;

    primera_nota = notas.front();
    notas.begin();

    if (primera_nota >= 4.0){
        paso_primer_exam.insert(i);

    }
    for (auto it=notas.begin(); it != notas.end(); ++it){
        cout << ' ' << * it << endl;


    } 


}
return 0;

}

1 Ответ

0 голосов
/ 24 мая 2019

Посмотрите на метод insert для std::list вставка списка

нет способа вызвать его только с одним параметром.

возможно, вы хотите использоватьметод push_back.

PS И просто совет для будущего кода, попробуйте написать код на английском языке.

...