2014-02-06 4 views
0

это мой код ... Я получаю эту ошибку в 'void push (int item, STACK * S)'.) ожидаемая ошибка в программе стека

#include<stdio.h> 
#include<conio.h> 
#include<process.h> 
#define STACK_SIZE 5 

struct stack 
{ 
int arr[STACK_SIZE]; 
int top; 
}; 


type def struct stack,STACK; 
void push(int item, STACK *S) 
{ 
if(S->top==STACK_SIZE-1) 
{ 
    printf("stack overflow\n"); 
    return; 
} 
S->top++; 
S->arr[S->top]=item; 
    } 

    void pop(STACK *S) 
{ 
int item; 
if(S->top==-1) 
{ 
    printf("stack overflow\n"); 
    return; 
} 

printf("deleted element is %d \n ",S->arr[S->top--]); 
    } 

void display(STACK *S) 
{ 
int i; 
if(S->top==-1) 
{ 
    printf("stack underflow\n"); 
    return; 
} 

printf("the contest of the stack \n"); 
for(i=s->top;i>=0;i--) 
{ 
    printf("%d\n",S->arr[i]); 
} 
    } 


    void main() 
    { 
int item,ch; 
STACK S; 
clrsacr(); 
S.to=-1; 
for(;;) 
{ 
    printf("1:push\n 2:pop\n 3:display\n 4:exit\n"); 
    printf("enter the choice\n"); 
    scanf("%d",ch); 

    switch(ch) 
    { 
     case 1: printf("enter the item to be inserted\n"); 
      scanf("%d",&item); 
      push(item,&S); 
      break; 

     case 2: pop(&s); 
      break; 

     case 3: display(&S); 
      break; 

     default: exit(0); 
    } 
} 
getch(); 
    } 

в этом я получаю другую ошибку ... Декларация завершается неправильно в «типа стек четкости структуры, STACK,..» Я получил эту ошибку при компиляции этой программы в Turbo C я немного новичок . стеки

+0

Читали ли вы какие-либо 'книгу программы C' раньше? – sujin

+0

Я хорош с C ... просто изучаю стек сейчас ... – decoder

+0

'typedef' не' type def' и удалить ',' – sujin

ответ

1
type def struct stack,STACK; 
    ^typedef is a keyword not type def 

Использование: -

typedef struct stack STACK;

+0

я удалил место, все еще получая такую ​​же ошибку .. – decoder

+0

@ user3280448 тоже запятая, также несколько других ошибок тоже – P0W

+0

получил это ... спасибо ... можно немного объяснить .. – decoder

1

Удалить space и , в ЬурейеЕ

изменение

typedef struct stack STACK; 

вместо

type def struct stack,STACK; 

Также вы можете структуру определение типа во в

typedef struct stack 
{ 
    int arr[STACK_SIZE]; 
    int top; 
}STACK; 
1

Изменение type def struct stack,STACK; в typedef struct stack STACK;

Также изменить

S.to = -1 ;

в

S.top= -1 ;

и его clrscr(); вместо clrsacr();

Смежные вопросы