화물 관리 시스템 (데이터 구조 순서 표)
1 /* ( )*/
2 #include<string.h>
3 #include
4 #include
5 #define MAXSIZE 100
6 typedef struct
7 {
8 char name[11],no[11];
9 int num;
10 }goods;
11
12 typedef struct
13 {
14 goods data[MAXSIZE];
15 int len;
16 }SeqList;
17
18 /* */
19 void input(SeqList *L)
20 {
21 int i;
22 printf("
:");
23 scanf("%d",&(L->len));
24 printf("
、 、 :
");
25 printf(" :aaa 100 100
");
26 printf("
");
27 for(i=1;i<=L->len;i++)
28 {
29 scanf("%s%s%d",L->data[i].name,L->data[i].no,&L->data[i].num);
30 }
31 }
32
33 /* */
34 void run_over(SeqList *L)
35 {
36 int i;
37 printf("
----------- -----------
");
38 printf("
");
39 for(i=1;i<=L->len;i++)
40 {
41 printf("%5s%5s%4d
",L->data[i].name,L->data[i].no,L->data[i].num);
42 }
43 printf("--------------------------------
");
44 }
45
46 /* */
47 int search(SeqList *L,goods x)
48 {
49 int i=1;
50 while(i<=L->len&&(strcmp(L->data[i].no,x.no)!=0))
51 {
52 i++;
53 }
54 if(i>(L->len))
55 {
56 return 0;
57 }
58 else
59 {
60 return i;
61 }
62 }
63
64 /* */
65 void insert(SeqList *L,goods x)
66 {
67 int i=1,j;
68 while(i<=L->len&&(strcmp(L->data[i].no,x.no)<0))
69 {
70 i++;
71 }
72 if(L->len==MAXSIZE-1)
73 {
74 printf(" !");
75 }
76 else
77 {
78 for(j=L->len;j>=i;j--)
79 {
80 L->data[j+1]=L->data[j];
81 }
82 L->data[i]=x;
83 L->len++;
84 }
85 }
86
87 /* */
88 void storage(SeqList *L,goods x)
89 {
90 int k;
91 k=search(L,x);
92 if(k==0)
93 {
94 insert(L,x);
95 }
96 else
97 {
98 L->data[k].num=L->data[k].num+x.num;
99 }
100 }
101
102 /* */
103 void del(SeqList *L,goods x)
104 {
105 int i,j;
106 i=search(L,x);
107 for(j=i+1;j<=(L->len);j++)
108 {
109 L->data[j-1]=L->data[j];
110 }
111 L->len--;
112 }
113
114 /* */
115 void out(SeqList *L,goods x)
116 {
117 int i,j;
118 i=search(L,x);
119 if(i==0)
120 {
121 printf("
!
");
122 }
123 else if(L->data[i].num>x.num)
124 {
125 L->data[i].num=L->data[i].num-x.num;
126 }
127 else if(L->data[i].num==x.num)
128 {
129 del(L,x);
130 }
131 else if(L->data[i].num<x.num)
132 {
133 printf("
, %d。
",L->data[i].num);
134 printf("( 1, 0。)
");
135 printf(" :");
136 scanf("%d",&j);
137 if(j==1)
138 {
139 del(L,x);
140 printf("
! !
");
141 }
142 else
143 {
144 printf("
!
");
145 }
146 }
147 }
148
149 void menu()
150 {
151 printf("**********************************
");
152 printf("* *
");
153 printf("* 1----------------- *
");
154 printf("* 2----------------- *
");
155 printf("* 3----------------- *
");
156 printf("* 4--------------------- *
");
157 printf("* 5--------------------- *
");
158 printf("* 0------------------------- *
");
159 printf("**********************************
");
160 }
161
162 int main()
163 {
164 goods x;
165 int sel,k;
166 SeqList *L;
167 L=(SeqList *)malloc(sizeof(SeqList));
168 L->len=0;
169 do
170 {
171 menu();
172 printf(" ( :1):
");
173 scanf("%d",&sel);
174 switch(sel)
175 {
176 case 1:printf("
!
");
177 input(L);
178 break;
179 case 2:printf("
!
");
180 run_over(L);
181 break;
182 case 3:printf("
!
");
183 printf("
:
");
184 printf(" :");
185 scanf("%s",x.no);
186 k=search(L,x);
187 if(k==0)
188 {
189 printf("
。
");
190 }
191 else
192 {
193 printf("
");
194 printf("%5s%5s%4d
",L->data[k].name,L->data[k].no,L->data[k].num);
195 }
196 break;
197 case 4:printf("
!
");
198 printf("
、 、 :
");
199 printf("
");
200 scanf("%s%s%d",x.name,x.no,&x.num);
201 storage(L,x);
202 break;
203 case 5:printf("
!
");
204 printf("
、 、
");
205 printf("
");
206 scanf("%s%s%d",x.name,x.no,&x.num);
207 out(L,x);
208 break;
209 }
210 }while(sel!=0);
211 return 0;
212 }
다음으로 전송:https://www.cnblogs.com/xautlmx/p/3441353.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.