c语言仓库物资管理系统亲测可用(共26页).docx
《c语言仓库物资管理系统亲测可用(共26页).docx》由会员分享,可在线阅读,更多相关《c语言仓库物资管理系统亲测可用(共26页).docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上c语言 仓库物资管理系统 亲测可用 #include<stdio.h>#include<stdlib.h>#include<string.h>void menu(void);/显示系统主菜单void kucun(void);/库存记录void ruku(void);/入库记录void chuku(void);/出库记录void chaxun(void);/查询操作void tunji(void);/统计工作void paixu(void);/排序工作struct riqi/日期int year;int month;int day;s
2、truct cun/库存记录char dname20;/电器名称char pname20;/品牌名称 int num;/库存数量;struct in/入库记录char dname20;/电器名称char pname20;/品牌名称int rnum;/入库数量int rcharge;/单价struct riqi r;/入库时间char sname20;/送货人姓名;struct out/出库记录char dname20;/电器名称char pname20;/品牌名称int cnum;/出库数量int ccharge;/单价struct riqi c;/出库时间char tname20;/提货人姓
3、名;void main()int select;while(1)menu();/调用menu函数,显示菜单scanf("%d",&select);/一般情况在gets之前,做过scanf之类的,scanf处理了数据,却把换行符留在那里没有处理getchar();switch(select)/对select进行多分支选择case 1:kucun();/调用kucun函数break;case 2:ruku();/调用ruku函数break;case 3:chuku();/调用chuku函数break;case 4:chaxun();/调用chaxun函数break;ca
4、se 5:tunji();/调用tunji函数break;case 6:paixu();/调用paixu函数break;case 0:printf("谢谢使用,再见!");exit(0);default:printf("按键错误,请重新选则!");/功能:显示系统菜单/参数:无/返回:无/主要思路:用printf函数输出菜单void menu(void)printf("n");printf("_ _ _ _ _ _ _ _ _ _ _ _ _ _n");printf("* *n");printf
5、("* 欢迎使用仓库物资管理系统*n");printf("* *n");printf("_ _ _ _ _ _ _ _ _ _ _ _ _ _n");printf("n");printf("请选择您要进行的操作:n");printf("1.创建库存记录文件n");printf("2.物资入库管理n");printf("3.物资出库管理n");printf("4.按不同条件进行查询n");printf("5.
6、按不同条件对物资信息进行统计工作n");printf("6.按不同条件对信息进行排序并输出n");printf("0.退出系统n");printf("请选择按键(0-6):");/功能:创建库存文件记录/参数:无/返回:无/主要思路:应用文件,根据提示输入电器信息,并将信息保存到一个文件中void kucun(void)struct cun a100;struct in dq100;int t=0,i=0;/char ch;有疑问,为什么用字符输入不行FILE *fp,*fp1;if(fp=fopen("cun.t
7、xt","w")=NULL)/以写的方式打开cun.txt文件,printf("can not open file");exit(0);if(fp1=fopen("ruku.txt","w")=NULL)/以写的方式打开cun.txt文件,printf(" can not open file");exit(0);doprintf("输入电器名称:");gets(dqi.dname);strcpy(ai.dname,dqi.dname);printf("输入
8、品牌名称:");gets(dqi.pname);strcpy(ai.pname,dqi.pname);printf("输入库存数量:");scanf("%d",&dqi.rnum);ai.num=dqi.rnum;printf("入库单价:");scanf("%d",&dqi.rcharge);printf("入库时间:");scanf("%d%d%d",&dqi.r.year,&dqi.r.month,&dqi.r.day)
9、;getchar();printf("请输入送货人姓名:");gets(dqi.sname);i+;printf("继续输入其它电器吗?:");scanf("%d",&t);/ch=getchar();getchar();while(t=1);for(t=0;t<i;t+)fwrite(&dqt,sizeof(struct in),1,fp1);/将一个结构体变量的内容写到文件中fwrite(&at,sizeof(struct cun),1,fp);/将一个结构体变量的内容写到文件中fclose(fp);
10、/关闭文件fclose(fp1);/关闭文件/功能:物资入库管理/参数:无/返回:无/主要思路:创建一个入库记录文件,每次有物资入库,则按入库记录要求输入各项信息,并将入库信息添加到文件中,同时修改库存记录void ruku(void)struct in ru;FILE *fp1,*fp2;int m,n,i=0,j=0;struct cun c100;if(fp1=fopen("ruku.txt","a")=NULL)/以追加的方式打开ruku.txt文件printf("can not open file");exit(0);if(
11、fp2=fopen("cun.txt","r+")=NULL)/以只读的形式打开cun.txt文件printf("can not open a file!");exit(0);while(!feof(fp2)/当源文件未结束时进行循环if(fread(&ci,sizeof(struct cun),1,fp2)i+;fclose(fp2);doprintf("请输入电器名称:");gets(ru.dname);printf("请输入品牌名称:");gets(ru.pname);printf
12、("请输入入库数量:");scanf("%d",&ru.rnum);printf("请输入单价:");scanf("%d",&ru.rcharge);printf("请输入入库时间:");scanf("%d%d%d",&ru.r.year,&ru.r.month,&ru.r.day);getchar();printf("请输入送货人姓名:");gets(ru.sname);/有疑问,为什么输不进去送货人姓名fwrit
13、e(&ru,sizeof(struct in),1,fp1);for(n=0;n<i;n+)if(strcmp(ru.dname,cn.dname)=0&&strcmp(ru.pname,cn.pname)=0)cn.num=cn.num+ru.rnum;j+;if(j=0)strcpy(cn.dname,ru.dname);strcpy(cn.pname,ru.pname);cn.num=ru.rnum;i+;fwrite(&ru,sizeof(struct in),1,fp1);printf("是否还有电器入库?");scanf(&
14、quot;%d",&m);getchar();while(m=1);if(fp2=fopen("cun.txt","w")=NULL)/以只写的形式打开cun.txt文件printf("can not open a file!");exit(0);for(n=0;n<i;n+)fwrite(&cn,sizeof(struct cun),1,fp2);/将一个结构体变量的内容写到文件中fclose(fp1);fclose(fp2);/功能:物资出库管理/参数:无/返回:无/主要思路:创建一个出库记录文件,
15、将出库 的各项信息添加到文件中,同时修改相应的库存记录文件void chuku(void)struct out chu;struct cun dq;struct cun dqc100;FILE *fp1,*fp2;int i,j=0,k=0,m;if(fp1=fopen("chuku.txt","a")=NULL)/以追加的形式打开chuku.txtprintf("can not open a fle!");exit(0);if(fp2=fopen("cun.txt","r+")=NULL)/以
16、读写形式打开cun.txt文件printf("can not open a file!");exit(0);while(!feof(fp2)fread(&dqcj+,sizeof(struct cun),1,fp2);j-;fclose(fp2);dom=0;printf("请输入电器名称:");gets(chu.dname);printf("请输入品牌名称:");gets(chu.pname);for(k=0;k<j;k+)if(strcmp(chu.dname,dqck.dname)=0&&strcm
17、p(chu.pname,dqck.pname)=0)m=1;printf("请输入出库数量:");scanf("%d",&um);/scanf是回车结束的但是不会被本身吸收掉getchar();if(um<=dqck.num)printf("请输入售出单价:");scanf("%d",&chu.ccharge);getchar();printf("请输入出库时间:");scanf("%d%d%d",&chu.c.year,&chu.c.m
18、onth,&chu.c.day);getchar();printf("请输入提货人姓名:");gets(chu.tname);fwrite(&chu,sizeof(struct out),1,fp1);/完成出库记录dqck.num=(dqck.num-um);elseprintf("没有足够的库存数量:");if(m=0)printf("库存内没有该电器");printf("是否还要有电器出库?");scanf("%d",&i);getchar();while(i=1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 仓库 物资 管理 系统 可用 26
限制150内