C语言如何实现仓库物资管理系统
这篇文章将为大家详细讲解有关C语言如何实现仓库物资管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为清流企业提供专业的网站建设、成都网站建设,清流网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
系统功能设计
仓库初始化
查询库存
*按电器名查询
*按品牌名查询
*按送货人查询
*按提货人查询
*按电器名称由大到小顺序输出所有库存
*按库存数量由高到低输出所有库存
物资存入
物资取出
统计物资
*入库电器总价值
*出库电器总利润
*统计某月每种电器的出库数目
*统计某月每种品牌的电器的出库数目
代码
#include#include #include //------------------------------------------------------结构体区域 typedef struct { char name[20]; //电器名称 char brandName[20]; //品牌名称 int num; //库存数量 int unitPrice; //单价 int year; int month; int day; char manName[20]; }stock; //库存 stock s[10000],t[10000],x[10000],y[10000],in[10000],out[10000],no[10000],no1[10000],no2[10000]; //全局变量 //-------------------------------------------------------函数声明区域 void menu(void);//主菜单函数 void write(void);//创建仓库函数 void find(void);//查询库存函数 void findPart(void);//部分查询函数 void findOne(void); //按电器名查询 void findTwo(void); //按品牌名查询 void findThree(void); //按提货人查询 void findFour(void); //按送货人查询 void findFive(void); //按电器名称大小顺序输出所有库存 void findSix(void); //按库存数量由高到低输出所有库存 void deposit(void);//存入仓库函数 void takeout(void);//取出仓库函数 void tongji(void);//统计函数 void tongji1(void);//第一种统计函数 void tongji2(void);//第二种统计函数 void tongji3(void);//第三种统计函数 void tongji4(void);//第四种统计函数 int readFile(void);//读取库存记录文件中所有结构体的数目 int readFile1(void);//读取入库记录文件中所有结构体的数目 int readFile2(void);//读取出库记录文件中所有结构体的数目 void end(void);//结束退出函数 //-------------------------------------------------------主函数 int main() { menu(); return 0; } void menu(void) { int n,l=0; printf("============================================================\n"); printf(" \n"); printf(" -----*****欢 迎 使 用 仓 库 物 资 管 理 系 统 ! *****----- \n"); printf(" \n"); printf("============================================================\n"); printf(" \n"); printf(" 您可以进行以下操作: \n"); printf(" \n"); printf(" 1. 仓库初始化 \n"); printf(" \n"); printf(" 2. 查询库存 \n"); printf(" \n"); printf(" 3. 物资存入 \n"); printf(" \n"); printf(" 4. 物资取出 \n"); printf(" \n"); printf(" 5. 统计物资 \n"); printf(" \n"); printf(" 0. 退出系统 \n"); printf(" \n"); printf(" \n"); printf("============================================================\n"); printf("现在请选择您要进行的操作:(请输入操作前的数字)"); while(scanf("%d",&n)!=EOF) { switch(n) { case 1:system("CLS");write();break; case 2:system("CLS");find();break; case 3:system("CLS");deposit();break; case 4:system("CLS");takeout();break; case 5:system("CLS");tongji();break; case 0:system("CLS");end();exit(0); default :printf("没有此选项!\n 请重新输入!\n"); } } } void write(void) //right { FILE *fp; int i,n; fp=fopen("库存记录.dat","wb"); rewind(fp); printf("============================================================\n"); printf("请输入仓库中电器信息的组数!\n ps:相同电器但是不同品牌电器算多种!\n"); scanf("%d",&n); for(i=0;i 例:2016 12 01\n"); scanf("%d%d%d",&s[i].year,&s[i].month,&s[i].day); printf("请输入存货人:"); scanf("%s",s[i].manName); } fwrite(s,sizeof(stock),n,fp); fclose(fp); printf("当前库存记录:(请仔细核对)\n"); for(i=0;i \n"); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("将返回上一级菜单!\n 请按回车键确认!\n"); getchar();getchar(); system("CLS"); findPart(); } void findTwo(void) { char brandName[10],ch='y'; int i,k,n,bn; bn=readFile(); do { system("CLS"); printf("============================================================\n"); printf("请输入要查询的品牌名称:\n"); getchar(); gets(brandName); k=-1; for(i=0;i \n"); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("将返回上一级菜单!\n 请按回车键确认!\n"); getchar();getchar(); system("CLS"); findPart(); } void findThree(void) // 按送货人查询 入库 { char manName[10],ch='y'; int i,k,n,bn1; bn1=readFile1(); FILE *fp1; fp1=fopen("入库记录.dat","rb+"); if(fp1==NULL) { printf("该仓库中未添加任何电器!\n"); exit(0); } fread(&y,sizeof(stock),bn1,fp1); fclose(fp1); do { system("CLS"); printf("============================================================\n"); printf("请输入要查询的存货人:\n"); getchar(); gets(manName); k=-1; for(i=0;i \n"); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("将返回上一级菜单!\n 请按回车键确认!\n"); getchar();getchar(); system("CLS"); findPart(); } void findFour(void) //按提货人查询 出库 { char manName[10],ch='y'; int i,k,n,bn2; bn2=readFile2(); FILE *fp2; fp2=fopen("出库记录.dat","rb+"); if(fp2==NULL) { printf("该仓库中未提出任何电器!\n"); exit(0); } fread(&x,sizeof(stock),bn2,fp2); fclose(fp2); do { system("CLS"); printf("============================================================\n"); printf("请输入要查询的提货人:\n"); getchar(); gets(manName); k=-1; for(i=0;i \n"); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("将返回上一级菜单!\n 请按回车键确认!\n"); getchar();getchar(); system("CLS"); findPart(); } void findFive(void) //电器名称大小顺序输出所有库存 { int bn; bn=readFile(); printf("============================================================\n"); FILE *fp; fp=fopen("库存记录.dat","rb+"); if(fp==NULL) { printf("该仓库中无库存!\n"); exit(0); } fread(&s,sizeof(stock),bn,fp); int i,j; for(i=0;i 例:2016 12 01\n"); scanf("%d%d%d",&jia.year,&jia.month,&jia.day); printf("请输入送货人:"); scanf("%s",jia.manName); fwrite(&jia,sizeof(stock),1,fp1); fwrite(&jia,sizeof(stock),1,fp); fclose(fp1);fclose(fp); printf("是否继续输入? \n"); getchar(); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("将返回上一级菜单!\n 请按回车键确认!\n"); getchar(); system("CLS"); menu(); } void takeout(void) //出库 { stock jian; printf("==============================================================\n"); int bn,bn2,i,j; char ch='y'; FILE *fp,*fp2; bn=readFile(); bn2=readFile2(); printf("请输入要提出仓库的电器信息:\n"); do { fp=fopen("库存记录.dat","rb+"); if(fp==NULL) { printf("无法打开此文件!\n"); exit(0); } for(i=0;i 例:2016 12 01\n"); scanf("%d%d%d",&jian.year,&jian.month,&jian.day); printf("请输入提货人:"); scanf("%s",jian.manName); getchar(); fwrite(&jian,sizeof(stock),1,fp2); fclose(fp2); for(i=0;i \n"); getchar(); ch=getchar(); }while(ch=='y'||ch=='Y'); printf("将返回上一级菜单!\n 请按回车键确认!\n"); getchar(); system("CLS"); menu(); } void tongji(void) { int n; system("CLS"); printf("==============================================================\n"); printf("1. 入库电器总价值\n"); printf("2. 出库电器总利润\n"); printf("3.统计该月每种电器的出库数目\n"); printf("4.统计该月每种品牌的电器的出库数目\n"); printf("0. 返回主菜单\n"); printf("请选择要进行的操作:(0到4)\n"); scanf("%d",&n); getchar(); while(n!=0&&n!=1&&n!=2&&n!=3&&n!=4) { printf("没有此选项!\n 请重新输入!\n"); scanf("%d",&n); getchar(); } switch(n) { case 1:tongji3();break;//第三种统计函数 case 2:tongji4();break;//第四种统计函数 case 3:tongji1();break;//第一种统计函数 case 4:tongji2();break;//第二种统计函数 case 0:system("CLS");menu();break; } } void tongji2(void)//第二种统计函数 { FILE *fp; int bn1,i,year,month,k=0; bn1=readFile1(); system("CLS"); printf("==============================================================\n"); fp=fopen("出库记录.dat","rb+"); if(fp==NULL) { printf("无法打开此文件!\n"); exit(0); } for(i=0;i 运行截图
关于“C语言如何实现仓库物资管理系统”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
分享文章:C语言如何实现仓库物资管理系统
文章转载:http://ybzwz.com/article/pccgge.html