已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
4小时前关门了。
Improve this question
因此,对于上下文,我们的老师要求我们创建一个排序系统,它可以接受多达3个订单,每个订单有3个输入,主、侧、我使用了一个函数“void inputOrder()”并执行while循环,然后将命令系统放入该函数中,以便在main中调用它,并使其不断重复,直到发出3个命令。我如何得到每个订单的这些投入的价格?例如,订单1的成本为5. 65美元,将3个投入加起来,订单2的成本为7美元,等等,我如何能够做到这一点?
我有一个想法,创建一个函数,将采取小计,但我目前的代码是有点低效,所以我有一个艰难的时间试图使它发生。
void inputOrder()
{
int mainOrder, side, drink, modify, cont;
int order = 1;
do{ printf("\n\nOrder %d: \n", order);
printf("\tMain: \t");
scanf("%d", &mainOrder);
if(mainOrder <= 4)
{
switch(mainOrder)
{
case 0:
printf("\tNone");
break;
case 1:
printf("\tChicken");
break;
case 2:
printf("\tPork");
break;
case 3:
printf("\tFish");
break;
case 4:
printf("\tBeef");
}
}
else
{
printf("Invalid input resetting order.");
inputOrder();
}
printf("\n\tSide: \t");
scanf("%d", &side);
if(side <= 4)
{
switch(side)
{
case 0:
printf("\tNone");
break;
case 1:
printf("\tSteamed Rice");
break;
case 2:
printf("\tShredded Corn");
break;
case 3:
printf("\tMashed Potatoes");
break;
case 4:
printf("\tSteamed Vegetables");
}
}
else
{
printf("Invalid input resetting order.");
inputOrder();
}
printf("\n\tDrink: \t");
scanf("%d", &drink);
if (drink <= 4)
{
switch(drink)
{
case 0:
printf("\tNone");
break;
case 1:
printf("\tMineral Water");
break;
case 2:
printf("\tIced Tea");
break;
case 3:
printf("\tSoda");
break;
case 4:
printf("\tFruit Juice");
}
}
else
{
printf("Invalid input resetting order.");
inputOrder();
}
printf("\nIs this meal set order correct? (1 - Yes / 2 - No): ");
scanf("%d", &modify);
if (modify == 1)
order++;
if (modify == 2)
{
printf(" \nChange order or cancel? (1 - Change order / 2 - Cancel): ");
scanf("%d", &cont);
if (cont == 1)
order = order;
if (cont == 2)
inputOrder();
}
}while (order < 4);
}
1条答案
按热度按时间oug3syen1#
你应该用struct来做类似的事情。用struct你可以很容易地做这样的事情。如果你不知道什么是struct或者它们是如何工作的,this解释得很好。
为了让你更清楚地了解它,我们用一个结构体把几个相关的变量组合在一起。这有点像其他编程语言中的类,但大多数情况下只保存变量。