안녕하세요 여러분 저는 현재 대학 평가를 위해 햄버거 주문 시스템을 개발하고 있습니다. 앱은 기본적으로 25 개의 주문 목록 (즉, 최대 주문 수)을 저장합니다. 각 주문은 무제한 버거를 가질 수 있습니다. 오류가 발생합니다 (아래에서 시도한 코드 사용).
40:13: error: expected expression int orderNumber = 0;
나는 문제가 무엇인지 전혀 모른다. 누군가가 제발 도와 줄 수 있습니까? 또한 누군가가 지적하기 전에 메모리 할당이 유효한지 확인하기 위해 아직 추가하지 않았습니다 (아직 진행중인 작업입니다). 마지막으로, 이것이 간단한 질문은 아니지만 어떤 피드백이라도 좋을 것임을 알고 있습니다. 다음은 아래 코드입니다.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
typedef enum {EMPTY, ACTIVE} status;
typedef enum {A, B, C, M} burgerPart;
struct burger
{
int quantity;
char burgerTitle[1000];
burgerPart burgerType;
float burgerPrice;
float quantityBurgerPrice;
}burger;
struct order
{
int receiptNumber;
int burgersize;
struct burger * burgerItem;
float totalPrice;
status statusItem;
}order;
// My actual code has various functions here, but not relevant to error
int main(){
struct order orderItem[24];
int choice;
printf("Welcome to Tasty Burgers\n");
do
{
choice = 1;
switch (choice)
{
case 1:
int orderNumber = 0;
orderNumber = getNumber(orderItem);
printf("How many burgers would you like to order?\n");
scanf(" %d", &orderItem[orderNumber].burgersize);
int p;
for (p = 0; p < orderItem[orderNumber].burgersize; p++) {
orderItem[orderNumber].burgerItem = (struct burger *)calloc(orderItem[orderNumber].burgersize,(sizeof(burger)*orderNumber));
printf("Please order burger %d\n", (p+1));
printf("Select the Burger Type\nA – Chicken Burger – 15$\nB – Ham Burger – 17$\nC – Vegie Burger – 13$\nM - To return to main menu\n");
char foodchoice[1000];
fflush(stdin);
fgets(foodchoice, 1000, stdin);
fflush(stdin);
if (strcmp(foodchoice, "A")==0)
{
orderItem[orderNumber].burgerItem[p].burgerType = A;
} else if (strcmp(foodchoice, "B")==0) {
orderItem[orderNumber].burgerItem[p].burgerType = B;
} else if (strcmp(foodchoice, "C")==0) {
orderItem[orderNumber].burgerItem[p].burgerType = C;
} else if (strcmp(foodchoice, "M")==0) {
orderItem[orderNumber].burgerItem[p].burgerType = M;
}
if (orderItem[orderNumber].burgerItem[p].burgerType == M)
{
continue;
}
//getProductPrice(orderItem, orderNumber, p);
//quantitySelect(orderItem, orderNumber, p);
//calculateTotalPrice(orderItem, orderNumber, p);
}
// printCurrentOrder(orderItem, orderNumber);
break;
case 2:
break;
case 3:
break;
case 4:
break;
default:
break;
}
} while (choice != 4);
}
switch
-문은 바로 뒤에 변수를 정의하는 것을 허용하지 않습니다 case
. 외부 를 정의 하고 어느 위치 에나 할당 할 수 있습니다 .orderNumber
int orderNumber;
switch (choice)
{
case 1:
orderNumber = getNumber(orderItem);
...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다