《2022年商品信息管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年商品信息管理系统 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、商品信息管理系统,要求采用结构体数组或文件形式存储每种商品的信息,每种商品包含:商品编号、商品名称、单价、生产地、本月当前销售总数量、本月当前销售总金额及库存余量等信息。软件组成包括主函数和下列5 个功能模块:(1)售出功能(被售出之商品数量减x) ; (2)进货功能(被购进之商品数量增x) ; (3)查找功能(查找指定商品余存信息和价格信息);(4)统计功能(找出当前销售总金额最大的商品); (5)退出程序。用多文件原理。头文件:#include #include #include #include #define Maxno 20 struct products char num10; /
2、商品编号char name10; /商品名称char place10; /生产地double price; /单价int gross; /本月当前销售总数量double total; /本月当前销售总金额int count; /库存余量pro10; int sum; /商品总类数int menu_select(); /菜单选择void product_info(struct products *); /商品信息void sold(); /商品售出数量(被售出之商品数量减 x)void purchase(); /商品进货数量(被购进之商品数量增 x)void search(); /查找指定商品余
3、存、价格信息void Statistics(); /统计销售总金额最大的商品名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - void back(); /返回主菜单主函数:/主函数#include product.h void main() int i; for(i=0;iMaxno;i+) proi.count=0; printf( 欢迎查看商品信息! n); for(;) switch(menu_select() case 1
4、: product_info(pro); back(); break; case 2: purchase(); back(); break; case 3: sold(); back(); break; case 4: search(); back(); break; case 5: Statistics(); back(); break; case 6: printf( 退出程序,谢谢使用! n); exit(0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9
5、页 - - - - - - - - - 子函数:/菜单选择函数#include product.h int menu_select() char s2; int n; printf(t*n); printf(t* *n); printf(t* 商 品 信 息 管 理 系 统*n); printf(t* *n); printf(t* 1 商品信息2 商品进货数量*n); printf(t* 3 商品售出数量4 查找商品余存、价格*n); printf(t* 5 销 售总 金 额 最 大 的商 品6 退 出 系统*n); printf(t* *n); printf(t*n); printf( 请选
6、择: 1-6:); for(;) gets(s); n=atoi(s); /把字符转换成整型数if(n6)printf(n 输入错误,请重新选择1-6:); else break; return n; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - /查找指定商品余存、价格信息#include product.h void search() char str10; int i=0,flag; printf( 请输入商品编号或商品
7、名称:); scanf(%s,str); for(flag=1,i=0;flag&isum;i+) if(strcmp(proi.num,str)=0|strcmp(proi.name,str)=0) flag=0; if(flag=1) /该商品不存在 printf( 该商品不存在! nn); return; else i-; printf(%s的库存余量为:%dt价格为:%8.2lfnn,proi.name,proi.count,proi.price); return; /统计销售总金额最大的商品#include product.h void Statistics() int i=0,fl
8、ag; double max=0; for(i=0;imax) max=proi.total; for(flag=1,i=0;flag&isum;i+) if(proi.total=max) printf( 销售金额最大的商品是:%snn,proi.name); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - return; /商品进货数量(被购进之商品数量增 x)#include product.h void purchase
9、() FILE *fp; int i=0,k=0,j=0,s=0,n=0,flag,cn=1; char num10; while(cn=1) printf( 被购进商品的编号: ); scanf(%s,num); printf( 被购进商品的数量: ); scanf(%d,&k); for(flag=1,i=0;flag&i继续填写信息 n); printf(ttt 0=输入结束 n); printf(ttt-n); scanf(%d,&cn); while(cn!=1&cn!=0) printf( 输入有误,请重新输入1 或 0n); scanf(%d,&cn); 名师资料总结 - - -
10、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - else i-; proi.count+=k; printf(ttt-n); printf(ttt 1=继续填写信息 n); printf(ttt 0=输入结束 n); printf(ttt-n); scanf(%d,&cn); while(cn!=1&cn!=0) printf( 输入有误,请重新输入1 或 0n); scanf(%d,&cn); printf( 信息输入完毕! nn); fp=fope
11、n(products.txt,w); for(s=0;s退出系统 n); printf(ttt 其他任意键 =返回主菜单 n); printf(ttt-n); fflush(stdin); /清除缓存名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - scanf(%c,&cn); if(cn=n) exit(0); if(cn!=n) fflush(stdin); return; /商品售出数量(被售出之商品数量减 x)#inclu
12、de product.h void sold() FILE *fp; char num10; int k=0,i,j=0,flag; printf( 请输入被售出商品的编号或名称:); scanf(%s,num); for(flag=1,i=0;flag&isum;i+) if(strcmp(proi.num,num)=0|strcmp(proi.name,num)=0) flag=0; /文件中存在该商品则flag=0 if(flag=1) /文件中不存在该商品 printf( 该商品不存在,请重新输入被售出商品的编号或名称:); scanf(%s,&num); else if(fp=fop
13、en(products.txt,wb)=NULL) printf( 文件打不开! n); return; i-; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - printf(%s的 库 存 余 量 为 %dn请 输 入 该 商 品 售 出 数 量 :,proi.name,proi.count); scanf(%d,&k); proi.count-=k; /该商品库存余量减k proi.gross+=k; /该商品本月当前销售总
14、数量proi.total+=proi.price*k; /该商品本月当前销售总金额 for(j=0;jsum;j+) fwrite(&proj,sizeof(struct products),1,fp); /将商品信息写入文件中 fclose(fp); /商品信息输出函数#include product.h void product_info(struct products *p) FILE *fp; int i; char *c7= 编号,名称,生产地 ,单价,月销量 ,月销额 ,库存余量 ; p=pro; if(fp=fopen(products.txt,r)=NULL) /打开文件 pr
15、intf( 文件打不开! nn); return; printf( 商品信息如下: n); printf(n%4st%6st%8st%8st%4st%8st%6sn,c0,c1,c2,c3,c4,c5,c6); /输出商品信息for(i=0;fread(&proi,sizeof(struct products),1,fp)!=0;i+,p+) /inum,p-name,p-pla名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - ce,p-price,p-gross,p-total,p-count); printf(n); fclose(fp); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -
限制150内