2014-01-12 3 views
0

죄송합니다. 눈이 많이 내립니다.C 언어의 다른 구문

case '2': 
    printf("\n>>> Desligar equipamento <<<"); 
    do { 
     printf("\nNumero? ");scanf("%d",&nr); 
    } 
    while (nr<1 || nr>99); 

    if (retirar(nr, f_equipamento_uso, f_categoria)){ 
     registarHora(n, 0, equipamento, data); //moved from the else 
     unblanker(nr, f_equipamento_uso, f_categoria);    
     //Imprimir Eq Disponiveis para verificar função abaixo 
     printf("\nRemover dos Equipamentos Disponiveis? S/N"); 
     scanf("%c", &sn); 
     getch(); 

     if (sn == 'S' || sn == 's') { 
      printf("should remove from dsp"); 
      getch(); 
      //retirar(nr, f_equipamento_disp, f_categoria); 
     } 
     else { 
     //This is the **bold else** 
     } 
    else { 
     printf("Equipamento nao existe."); 
     getch();  
    }     
    } 
    break; 

거기에는 2 명이 있습니다. 굵은 글씨체 제거 컴파일 할 수는 있지만 마지막 if에 대해 "elses"하는 것처럼 위장한 것처럼 작동하지 않습니다. 내가 제거하지 않으면 , 나는 구문 오류가

+3

을 당신은 닫는 중괄호를'} 놓쳤다 'if'에 대해서. –

+1

방금'}' – qrdl

+0

오 잘못 놓았습니다. 문제가되는 것 대신에 끝이났습니다. – Pedro

답변

2

당신은

else { 
     printf("Equipamento nao existe."); 
     getch();  
    } 

전에 }을 삽입해야이 그런 코드가이 구조에 다음과 같이 표시됩니다

case constant-expression: 

do 
{ 
} while(expression); 

if (expression) 
{ 

    if (expression) 
    { 
    } 
    else 
    { 
    } 

} 
else 
{ 
} 

} 

break;