-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path21500080_main.c
127 lines (118 loc) · 3.5 KB
/
21500080_main.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include "21500080_manager.h"
#include <string.h>
#include <stdlib.h>
int selectMenu(){
int menu;
printf("\n*** 과자 관리 프로그램 ***\n");
printf("1. 과자 조회\n");
printf("2. 과자 추가\n");
printf("3. 과자 수정\n");
printf("4. 과자 삭제\n");
printf("5. 파일 저장\n");
printf("6. 과자 검색\n");
printf("0. 종료\n\n");
printf("=> 원하는 메뉴는? ");
scanf("%d", &menu);
return menu;
}
int main(void){
Snack *sp[100];
int curcount=0;
//새로 입력받는 정보
// Snack s;
int count = 0, menu;
//파일 불러오기
count=loadData(sp);
curcount=count;
while (1){
menu = selectMenu();
fflush(stdin);
if (menu == 0) break;
if (menu == 1){
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
if(count>0){
listSnack(sp,curcount);
}
else printf("데이터가 없습니다.\n");
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
}
else if (menu == 2){
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
sp[curcount]=(Snack*)malloc(sizeof(Snack));
count+=addSnack(sp[curcount++]);
printf("==> 추가됨!\n");
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
}
else if (menu == 3){
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
int no=selectDataNo(sp,curcount);
if(no==0){
printf("=> 취소됨!\n");
continue;
}
int updateok;
printf("정말로 수정하시겠습니까?(수정 : 1)");
scanf("%d",&updateok);
if(updateok==1){
int flag=updateSnack(sp[no-1]);
if(flag==1) printf("수정성공!\n");
}
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
}
else if (menu == 4){
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
int no=selectDataNo(sp,curcount);
if(no==0){
printf("=> 취소됨!\n");
continue;
}
int deleteok;
printf("정말로 삭제하시겠습니까?(삭제 : 1)");
scanf("%d",&deleteok);
if(deleteok==1){
if(sp[no-1]) free(sp[no-1]);
sp[no-1]=NULL;
count-=1;
printf("==> 삭제됨\n");
}
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
}
else if (menu==5){
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
if(count==0) printf("데이터가 없습니다!\n");
else saveData(sp,curcount);
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
}
else if (menu==6){
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
search(sp, count);
#ifdef DEBUG
printf("Debug : %s %s %s %d\n", __DATE__, __TIME__, __FILE__,__LINE__);
#endif
}
}
printf("종료됨!\n");
return 0;
}