创建商品 goods 管理,商品属于用户所购买之物品,要求有以下属性 gid , gname , uid , price 完成以下功能: 1.展示商品功能 2.添加用户的商品(要求由用户提供商品信息) 3.删除用户的商品 根据上述要求给出完整的可运行代码,要求使用c语言实现
时间: 2024-09-11 07:08:52 浏览: 43
GID.zip_GID_GID画网格_MFC GID绘图_site:www.pudn.com
由于C语言不是面向对象的编程语言,我们不能直接创建类来表示商品和用户。但是我们可以使用结构体(struct)来表示商品,并通过数组或者链表来管理这些结构体实例。以下是使用C语言实现上述要求的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 商品结构体定义
typedef struct {
int gid;
char gname[50];
int uid;
float price;
} Goods;
// 商品列表数组大小
#define MAX GOODS 100
// 商品数组
Goods goodsList[MAX];
int goodsCount = 0;
// 展示商品功能
void showGoods() {
printf("商品列表:\n");
for (int i = 0; i < goodsCount; i++) {
printf("商品ID: %d, 商品名称: %s, 用户ID: %d, 价格: %.2f\n",
goodsList[i].gid, goodsList[i].gname, goodsList[i].uid, goodsList[i].price);
}
}
// 添加用户的商品
void addGoods(int gid, const char* gname, int uid, float price) {
if (goodsCount < MAX) {
goodsList[goodsCount].gid = gid;
strncpy(goodsList[goodsCount].gname, gname, sizeof(goodsList[goodsCount].gname) - 1);
goodsList[goodsCount].uid = uid;
goodsList[goodsCount].price = price;
goodsCount++;
} else {
printf("商品列表已满,无法添加新商品。\n");
}
}
// 删除用户的商品
void deleteGoods(int gid) {
int i;
for (i = 0; i < goodsCount; i++) {
if (goodsList[i].gid == gid) {
break;
}
}
if (i < goodsCount) {
for (int j = i; j < goodsCount - 1; j++) {
goodsList[j] = goodsList[j + 1];
}
goodsCount--;
printf("商品删除成功。\n");
} else {
printf("未找到商品ID为 %d 的商品。\n", gid);
}
}
int main() {
// 示例操作
addGoods(1, "商品A", 101, 10.99);
addGoods(2, "商品B", 102, 15.50);
showGoods();
deleteGoods(1);
showGoods();
return 0;
}
```
这段代码定义了一个商品结构体`Goods`,包含所需属性,并提供了展示商品、添加商品和删除商品的基本功能。这只是一个简单的实现,没有涉及到持久化存储、错误处理和用户交互等高级特性。
阅读全文