用c语言实现进销存管理系统代码要求:1.了解进销管理系统的各种信息,然后确定系统要实现的功能,并对这些功能能否实现进行详细的分析。 2. 进销管理系统的内容包括:产品名称、描述、数量和价格等。 3.对进销管理系统的各个模块进行划分,确定各模块所要实现的功能。 4.对进销管理系统模块进行描述,确定各个模块之间的关系。 5.使用函数调用方式完成各模块调用,采用文件读取的方式完成数组存储。 课程设计要求: 1.浏览产品的信息 2.增加商品库存,相当于进货 3.减少商品库存,相当于销售 4.查找商品库存内容
时间: 2024-02-25 11:59:45 浏览: 158
以下是一个简单的C语言进销存管理系统的代码实现。该系统包含两个模块:商品信息管理模块和商品库存查询模块。其中,商品信息管理模块包括浏览商品信息、增加商品库存、减少商品库存等操作,商品库存查询模块可以根据商品名称或其他关键字进行查询,返回对应商品的信息。
商品信息管理模块代码:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_PRODUCTS 100 // 最大商品数
// 商品结构体
typedef struct Product {
char name[20]; // 商品名称
char desc[50]; // 商品描述
int quantity; // 商品数量
float price; // 商品价格
} Product;
Product products[MAX_PRODUCTS]; // 商品数组
int num_products = 0; // 商品数量
// 浏览商品信息
void browse_products() {
printf("商品名称\t商品描述\t商品数量\t商品价格\n");
printf("---------------------------------------------------\n");
for (int i = 0; i < num_products; i++) {
printf("%s\t%s\t%d\t%.2f\n", products[i].name, products[i].desc, products[i].quantity, products[i].price);
}
}
// 增加商品库存
void add_product() {
if (num_products >= MAX_PRODUCTS) {
printf("商品数量已达上限,无法添加新商品\n");
return;
}
printf("请输入商品名称:");
scanf("%s", products[num_products].name);
printf("请输入商品描述:");
scanf("%s", products[num_products].desc);
printf("请输入商品数量:");
scanf("%d", &products[num_products].quantity);
printf("请输入商品价格:");
scanf("%f", &products[num_products].price);
printf("商品添加成功!\n");
num_products++;
}
// 减少商品库存
void sell_product() {
char name[20];
printf("请输入要销售的商品名称:");
scanf("%s", name);
for (int i = 0; i < num_products; i++) {
if (strcmp(products[i].name, name) == 0) {
int quantity;
printf("请输入销售数量:");
scanf("%d", &quantity);
if (quantity > products[i].quantity) {
printf("库存不足,无法完成销售!\n");
return;
}
products[i].quantity -= quantity;
printf("销售成功!\n");
return;
}
}
printf("未找到该商品!\n");
}
// 存储商品信息到文件
void save_products() {
FILE *fp = fopen("products.dat", "wb");
fwrite(&num_products, sizeof(int), 1, fp);
fwrite(products, sizeof(Product), num_products, fp);
fclose(fp);
}
// 从文件中读取商品信息
void load_products() {
FILE *fp = fopen("products.dat", "rb");
if (fp == NULL) {
return;
}
fread(&num_products, sizeof(int), 1, fp);
fread(products, sizeof(Product), num_products, fp);
fclose(fp);
}
int main() {
load_products(); // 从文件中读取商品信息
int choice;
do {
printf("\n商品管理系统\n");
printf("1. 浏览商品信息\n");
printf("2. 增加商品库存\n");
printf("3. 减少商品库存\n");
printf("4. 退出系统\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
browse_products();
break;
case 2:
add_product();
break;
case 3:
sell_product();
break;
case 4:
save_products(); // 存储商品信息到文件
printf("谢谢使用,再见!\n");
break;
default:
printf("无效操作,请重新选择!\n");
break;
}
} while (choice != 4);
return 0;
}
```
商品库存查询模块代码:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_PRODUCTS 100 // 最大商品数
// 商品结构体
typedef struct Product {
char name[20]; // 商品名称
char desc[50]; // 商品描述
int quantity; // 商品数量
float price; // 商品价格
} Product;
Product products[MAX_PRODUCTS]; // 商品数组
int num_products = 0; // 商品数量
// 根据关键字查询商品信息
void search_products() {
char keyword[20];
printf("请输入查询关键字:");
scanf("%s", keyword);
printf("商品名称\t商品描述\t商品数量\t商品价格\n");
printf("---------------------------------------------------\n");
for (int i = 0; i < num_products; i++) {
if (strstr(products[i].name, keyword) != NULL || strstr(products[i].desc, keyword) != NULL) {
printf("%s\t%s\t%d\t%.2f\n", products[i].name, products[i].desc, products[i].quantity, products[i].price);
}
}
}
// 从文件中读取商品信息
void load_products() {
FILE *fp = fopen("products.dat", "rb");
if (fp == NULL) {
return;
}
fread(&num_products, sizeof(int), 1, fp);
fread(products, sizeof(Product), num_products, fp);
fclose(fp);
}
int main() {
load_products(); // 从文件中读取商品信息
search_products();
return 0;
}
```
以上是一个简单的C语言进销存管理系统的代码实现。该系统实现了浏览商品信息、增加商品库存、减少商品库存和查找商品库存等功能,使用了函数调用和文件读取的方式完成各模块调用和数组存储。您可以根据自己的需求和实际情况进行修改和完善。
阅读全文