删除货物信息C语言程序,c语言仓库货物信息管理系统
时间: 2023-12-29 18:04:25 浏览: 43
以下是一个简单的C语言程序,可以实现删除指定货物信息的功能:
```c
#include <stdio.h>
#include <string.h>
struct Goods {
char name[50];
int quantity;
float price;
};
int main() {
int n = 0; // 货物数量
struct Goods goods[100]; // 最多存放100个货物信息
char name[50]; // 待删除货物的名称
// 读入所有货物信息
printf("请输入货物数量:");
scanf("%d", &n);
printf("请依次输入每个货物的名称、数量和单价(用空格分隔):\n");
for (int i = 0; i < n; i++) {
scanf("%s %d %f", goods[i].name, &goods[i].quantity, &goods[i].price);
}
// 读入待删除货物的名称
printf("请输入待删除货物的名称:");
scanf("%s", name);
// 查找待删除货物的位置
int pos = -1;
for (int i = 0; i < n; i++) {
if (strcmp(name, goods[i].name) == 0) {
pos = i;
break;
}
}
// 删除货物信息
if (pos >= 0) {
for (int i = pos; i < n - 1; i++) {
goods[i] = goods[i + 1];
}
n--;
printf("已删除货物:%s\n", name);
} else {
printf("找不到货物:%s\n", name);
}
// 输出剩余货物信息
printf("剩余货物信息如下:\n");
for (int i = 0; i < n; i++) {
printf("%s %d %.2f\n", goods[i].name, goods[i].quantity, goods[i].price);
}
return 0;
}
```
该程序使用结构体存储每个货物的名称、数量和单价,并使用循环读入所有货物信息。然后,程序读入待删除货物的名称,并查找其位置。如果找到,则将该货物之后的所有货物信息依次向前移动一个位置,最后将货物数量减一。如果找不到,则输出提示信息。最后,程序输出剩余货物信息。