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