C ++:如何获取向量来打印用户输入?

时间:2015-12-16 05:36:50

标签: c++ vector iterator

我在弄清楚如何打印我的矢量用户输入时遇到了一些麻烦。我认为我的迭代器循环特别错误,但我不确定是什么。我一直在玩这个,我很难过。我的哨兵价值也有问题 - 我的计划在输入我的哨兵价值后不再继续。我错过了什么吗?

非常感谢您提供的任何帮助。

这是我的代码:(这里有一些变量,您可能会注意到这些代码示例中没有使用这些变量。我将这些变量用于我程序的其他部分) 。

您可以提供的有关此方面的任何帮助都会非常有帮助。谢谢。

3 个答案:

答案 0 :(得分:1)

您在输出循环之前第二次声明check_amounts向量,因此您需要输出空向量的内容。删除第二个声明。

答案 1 :(得分:1)

您的代码陷入无限循环:

for(i = 0; amount< length; i ++)length / = 10;

因为amount = -1,length = 0。 也不要使用!=表示双值,例如(金额!= -1)。使用<或者> 。由于不精确的位模式

,等式检查不可靠

答案 2 :(得分:0)

这是我运行代码时得到的结果:

This program inputs a dollar amount and prints it in check-format.
Input up to five check amounts, one at a time. (Enter -1 to quit)
5
Input up to five check amounts, one at a time. (Enter -1 to quit)
10
Input up to five check amounts, one at a time. (Enter -1 to quit)
15
Input up to five check amounts, one at a time. (Enter -1 to quit)
20
Input up to five check amounts, one at a time. (Enter -1 to quit)
25

The check-formated dollar amount for your check(s) are printed as follows: 5 **** 25.00
10 **** 25.00
15 **** 25.00
20 **** 25.00
25 **** 25.00

打印出矢量的用户输入时看不到问题。顺便提一句,Avik Paul是正确的哨兵案。您应该使用最后一个有效金额。