#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#pragma warning(disable:4996)

#define MAX_STACK_SIZE 100

#define MAX_STRING 100

typedef struct {

int student_no;

char name[MAX_STRING];

char address[MAX_STRING];

} element;


typedef struct {

element stack[MAX_STACK_SIZE];

int top;

} StackType;



// 공백 상태 검출 함수

int is_empty(StackType *s)

{

return (s->top == -1);

}

// 포화 상태 검출 함수

int is_full(StackType *s)

{

return (s->top == (MAX_STACK_SIZE - 1));

}

// 삽입 함수

void push(StackType *s)

{

if (is_full(s)) {

fprintf(stderr, "스택 포화 에러 ");

return;

}

else s->stack[(s->top)++];

}

// 삭제 함수

void pop(StackType *s)

{

if (is_empty(s)) {

fprintf(stderr, "스택 공백 에러 ");

exit(1);

}

else return s->stack[(s->top)--];

}

// 피크함수

element peek(StackType *s)

{

if (is_empty(s)) {

fprintf(stderr, "스택 공백 에러 ");

exit(1);

}

else return s->stack[s->top];

}

void display(StackType *s)

{

if (is_empty(s)) {

printf("공백 스택 ");

}

for (int i = 0; i <= s->top; i++) {

printf("name:%s ", s->stack[i].name);

printf("address:%s ", s->stack[i].name);

printf("student number: %d ", s->stack[i].student_no);

}

}

// 주함수

void main()

{

StackType ie;

is_empty(&ie);

printf("스택에 2개요소 추가 ");

push(&ie, 20053001, "HongGildong", "seoul");

push(&ie, 20053001, "Kimsudong", "Daejeon");

display(&ie);


printf("스택에 1개요소를 삭제 ");

pop(&ie);

display(&ie);


printf("스택에 1개요소를 삭제 ");

pop(&ie);

display(&ie);

}

여기서 삽입함수를 바꺼서 메인출력할려고하는데 삽입함수를 어떻게 바꺼야하죠?