用C语言写一个商品信息的增添和删除
时间: 2023-06-08 12:04:12 浏览: 51
好的,这个问题属于技术问题,我可以帮您回答。在C语言中,可以使用结构体来表示商品信息,然后使用链表来存储多个商品信息。以下是示例代码:
```
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
// 商品信息结构体
typedef struct goods {
char name[20]; // 商品名
double price; // 商品价格
int quantity; // 商品数量
struct goods *next; // 下一个商品信息
} Goods;
// 头结点
Goods *head = NULL;
// 增加商品信息
void addGoods() {
char name[20];
double price;
int quantity;
printf("请输入商品信息:\n");
printf("商品名:");
scanf("%s", name);
printf("价格:");
scanf("%lf", &price);
printf("数量:");
scanf("%d", &quantity);
// 创建商品信息结构体
Goods *newGoods = (Goods*)malloc(sizeof(Goods));
strcpy(newGoods->name, name);
newGoods->price = price;
newGoods->quantity = quantity;
newGoods->next = head;
// 更新头结点
head = newGoods;
printf("商品信息已添加成功!\n");
}
// 删除商品信息
void deleteGoods() {
char name[20];
Goods *p = head;
Goods *prev = head;
printf("请输入要删除的商品名:");
scanf("%s", name);
// 找到要删除的商品信息
while(p != NULL) {
if(strcmp(p->name, name) == 0) {
break;
}
prev = p;
p = p->next;
}
if(p == NULL) {
printf("没找到该商品信息!\n");
return;
}
// 删除商品信息
if(p == head) {
head = head->next;
} else {
prev->next = p->next;
}
free(p);
printf("商品信息已删除成功!\n");
}
int main() {
int choice;
while(1) {
printf("请选择操作:\n");
printf("1. 增加商品信息\n");
printf("2. 删除商品信息\n");
printf("3. 退出\n");
printf("请选择:");
scanf("%d", &choice);
switch(choice) {
case 1:
addGoods();
break;
case 2:
deleteGoods();
break;
case 3:
printf("程序已退出!\n");
return 0;
default:
printf("无效的选择!\n");
}
}
return 0;
}
```
可以使用菜单来选择增加商品信息和删除商品信息。使用链表来存储多个商品信息,每个商品信息包含商品名、价格和数量等信息。增加商品信息会将新的商品信息插入到链表的头部,删除商品信息会在链表中查找要删除的商品信息并将其删除。