C++ C++;开关语句计数输出

C++ C++;开关语句计数输出,c++,for-loop,switch-statement,C++,For Loop,Switch Statement,我无法生成此程序的输出语句。正确的输出应打印与其数值相同的输入编号 我真的不明白你想要实现什么,但这里的这一部分: for (count1=0; count1<=5; count1++) cout << "1"; for(count1=0;count1您肯定需要在while循环中移动开关语句(编辑:这是基于OP最初发布的代码)。看起来您需要类似的东西: #include <iostream> using namespace std; int

我无法生成此程序的输出语句。正确的输出应打印与其数值相同的输入编号

我真的不明白你想要实现什么,但这里的这一部分:

  for (count1=0; count1<=5; count1++)
        cout << "1";

for(count1=0;count1您肯定需要在while循环中移动
开关
语句(编辑:这是基于OP最初发布的代码)。

看起来您需要类似的东西:

#include <iostream>

using namespace std;

int main()
{
    int standard, count1, count2, count3, count4, count5;

    // Initialize your int's
    standard = count1 = count2 = count3 = count4 = count5 = 0;

    do {
        cout<< "Enter value: ";
        cin >> standard;

        // Switch through your cases
        switch(standard)
        {
        case 1:
            count1++;
        break;
        case 2:
            count2++;
        break;
        case 3:
            count3++;
        break;
        case 4:
            count4++;
        break;
        case 5:
            count5++;
        break;
        }
    } while(standard != 0);

    // Do this type of loop for all your count vars
    for(int i=0;i<count1;++i)
        cout<< "1";

    for(int i=0;i<count2;++i)
        cout<< "2";

    // And so on...

    return 0;
}
起始点=应该从何处开始循环的值 SOME_CONDITION=当此条件为真时,循环将终止 SOME_CHANGE=如何更改变量(即从起点开始),直到其达到条件

这样一个循环看起来像这样:

for(STARTING_POINT;SOME_CONDITION;SOME_CHANGE);
for(int i=1;i<=5;++i){ ... }

for(inti=1;i以下是我的解释:您想要输入一个数字序列(以零结尾),然后使用循环输出完全相同的数字

这里有一些伪代码给你一个提示

Declare an array of int's large enough to hold all your input numbers.
Declare a counter c = 0.

Begin loop while input is not 0
    Input number from user and store it in array[c].
    Increment counter c.
End loop

Begin loop i from 0 to c-1
    Output number that is in array[i].
End loop

无需对每个可能的数字使用switch语句和计数器。只需将每个输入存储在数组中它自己的位置。

这看起来非常像“编程入门”很遗憾,您提供的代码与您试图编写的代码几乎没有相似之处。我在任何地方都看不到问题。您需要帮助做什么?这段代码到底应该做什么?“正确的输出应该打印与其数值相同的输入数。”等等,什么?我真的不明白你想在这里做什么。它似乎在试图一个数字一个数字地构造一个数字,对吗?这不是答案;它应该作为对原始问题的评论发布。你可能想在开始收集选票之前删除它。@Ken:大多数时候我同意,但考虑到问题的模糊性"问题:"在这里,我很高兴地猜测Rob指出的是OP试图解决的问题的一部分。-1对于大量的代码和很少的解释。@Potatoswatter:没有太多其他需要解释的。我解释了for循环的范围,这是他在我看来问题最多的地方。看看他的原始代码,也许我可以进一步分离for循环,但仅此而已。这基本上就是循环的“Hello World”(不考虑I/O,但这也是非常基本的,因为他似乎理解它)。他没有重载
++
运算符,因此它仍然是递增的。请详细说明您是否希望看到有关此代码的进一步解释。您从根本上更改了功能,并说“看起来这就是您想要的”。显然,他仍然在“你好,世界”即使对我们来说这似乎是非常基本的,那也是他所需要的教学水平。@Potatoswatter:我会补充一些评论,但是,如果这是标记为家庭作业的话,我就不会提供这样的代码-唯一被更改的是
开关的位置我将把它附加到我的回答中。
家庭作业
标签几乎总是由回答者而不是提问者添加的,所以你不能依赖它。除了
开关的位置外,你还重写了产生输出的循环,并做了一些风格上的改变。