#include <stdio.h>
int main(void)
{
char combo;
int quantity;
int ketqn;
char ketupat;
int sum;
float protoprice;
float orderprice, combp;
float ketp;
printf (" SATAY RESTAURANT \n");
printf ("----------------------------------------------------------\n");
printf (" Combo Type Item Price (RM) \n");
printf ("----------------------------------------------------------\n");
printf (" A 25 Chicken Satay + 25 Beef Satay 40.00 \n");
printf (" B 30 Chicken Satay + 20 Mutton Satay 52.00 \n");
printf (" C 10 Mutton Satay + 40 Beef Satay 46.00 \n");
printf (" Add-on 1 Ketupat 0.60 \n");
printf ("----------------------------------------------------------\n");
printf ("Enter combo type (A/B/C) : ");
scanf("%c", &combo);
printf("Enter quantity: ");
scanf("%d", &quantity);
for(combo!='X')/*it says error: expected ';' before ')' */
{
switch(combo){
case'A':
case'a': combp = 40.00; break;
case'B':
case'b': combp = 52.00; break;
case'C':
case'c': combp = 46.00; break;
default: printf("wrong input"); combp = 0;
}
detaildetails
}
printf("Add-on ketupat (Y/N): ");
scanf("\n%c", &ketupat);
switch(ketupat){
case'Y':
case'y': ketp = 0.60; printf("Enter ketupat quantity: ");scanf("\n%d",&ketqn); break;
case'N':
case'n': ketp = 0; break;
default: printf("wrong input");
}
orderprice = (combp*quantity) + (ketqn*ketp);
printf("Order Price = RM %.2f",orderprice);
}
我的问题是for
循环无法编译。它应该保持循环,直到我键入x
但它不编译。我该如何解决?
答案 0 :(得分:4)
使用while循环代替for
while(combo != 'X')
答案 1 :(得分:2)
for (; combo != 'X'; ) {
//your code
}
这是在你的情况下使用“for”循环的正确方法 C编程语言中for循环的语法是:
for ( init; condition; increment ){
statement(s);
}
在您的代码中,您只需要条件,因此可以省略 init和increment 部分。
答案 2 :(得分:0)
一旦你进行编译(见其他答案),它将无法正常工作
它将永远循环或永远不会执行身体
要修复此问题,请在increment
或更改combo
的循环体中添加内容
您可能希望将相应的输入读数移动到循环中。
答案 3 :(得分:0)
不要在你的程序中单独使用。像这样for(combo!='X')
For循环有语法错误。这是for循环的示例代码
#include <stdio.h>
int main () {
int a;
/* for loop execution */
for( a = 10; a < 20; a = a + 1 ){
printf("value of a: %d\n", a);
}
return 0;
}
详细了解下面的教程点tutorialpoint您的答案可能是
for (; combo != 'X'; ) {
//code you entered
}