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语言编写仓库管理系统相关推荐

  1. 仓库管理系统c++语言,仓库管理系统(c++语言编写).doc

    仓库管理系统(c语言编写) #include #include #include typedef struct node { long sno; /*商品编号*/ char sname[10]; /* ...

  2. c语言仓库管理系统链表,仓库管理系统 C语言 C++ 数据结构 链表 课程设计

    仓库管理系统 C语言 C++ 数据结构 链表 课程设计 #include #include #include #include #define MAX 64 typedef struct node{ ...

  3. c语言作业制作仓库管理系统,C语言课程设计 仓库管理系统

    <C语言课程设计 仓库管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计 仓库管理系统(22页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计实训报告实训题目: 仓 ...

  4. c语言仓库管理系统链表,仓库管理系统 C语言 C 数据结构 链表 课程设计.doc

    仓库管理系统 C语言 C 数据结构 链表 课程设计 #include #include #include #include #define MAX 64 typedef struct node{ /* ...

  5. c语言课设报告仓库管理系统,c语言课设仓库管理系统.doc

    c语言课设仓库管理系统.doc 高级语言程序设计课程设计小型仓库管理系统题 目班 级学生学号学生姓名 同组成员 指导老师 提交时间 成 绩华南农业大学 信息学院一. 需求分析1 系统概述本系统用于小型 ...

  6. [附源码]java毕业设计社区生鲜仓库管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  7. 基于springcolud微服务的超市仓库管理系统

    随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息.为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,超市仓库管 ...

  8. python wms系统源码_jeewms仓库管理系统 v2.4.0

    jeewms是一个基于JAVA的仓库管理系统,是由灵鹿谷科技主导的开源项目,WMS在经过多家公司上线运行后,为了降低物流仓储企业的信息化成本,决定全面开源此产品.针对有特殊信息化需求的企业,提供高性价 ...

  9. SSM毕设项目仓库管理系统lyf55(java+VUE+Mybatis+Maven+Mysql)

    SSM毕设项目仓库管理系统lyf55(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(W ...

最新文章

  1. Gulp快速入门教程
  2. iBATIS配置文件的特殊使用方法
  3. 小猫咪小狗狗也有智能「手表」了,可监测健康,识别情绪,还防乱跑|CES 2022...
  4. 08_使用TCP/IP Monitor监视SOAP协议
  5. 史上最全!近千篇机器学习自然语言处理论文!都这儿了
  6. Oracle从软件安装到运行的全流程
  7. oracle 安装时的日志文件,oracle10g安装的日志文件 Oracle10g怎么查看操作日志
  8. ST2-045 For POC
  9. uBar如何设置Mac拥有Win式任务栏
  10. H264--H264编码--4
  11. 关于Java Web打印
  12. 关于实时协同编辑的架构思考
  13. 【LeetCode刷题——数据结构篇】
  14. 部分相机和相机镜头的参数
  15. 真惭愧--连这样的小事都没有坚持下来
  16. mysql admin账号密码忘记_使用mysqladmin命令修改Mysql密码与忘记密码
  17. 学习 MySQL 需要知道的 28 个小技巧
  18. 转基因大米非法流入内地转基因大米非法流入内地:基因战争?粮食安全?
  19. Leetcode每日一题:使括号有效的最少添加(括号匹配)
  20. -----已搬运-------Linux的/proc/self/学习 ++ CTF例题

热门文章

  1. 2008年期货公司排名
  2. windos10本地安装git工具并使用
  3. vue中scoped的使用
  4. Android系统签名简介
  5. ISP Pipline
  6. 九齐单片机应用-小家电开发(1)
  7. grads环境变量的设置
  8. 已解决关于vmware搭openwrt旁路由 无线网卡设备无法上网
  9. C/C++个人帐本管理系统
  10. 第二篇:在MVPArms项目使用了androidx和butterknife报错