【发布时间】:2021-08-31 17:14:45
【问题描述】:
我想知道如何将 2 个 for 循环并排打印出来?
这些是循环:
for(vector<Student>::iterator it = studenti.begin(); it != studenti.end(); ++it)
cout << "| " << it->brojIndeksa << " " << it->ime << " " << it->prezime;
for(map<string,string>::iterator it = ocjene.begin(); it!= ocjene.end(); ++it)
cout << " " << it->first << " - " << it->second << endl;
我想要的输出:
| brojIndeksa ime prezime first - second
| brojIndeksa ime prezime first - second
| brojIndeksa ime prezime first - second
我的输出:
| brojIndeksa ime prezime| brojIndeksa ime prezime first - second
first - second
编辑:
struct Predmet {
string naziv;
string odsjek;
istream& dodaj_predmet(istream &);
void sort_predmeti();
};
struct Student {
string brojIndeksa;
string ime;
string prezime;
map<std::string, string> ocjene;
istream& dodaj_studenta(istream &);
void sort_studenti();
};
map<std::string, string> ocjene 包含 2 个输入字符串,第一个必须是来自 Predmet 结构的 naziv。
新输出:
| 1808 John Doe EJ 10
| PIM 10
| 1809 Jessica Doe PIM 10
【问题讨论】:
-
地图和矢量的元素数量相等?
-
我发现使用 std::stringstream 简化了这项工作。考虑 std::stringstream leftColumn; std::stringstream 右列;然后以通常的方式填充每一列,接下来,对于每一行,做一个 std::cout
-
我不明白,你能解释一下它在我的例子中是如何工作的吗?