修改商品信息

修改商品信息包括通过键盘录入并修改商品种类、商品编号、名称、数量、单价等基本信息的功能。根据实际情况,可修改已有商品信息。

代码

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
void modify(struct product a[N])
{
int x,i,y;
char m;
printf("-----------------------------------------------------------");
if(input==0)//判断input的值来确定是否有商品
{
printf("无可销售的商品信息!\n");
return;
}
printf("请输入需要修改的商品编号: ");
scanf("%d",&x);
for(i=0;i<n;i++)
{
if(x==a[i].num)
{
printf("\n商品编号\t商品名称\t商品数量\t商品单价\n");
printf("%d\t\t%s\t\t%d\t\t%.2f\t\t\n",a[i].num,a[i].name,a[i].quantity,a[i].price);
printf("\n--------------------------------------------------------------");
printf("\nQ.退出 A.修改名称 B.修改数量 C.修改单价\n请选择:");
getchar();
scanf("%s",&m);
switch(m)
{
case 'a':
case 'A':
printf("请输入%s商品的名称:",a[i].name);
scanf("%s",a[i].name);
printf("\n--------------------------------------------------------------------");
printf("\n商品编号\t商品名称\t商品数量\t商品单价\n");
printf("%d\t\t%s\t\t%d\t\t%.2f\t\t\n",a[i].num,a[i].name,a[i].quantity,a[i].price);
break;
case 'b':
case 'B':
printf("\t商品数量:");
scanf("%d",&a[i].quantity);
printf("\n--------------------------------------------------------------------");
printf("\n商品编号\t商品名称\t商品数量\t商品单价\n");
printf("%d\t\t%s\t\t%d\t\t%.2f\t\t\n",a[i].num,a[i].name,a[i].quantity,a[i].price);
break;
case 'c':
case 'C':
printf("\t商品单价:");
scanf("%lf",&a[i].price);
printf("\n--------------------------------------------------------------------");
printf("\n商品编号\t商品名称\t商品数量\t商品单价\n");
printf("%d\t\t%s\t\t%d\t\t%.2f\t\t\n",a[i].num,a[i].name,a[i].quantity,a[i].price);
break;
case 'q':
case 'Q':
return;
default:printf("\n\t\t输入错误\n");
return;
}
}
else printf("\n\t\t查无此商品\n");

}

}

增加删除商品信息

增加删除商品信息包括通过键盘录入商品种类、商品编号、名称、数量、单价等基本信息的功能。根据实际情况,可增加商品录入信息,删除功能可删除已有的商品

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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
void add(struct product a[N])

{

int temp,i;

printf("\n\t请输入所添加商品的编号:");

scanf("%d",&temp);

for(i=0;i<n;i++)

{

if(temp==a[i].num)

{

printf("\n\t%d商品已存在!\n",temp);

return;

}

}

n++;

a[i].num=temp;

printf("\n\t请输入%d商品的名称:",temp);

scanf("%s",a[i].name);

printf("\n\t请输入%d商品的数量:",temp);

scanf("%d",&a[i].quantity);

printf("\n\t请输入%d商品的单价:",temp);

scanf("%f",&a[i].price);

printf("\n...............................................................................");

printf("\n商品编号\t商品名称\t商品数量\t商品单价\n");

printf("%d\t\t%s\t\t%d\t\t%f\t\t\n", a[i].num, a[i].name, a[i].quantity, a[i].price);

input=1;

}

void Delete(struct product a[N])

{

int temp,i,j;

char choice;

if(input==0)

{

printf("\n\t\t无商品信息!\n");

return;

}

printf("\n\t请输入要删除商品的编号:");

scanf("%d",&temp);

for(i=0;i<n;i++)

{

if(temp==a[i].num)

{

printf("\n商品编号\t商品名称\t商品数量\t商品单价\n");

printf("%d\t\t%s\t\t%d\t\t%f\t\t\n", a[i].num, a[i].name, a[i].quantity, a[i].price);
printf("\n\t确定要删除该商品吗?(Y or N)");

getchar();

choice = getchar();

switch (choice)

{

case 'y':

case 'Y':

for(j=i+1;j<n;j++)//依次往前移动后续商品,覆盖当前商品,实现删除

a[j-1]=a[j];//商品信息全部移位

n--;

printf("\n\t%d商品已删除!\n",temp);

if(n==0)//当删除的是系统中最后一件商品时,需要设置为系统无商品

input=0;

return;

case 'n':

case 'N':

return;

default:

printf("\n\t输入错误!\n");

return;

}

}

}

printf("\n\t无此编号商品!\n");

}
void edit(struct product a[N])

{

char m;

printf("\n\t请选择:Q.退出\tA.添加商品信息\tB.删除商品信息 ");

getchar();

scanf("%c",&m);

switch(m)

{

case 'q':

case 'Q':

return;

case 'a':

case 'A':

add(a);

break;

case 'b':

case 'B':

Delete(a);

break;

default:

puts("\n\t输入错误!\n");

}

}

二级菜单代码简洁