用C语言的结构体编写汽车配件管理系统,该系统主要包括管理员用户和普通用户。其中管理员模块功能主要包括(管理、录入、产品详细信息、信息提交、修改);普通用户模块功能主要包括( 产品信息预览、用户端查看,可以读取文件和记录文件。
时间: 2023-12-23 14:04:46 浏览: 132
好的,以下是一个简单的用 C 语言的结构体编写的汽车配件管理系统示例,包括管理员和普通用户两个模块:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_PARTS 100 // 最大配件数
// 配件结构体
struct part {
int number; // 配件编号
char name[50]; // 配件名称
int quantity; // 配件数量
double price; // 配件价格
};
// 管理员用户模块函数
void add_part(struct part inventory[], int *num_parts); // 录入配件信息
void modify_part(struct part inventory[], int num_parts); // 修改配件信息
// 普通用户模块函数
void display_part(struct part inventory[], int num_parts); // 产品信息预览
int main() {
struct part inventory[MAX_PARTS]; // 配件库存
int num_parts = 0; // 当前配件数
int choice; // 用户选择
do {
// 管理员操作菜单
printf("\n管理员操作:\n");
printf("1. 录入配件信息\n");
printf("2. 修改配件信息\n");
// 普通用户操作菜单
printf("\n普通用户操作:\n");
printf("3. 产品信息预览\n");
// 公共操作菜单
printf("\n0. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 0:
printf("谢谢使用!\n");
break;
case 1:
add_part(inventory, &num_parts);
break;
case 2:
modify_part(inventory, num_parts);
break;
case 3:
display_part(inventory, num_parts);
break;
default:
printf("无效的操作!\n");
break;
}
} while (choice != 0);
return 0;
}
// 录入配件信息
void add_part(struct part inventory[], int *num_parts) {
if (*num_parts == MAX_PARTS) {
printf("库存已满,无法录入更多配件信息!\n");
return;
}
struct part new_part;
printf("请输入配件编号:");
scanf("%d", &new_part.number);
// 检查是否已存在该配件编号
for (int i = 0; i < *num_parts; i++) {
if (inventory[i].number == new_part.number) {
printf("该配件编号已存在!\n");
return;
}
}
printf("请输入配件名称:");
scanf("%s", new_part.name);
printf("请输入配件数量:");
scanf("%d", &new_part.quantity);
printf("请输入配件价格:");
scanf("%lf", &new_part.price);
inventory[*num_parts] = new_part;
(*num_parts)++;
}
// 修改配件信息
void modify_part(struct part inventory[], int num_parts) {
int number;
printf("请输入要修改的配件编号:");
scanf("%d", &number);
int found = 0;
for (int i = 0; i < num_parts; i++) {
if (inventory[i].number == number) {
printf("请输入新的配件名称:");
scanf("%s", inventory[i].name);
printf("请输入新的配件数量:");
scanf("%d", &inventory[i].quantity);
printf("请输入新的配件价格:");
scanf("%lf", &inventory[i].price);
found = 1;
break;
}
}
if (!found) {
printf("未找到该配件编号!\n");
}
}
// 产品信息预览
void display_part(struct part inventory[], int num_parts) {
if (num_parts == 0) {
printf("配件库存为空!\n");
return;
}
printf("编号\t名称\t数量\t价格\n");
for (int i = 0; i < num_parts; i++) {
printf("%d\t%s\t%d\t%.2f\n", inventory[i].number, inventory[i].name, inventory[i].quantity, inventory[i].price);
}
}
```
以上代码仅为示例,实际的汽车配件管理系统需要根据具体需求进行修改和完善。
阅读全文