下面展示一些 内联代码片
。
部分源码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 商品结构体
typedef struct {
int id; // 商品编号
char name[20]; // 商品名称
float price; // 商品价格
int stock; // 商品库存量
} Commodity;
Commodity commoditys[100];
typedef struct BSTNode {
Commodity commodity; // 商品信息
Commodity data;
struct BSTNode *next;
struct BSTNode* left;
struct BSTNode* right;
} BSTNode;
// 二叉排序树节点
#define MAX_SIZE 1000
Commodity data[MAX_SIZE]; // 全局数组,用于存储商品信息
int size = 0; // 当前存储的商品数量
// 增加商品
void addCommodity() {
if (size >= MAX_SIZE) {
printf("仓库已满。\n");
return;
}
Commodity commodity;
// 输入商品信息
printf("请输入商品信息:\n");
printf("编号:");
scanf("%d", &commodity.id);
printf("名称:");
scanf("%s", commodity.name);
printf("价格:");
scanf("%f", &commodity.price);
printf("库存量:");
scanf("%d", &commodity.stock);
// 将商品信息添加到数组中
data[size++] = commodity;
printf("添加商品成功。\n");
}
// 显示商品
void displayCommodities() {
if (size == 0) {
printf("没有商品。\n");
return;
}
printf("编号\t名称\t价格\t库存量\n");
for (int i = 0; i < size; i++) {
printf("%d\t%s\t%.2f\t%d\n", data[i].id, data[i].name, data[i].price, data[i].stock);
}
}
// 删除商品
void deleteCommodity() {
int id;
printf("请输入要删除的商品编号:");
scanf("%d", &id);
int index = -1;
for (int i = 0; i < size; i++) {
if (data[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
printf("商品不存在。\n");
return;
}
for (int i = index; i < size - 1; i++) {
data[i] = data[i + 1];
}
size--;
printf("删除商品成功。\n");
}
// 修改商品
void modifyCommodity() {
int id;
printf("请输入要修改的商品编号:");
scanf("%d", &id);
int index = -1;
for (int i = 0; i < size; i++) {
if (data[i].id == id) {
index = i;
break;
}
}
if (index == -1) {
printf("商品不存在。\n");
return;
}
printf("请输入商品的新信息:\n");
printf("名称:");
scanf("%s", data[index].name);
printf("价格:");
scanf("%f", &data[index].price);
printf("库存量:");
scanf("%d", &data[index].stock);
printf("修改商品成功。\n");
}
// 快速排序
int partition(Commodity arr[], int low, int high) {
Commodity pivot = arr[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (arr[j].id < pivot.id) {
i++;
Commodity temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}