如何正确显示矢量
How can I display vector correct?
我在C++中正确显示向量时遇到了一点问题。
它现在打印如下:
溢出器导航:A
成绩: 1
溢出器导航:A
成绩: 2
溢出器导航:A
成绩: 3
溢出器导航:B
成绩: 1
溢出器导航:B
成绩: 2
...
...等等。
但是我希望它只打印一次"溢出器",多次打印"分数",所以它看起来像这样:
溢出器导航:A
得分:
1 阿拉伯数字
3
溢出器导航:B
得分:
1阿拉伯数字
3
这是我的填充向量函数:
void fyldVector(vector<Beregning>& nySpiller) {
string navn;
int score;
cout << "Indtast antal spillere: ";
int antal;
cin >> antal;
//nySpiller.reserve( nySpiller.size() + antal );
for (int i = 0; i < antal; i++) {
cout << "Indtast spiller navn: ";
cin >> navn;
for (int j = 0; j < 3; j++) {
cout << "Indtast score: ";
cin >> score;
Beregning nyBeregning(navn, score);
nySpiller.push_back(nyBeregning);
}
}
cout << endl;
}
还有我的打印矢量函数:
void printVector(const vector<Beregning>& nySpiller) {
unsigned int size = nySpiller.size();
cout << nySpiller.size() << endl;
for (unsigned int i = 0; i < size; i++ ) {
cout << "Spiller navn: " << nySpiller[i].getNavn() << endl;
cout << "Score: " << nySpiller[i].getScore() << endl;
cout << endl;
}
}
由于您没有说函数 getScore 是什么以及它的返回类型是什么,所以我使用您的示例中使用的函数。
void printVector( const vector<Beregning> &nySpiller )
{
string navn;
for ( const Beregning &b : nySpiller )
{
if ( navn != b.getNavn() )
{
navn = b.getNavn();
cout << "nSpiller navn: " << navn << endl;
cout << "Score: " << endl;
}
cout << b.getScore() << endl;
}
}
如果您的编译器不支持基于范围的 for 循环,那么您可以编写
void printVector( const vector<Beregning> &nySpiller )
{
string navn;
for ( vector<Beregning>::size_type i = 0; i < nySpiller.size(); i++ )
{
if ( navn != nySpiller[i].getNavn() )
{
navn = nySpiller[i].getNavn();
cout << "nSpiller navn: " << navn << endl;
cout << "Score: " << endl;
}
cout << nySpiller[i].getScore() << endl;
}
}
相关文章:
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 密码登录程序将永远循环并显示不正确的结果
- 控制台输出在 Qt5 中未正确显示
- 将信息输入到下面显示的结构向量中的正确语法/格式是什么
- 为什么下面的Hello World程序在PowerShell上没有显示任何输出?同一程序在CMD上显示正确的输出
- 我的程序将 26 个字母转换为 ascII 没有显示正确答案
- 我写的 ASCII 到二进制转换器C++向后显示二进制,如何使其正确显示?
- 任何人都可以弄清楚这段代码如何显示运行错误?它打印无限时间 -1 以及正确答案
- gdb映射显示不正确的成员变量
- 使用 C++ 中的运算符重载显示不正确的结果
- 尝试使用 ifstream 读取数据后显示不正确的数字
- "Time"库形式 Arduino 显示不正确的值
- 等效的 UTF8 显示不正确
- String.length() 显示不正确的值
- 值传递的参数在 Visual Studio 2015 x64 调试器中显示不正确
- 十二面体显示不正确
- 位图显示不正确
- 具有 OpenGL 纹理的 SDL2 显示不正确
- MP3 文件长度显示不正确
- C/ c++:为什么localtime的时区显示不正确?