【发布时间】:2021-08-31 13:06:28
【问题描述】:
所以我正在为这些事情苦苦挣扎:
我有一个方法,它返回 istream 输入并将 istream 输入作为参数,将值发送到向量并将它们存储在其中。现在,当我输入 1 个值时,我正在尝试检查向量是否已经包含该值,这是我的代码以更好地理解它:
struct Predmet {
string naziv;
string odsjek;
istream& dodaj_predmet(istream &);
};
struct Student {
string brojIndeksa;
string ime;
string prezime;
map<std::string, int> ocjene;
istream& dodaj_studenta(istream &);
};
vector<Student> studenti;
vector<Predmet> predmeti;
Student s;
Predmet p;
istream& Student::dodaj_studenta(istream & input){
cout << "### Unesite podatke o studentu: " << endl;
cout << endl;
cout << "Unesite broj indeksa studenta: " << endl;
getline(input, brojIndeksa);
cout << endl;
cout << "Unesite ime studenta: " << endl;
getline(input, ime);
cout << endl;
cout << "Unesite prezime studenta: " << endl;
getline(input, prezime);
cout << endl;
cout << "*** Uspjesno ste unijeli studenta ***" << endl;
return input;
}
所以我正在尝试检查为结构成员 brojIndeksa 输入的值是否已经存在于向量中,但我不知道该怎么做。
另外我怎样才能将值添加到映射,因为我需要添加pairSTRING 是否是naziv 在predmeti 中输入的值向量?
谢谢。
【问题讨论】:
-
std::find或std::find_if会有所帮助:en.cppreference.com/w/cpp/algorithm/find -
已经尝试过他们两个,但他们都得到了同样的错误,所以我不确定我是否传递了正确的参数。
-
请显示minimal reproducible example,说明您尝试过的操作以及遇到的错误
标签: c++ c++11 vector structure istream