仓库管理系统c语言商品信息管理
时间: 2023-07-03 08:15:36 浏览: 102
好的,商品信息管理是仓库管理系统的核心功能之一。在C语言中,可以使用结构体来表示每个商品的信息,例如:
```
struct product{
char name[20]; //商品名称
float price; //商品单价
int stock; //商品库存
char add_time[20]; //商品入库时间
char out_time[20]; //商品出库时间
};
```
通过定义这样的结构体,可以方便地对每个商品的信息进行存储和管理。可以在程序中定义一个存储所有商品信息的数组,并将其写入文件中,以便在程序关闭时保存数据。在程序启动时,可以读取文件中的数据并将其加载到内存中,以便程序可以使用这些数据。
接下来,可以编写一些函数来实现商品信息管理的各项功能,例如:
1. 添加商品信息:
```
void add_product(struct product p, int num){
FILE *fp;
fp = fopen("product.dat", "ab");
for(int i=0; i<num; i++){
printf("请输入商品名称:");
scanf("%s", p.name);
printf("请输入商品单价:");
scanf("%f", &p.price);
printf("请输入商品库存:");
scanf("%d", &p.stock);
printf("请输入商品入库时间:");
scanf("%s", p.add_time);
printf("请输入商品出库时间:");
scanf("%s", p.out_time);
fwrite(&p, sizeof(p), 1, fp);
}
fclose(fp);
}
```
这个函数可以向文件中添加指定数量的商品信息,将商品信息写入文件中。
2. 查询商品信息:
```
void search_product(char pname[]){
FILE *fp;
struct product p;
fp = fopen("product.dat", "rb");
int flag = 0;
while(fread(&p, sizeof(p), 1, fp)){
if(strcmp(p.name, pname) == 0){
printf("商品名称:%s\n", p.name);
printf("商品单价:%f\n", p.price);
printf("商品库存:%d\n", p.stock);
printf("商品入库时间:%s\n", p.add_time);
printf("商品出库时间:%s\n", p.out_time);
flag = 1;
break;
}
}
if(flag == 0){
printf("没有找到该商品!\n");
}
fclose(fp);
}
```
这个函数可以根据商品名称查询商品信息。
3. 修改商品信息:
```
void modify_product(char pname[]){
FILE *fp1, *fp2;
struct product p;
fp1 = fopen("product.dat", "rb");
fp2 = fopen("temp.dat", "wb");
int flag = 0;
while(fread(&p, sizeof(p), 1, fp1)){
if(strcmp(p.name, pname) == 0){
printf("请输入新的商品名称:");
scanf("%s", p.name);
printf("请输入新的商品单价:");
scanf("%f", &p.price);
printf("请输入新的商品库存:");
scanf("%d", &p.stock);
printf("请输入新的商品入库时间:");
scanf("%s", p.add_time);
printf("请输入新的商品出库时间:");
scanf("%s", p.out_time);
fwrite(&p, sizeof(p), 1, fp2);
flag = 1;
}else{
fwrite(&p, sizeof(p), 1, fp2);
}
}
if(flag == 0){
printf("没有找到该商品!\n");
}else{
printf("商品信息已修改!\n");
}
fclose(fp1);
fclose(fp2);
remove("product.dat");
rename("temp.dat", "product.dat");
}
```
这个函数可以根据商品名称修改商品信息。
以上就是实现商品信息管理的一些示例代码,可以根据实际需求进行修改和调整。
阅读全文