((C ++数组问题)我想打印出我通过在DoWhile过程中输入的数字代码订购的食物

问题描述 投票:0回答:2

我将输入: (数字是食品代码,是/否是[/ d])>] >>

1
Y
2
Y
3
N

然后我的期望的输出

将是
Chicken
Fries
Hotdog

请查看我的代码,它不会打印出任何内容。我的想法是,每次输入数字时,它将触发切换功能,然后将具有准备值(ex:order2 = fries)

的变量存储在数组中。因此,在循环时,我将输入多个订单,我想将它们打印出来(请参阅上面的预期输出)
#include <iostream>
using namespace std;

int main() {
int ordercode;
int i;
int limit;
char yesno;
char allorder[10][100];
string order1="Chicken";
string order2="Fries";
string order3="Hotdog";
do 
{
limit++;
i++;
cout<<" Enter order ";
cin>>ordercode;
switch(ordercode){
    case 1:
        order1 == allorder[i];
        break;
    case 2:
        order2 == allorder[i];
        break;
    case 3:
        order3 == allorder[i];
        break;
}
cout<<"Will you order again?";
cin>>yesno; 
}

while(yesno == 'Y');

for(i = 0; i<limit; i++)
{

    cout <<allorder[i];
    cout<<"\n";
}
}

我将输入:(数字是食物代码,是/否是/否)1 Y 2 Y 3 N然后我的预期输出是Chicken Fries Hotdog请参阅我的代码,它不会打印出来任何东西。我的想法...

c++ arrays do-while
2个回答
0
投票

请尝试其中的一些改进,以了解您的进展情况。您的想法很好,但是您弄错了很多细节。

int i = 0;

int limit = 0;

string allorders[10];

allorders[i] = "Chicken";

allorders[i] = "Fries";

allorders[i] = "Hotdog";

0
投票

您未将i初始化为零。简单地写

© www.soinside.com 2019 - 2024. All rights reserved.