C语言编写仓库管理系统
来源:互联网 发布:区块链下的网络拓扑 编辑:程序博客网 时间:2024/05/17 00:55
C语言仓库管理系统
include
include
include
include
struct data
{
int amount; // 数量
char name[20]; // 名称
int num; // 编号
}food[100];
int S=0; //货物数
//入库函数
void input()
{
int i=0;
char c;
while(1)
{
system(“cls”);
printf(” 物品%d\n”,++S);
printf(“请输入物品编号:”);
scanf(“%d”,&food[i].num);
printf(“请输入物品名称:”);
scanf(“%s”,&food[i].name);
printf(“请输入物品数量:”);
scanf(“%d”,&food[i].amount);
printf(“是否继续入库(Y/N):”);
scanf(” %c”,&c);
i++;
if(c==’N’||c==’n’) break;
}
}
//出库函数
void output()
{
int a,b,c,i,j;
char d;
char _name[20];
while(1)
{
system(“cls”);
printf(“\t\t1、按编号出库\n”);
printf(“\t\t2、按名称出库\n”);
printf(“\t\t0、返回\n”);
printf(“\t\t请选择:”);
scanf(“%d”,&a);
if(a==1)
{
printf(“请输入出货货物的编号:”);
scanf(“%d”,&b);
printf(“\n”);
for(i=0;i<\S;i++)
{
if(b==food[i].num) j=i;
}
if(food[j].amount>0)
{
printf(“请输入出货量:”);
scanf(“%d”,&c);
if(c>\food[j].amount)
printf(“货物不足\n”);
else
{
food[j].amount-=c;
printf(“编号%d货物成功出货!\n货物剩余%d\n”,food[j].num,food[j].amount);
}
}
else
{
printf(“此货物为零\n”);
}
}
if(a==2)
{
printf(“请输入出货货物的名称:”);
scanf(“%s”,_name);
printf(“\n”);
for(i=0;i<\S;i++)
{
if(strcmp(food[i].name,_name)==0) j=i;
}
if(food[j].amount>\0)
{
printf(“请输入出货量:”);
scanf(“%d”,&c);
if(c>\food[j].amount)
printf(“货物不足\n”);
else
{
food[j].amount-=c;
printf(“编号%d货物成功出货!\n货物剩余%d\n”,food[j].num,food[j].amount);
}
}
else
{
printf(“此货物为零\n”);
}
}
else if(a==0) break;
printf(“是否继续出库(Y/N):”);
scanf(” %c”,&d);
if(d==’N’||d==’n’) break;
}
}
//货物出库和入库
void current()
{
int a;
system(“cls”);
printf(“\t\t1、货物入库\n”);
printf(“\t\t2、货物出库\n”);
printf(“\t\t0、返回\n”);
printf(“\t\t请选择:”);
scanf(“%d”,&a);
if(a==1)
{
input();
}
else if(a==2)
{
output();
}
}
//查找函数
void search()
{
int i,a,b;
char c;
char _name[20];
while(1)
{
system(“cls”);
printf(“\t\t1、按编号查找\n”);
printf(“\t\t2、按名称查找\n”);
printf(“\t\t0、返回\n”);
printf(“\t\t请选择:”);
scanf(“%d”,&a);
if(a==1)
{
printf(“请输入需要查询货物的编号:”);
scanf(“%d”,&b);
printf(“\n”);
for(i=0;i<\S;i++)
{
if(b==food[i].num) break;
}
if(i<\S)
printf(“编号:%d\n名称:%s\n数量:%d\n”,food[i].num,food[i].name,food[i].amount);
else
printf(“未找到此编号\n”);
printf(“是否继续查找(Y/N): “);
scanf(” %c”,&c);
if(c==’N’||c==’n’) break;
}
else if(a==2)
{
printf(“请输入需要查询货物的名称:”);
scanf(“%s”,&_name);
printf(“\n”);
for(i=0;i<\S;i++)
{
if(strcmp(_name,food[i].name)==0) break;
}
if(i<\S)
printf(“编号:%d\n名称:%s\n数量:%d\n”,food[i].num,food[i].name,food[i].amount);
else
printf(“未找到此名称\n”);
printf(“是否继续查找(Y/N): “);
scanf(” %c”,&c);
if(c==’N’||c==’n’) break;
}
else if(a==0) break;
}
}
//显示函数
void show()
{
int i;
char c;
system(“cls”);
printf(“\t编号\t名称\t数量\n”);
for(i=0; i<\S; i++)
{
printf(“\t%d\t%s\t%d”,food[i].num,food[i].name,food[i].amount);
}
printf(“\n\n”);
printf(“按回车键返回!”);
c=getchar();
c=getchar();
}
char file[20]; //文件名,全局变量
//打开文件
void open()
{
FILE *fp;
int i;
char c;
system(“cls”);
printf(“输入打开的文件名:\n”);
scanf(“%s”,file);
if((fp=fopen(file,”rb”))==NULL)
{
printf(“cannot open infile\n”);
}
if(fread(&S,sizeof(int),1,fp)!=1)
{
if(feof(fp))
{
fclose(fp);
return ;
}
printf(“文件读取错误!\n”);
}
for(i=0;i<\S;i++)
{
if(fread(&food[i],sizeof(struct data),1,fp)!=1)
{
if(feof(fp))
{
fclose(fp);
return ;
}
printf(“文件读取错误!\n”);
}
}
fclose(fp);
printf(“文件打开成功!\n\n”);
printf(“按回车键返回!”);
c=getchar();
c=getchar();
}
//输出到文件
void save()
{
FILE *fp;
int i,a;
char c;
system(“cls”);
printf(“1、储存\n”);
printf(“2、另存为\n”);
printf(“0、返回\n”);
printf(“请选择:”);
scanf(“%d”,&a);
if(a==1)
{
if((fp=fopen(file,”wb”))==NULL)
{
printf(“cannot open file\n”);
}
if(fwrite(&S,sizeof(int),1,fp)!=1)
{
printf(“写入文件错误!\n”);
}
for(i=0;i<\S;i++)
{
if(fwrite(&food[i],sizeof(struct data),1,fp)!=1)
{
printf(“写入文件错误!\n”);
}
}
fclose(fp);
printf(“保存成功!\n\n”);
printf(“按回车键返回!”);
c=getchar();
c=getchar();
}
else if(a==2)
{
printf(“\n文件名:”);
scanf(“%s”,file);
if((fp=fopen(file,”wb”))==NULL)
{
printf(“cannot open file\n”);
}
if(fwrite(&S,sizeof(int),1,fp)!=1)
{
printf(“写入文件错误!\n”);
}
for(i=0;i<\S;i++)
{
if(fwrite(&food[i],sizeof(struct data),1,fp)!=1)
{
printf(“写入文件错误!\n”);
}
}
fclose(fp);
printf(“保存成功!\n\n”);
printf(“按回车键返回!”);
c=getchar();
c=getchar();
}
}
int main()
{
int a;
///主菜单
while(1)
{
system(“cls”);
printf(“\t\t\t\t* * * * * * * * * * * * * * * * \n”);
printf(“\t\t\t\t* 1、货物出库和入库 * \n”);
printf(“\t\t\t\t* 2、查找货物表 * \n”);
printf(“\t\t\t\t* 3、显示仓库货物表 * \n”);
printf(“\t\t\t\t* 4、输出到文件 * \n”);
printf(“\t\t\t\t* 5、打开文件 * \n”);
printf(“\t\t\t\t* 0、退出 * \n”);
printf(“\t\t\t\t* * * * * * * * * * * * * * * * \n”);
printf(“\t\t\t\t请选择:”);
scanf(“%d”,&a);
switch(a)
{
case 1: current();break;
case 2: search();break;
case 3: show();break;
case 4: save();break;
case 5: open();break;
case 0: exit(0);
}
}
return 0;
}
- C语言编写仓库管理系统
- C语言编写的“日记管理系统”
- C语言编写的商品管理系统
- c语言编写学生管理系统
- C语言编写学生管理系统
- 简单的学籍管理系统(C语言编写)
- c语言题目----请编写一个小型学生管理系统
- 用C语言编写的商品库存管理系统
- 用C语言编写的超市商品信息管理系统
- C语言编写的银行管理系统关键代码
- 学生管理系统----用c语言在Xcode里编写 学生管理系统
- c语言仓库货物信息管理系统
- java编写的仓库管理系统源代码或详细设计
- java编写的仓库管理系统源代码或详细设计
- C语言编写飞机票系统
- C语言 编写登录系统
- 二叉树的应用:利用C语言编写简单的家谱管理系统
- C语言编写windows用户账户管理
- Vue, App与我(五)
- 链表相关面试题(基础篇)
- 像机器一样思考(五)—— 第一个应用
- 辨异 —— Java 中的抽象类和接口
- ruby输入输出
- C语言编写仓库管理系统
- 像机器一样思考(六)—— 脑中的重构
- 1063. Set Similarity (25)
- JavaScript数组操作
- Ubuntu liveCD修复Grub菜单不显示
- HDU 1501 Zipper(dp)
- ITIL 2011服务管理与认证读书笔记二——服务与服务管理
- Exchange管理系列——01更改Exchange2013的邮件发送频率限制
- C#中Delegate和Event以及它们的区别