2022年C语言程序课程设计商品进销存管理程序.pdf
《2022年C语言程序课程设计商品进销存管理程序.pdf》由会员分享,可在线阅读,更多相关《2022年C语言程序课程设计商品进销存管理程序.pdf(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一题目及运行说明商品进销存管理程序1、题目描述设计一个商品进销管理程序,该程序具有以下功能:(1) 录入商品信息 ;(2) 给定商品编号,修改该商品信息;(3) 给定商品编号,删除该商品信息;(4) 录入商品的进货和销售信息;(5) 给定商品编号或商品名,查看该商品及库存信息;(6) 统计功能:提供一些统计各类信息的功能。2、题目要求(1) 按照分析、设计、编码、调试和测试过程完成应用程序;(2) 学习并使用流程图等工具,并在撰写报告中使用;(3) 程序的各项功能在程序运行时,以菜单形式选择并执行;(4) 要求用户输入数据时,要给出清晰、明确的提示,包括:输入数据的内容、格式及其结束方式等(5
2、) 所有的信息存储在一个文件或多个中,并实现文件读写操作。(6) 程序中用链表存放商品及进销存信息并实现增删减功能。3、提示(1) 提醒事件信息可以设计一个结构体类型精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 41 页 - - - - - - - - - - (2) 自己构思并增加的除规定功能之外的新功能,酌情加分。(1)程序中主要变量Struct goods *head 结构体指针Int n,k struct goodsint number;char name20;int shumu;f
3、loat jiage;struct goods *next;int n,k;struct goods *head;等一些变量。(2)数据输入的形式和输入值的范围字符不超过 20 位整型变量输入大于0浮点型 变量也大于 0精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 41 页 - - - - - - - - - - 商品编号为四位整数(3)数据输入的形式按程序运行的提示操作(4)程序所能达到的功能及出错处理该程序具有以下功能:(1) 录入商品信息 ;(2) 给定商品编号,修改该商品信息;(3)
4、 给定商品编号,删除该商品信息;(4) 录入商品的进货和销售信息;(5) 给定商品编号或商品名,查看该商品及库存信息;(6) 统计功能:提供一些统计各类信息的功能。二 程序设计思路根据要求首先设计一个结构体类型,设计好界面,设计好主函数。程序各功能通过调用子函数来实现精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 41 页 - - - - - - - - - - 用 switch 来实现菜单的选择一切数据信息通通存在文件中,并实现文件读写操作。设计子函数来实现查询,保存,读取数据,删除等操作。
5、【总体设计 】图 1 系统功能模块图【详细设计 】1. 主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】商品管理系统数据录入数据修改删除商品销售查找进货精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 41 页 - - - - - - - - - - 图 2. 主函数流程图具体设计如下:结构体设计struct goodsint number;char name20;int shumu;float jiage;struct goods *next;主函数设计显示一系列功能选项输入 k
6、,判断 k 是否是 06根据 k 的值调用各功能模块函数结束开始k精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 41 页 - - - - - - - - - - void main() void jieman(); void luru(); struct goods *shuju(); void shanchu(struct goods *head); void jinghuo(struct goods *head); void xiaoshu(struct goods *head); vo
7、id xiugai(struct goods *head); void chaxun(struct goods *head); struct goods *head=NULL; int k=0; system(cls); jieman(); printf(请选择你要的功能键 :); scanf(%d,&k);getchar(); while(k!=0) head=shuju(); switch(k) case 1:luru();break;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 41
8、页 - - - - - - - - - - case 2:xiugai(head);break; case 3:chaxun(head);break; case 4:xiaoshu(head);break; case 5:jinghuo(head);break; case 6:shanchu(head);break; case 0:exit(0); default:printf(please try again!n); jieman(); printf(请选择你要的功能键 :); scanf(%d,&k); 界面设计void jieman() printf(*n); printf(欢迎进入商品
9、管理系统n); printf(*1 *录入信息 * n);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 41 页 - - - - - - - - - - printf(*2 *修改信息 * n); printf(*3 *查询信息 * n); printf(*4 *销售信息 * n); printf(*5 *进货信息 * n); printf(*6 *删除信息 * n); printf(*0 *退出系统 * n); printf(欢迎进入商品管理系统n); printf(*n);文件保存函数设
10、计struct goods *baocun(struct goods *head) struct goods *shuju(); struct goods *p=NULL; FILE *fp=NULL; char ch=0; getchar(); printf(是否保存到文件 (y/n):); ch=getchar();精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 41 页 - - - - - - - - - - putchar(10); if(ch=y|ch=Y) fp=fopen(,wb
11、); p=head; if(fp=NULL)&(p=NULL) printf(读取数据失败 !); exit(0); while(p!=NULL) fprintf(fp,%dn%sn%dn%ft,p-number,p-name,p-shumu,p-jiage); p=p-next; printf(保存成功 !n); fclose(fp); return(head);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 41 页 - - - - - - - - - - else if(ch=n|ch=
12、N) printf(信息未保存到文件 !n); head=shuju(); return(head); else printf(sorry,please try again(y/n):); ch=getchar(); putchar(10); return(head);数据读取函数设计struct goods *shuju() int n=0; FILE *fp;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 41 页 - - - - - - - - - - struct goods *he
13、ad=NULL,*p1,*p2; fp=fopen(,rb); if(fp=NULL) printf(nsorry,读取数据失败 !n); exit(0); else p1=p2=(struct goods *)malloc(LEN);fscanf(fp,%d%s%d%f,&p1-number,p1-name,&p1-shumu,&p1-jiage); while(!feof(fp) n+; if(n=1)head=p1; else p2-next=p1; p2=p1; p1=(struct goods *)malloc(LEN);fscanf(fp,%d%s%d%f,&p1-number,p
14、1-name,&p1-shumu,&p1-j精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 41 页 - - - - - - - - - - iage); p2-next=NULL; fclose(fp); return(head); 录入函数设计void luru()struct goods *shuju();struct goods *baocun(struct goods *head);struct goods *p1,*p2,*p3;head=shuju();p1=head;p2=(
15、struct goods *)malloc(LEN);printf(请输入四位编号 :);scanf(%d,&p2-number);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 41 页 - - - - - - - - - - printf(请输入商品名 :);scanf(%s,p2-name);printf(请输入商品数量 :);scanf(%d,&p2-shumu);printf(请输入商品价格 :);scanf(%f,&p2-jiage);if(p1=NULL)p1=p2;p2-ne
16、xt=NULL;baocun(p2);return;while(p1!=NULL)p3=p1;p1=p1-next;p3-next=p2;p2-next=NULL;baocun(head);进货函数设计精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 41 页 - - - - - - - - - - void jinghuo(struct goods *head)struct goods *baocun(struct goods *head); int c; int p; struct goo
17、ds *p1,*p2; system(cls); printf(请输入四位编号 :); scanf(%d,&p); p1=head; while(p!=p1-number&p1-next!=NULL) p2=p1; p1=p1-next; if(p=p1-number) printf(n 商品编号 t 商品名 t 数量 t 价格 n);printf(%dtt%stt%dtt%fn,p1-number,p1-name,p1-shumu,p1-jiage);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14
18、 页,共 41 页 - - - - - - - - - - printf(请输入该商品经货个数 :); scanf(%d,&c); p1-shumu=p1-shumu+c; printf(该商品经货个数 :%dn,p1-shumu); baocun(head);删除函数设计void shanchu(struct goods *head)struct goods *p1,*p2;struct goods *baocun(struct goods *head);int p;system(cls);printf(请输入四位编号 :);scanf(%d,&p);精品资料 - - - 欢迎下载 - -
19、- - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 41 页 - - - - - - - - - - p1=head;while(p!=p1-number&p1-next!=NULL)p2=p1;p1=p1-next;if(p=p1-number)printf(n商品编号 t商品名 t 数量 t 价格n);printf( %dtt%stt%dtt%.2fn,p1-number,p1-name,p1-shumu,p1-jiage);if(p1=head) head=p1-next;else p2-next=p1-next;n=n-1;
20、printf(删除成功 !n);baocun(head);查询函数设计void chaxun(struct goods *head) int a,c,i=0;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 41 页 - - - - - - - - - - struct goods *p1,*p2; char t20; printf( 1*商品编号查询 n); printf( 2*商品名字查询 n); printf(请选择你需要的功能键 n); scanf(%d,&a); getchar();
21、 if(a=1) printf(请输入四位编号 :); scanf(%d,&c);getchar(); while(c!=0&i=0) p1=head; while(c!=p1-number&p1-next!=NULL) p2=p1;p1=p1-next; if(c=p1-number) printf(n 商品编号 t 名字 t 数目 t 价格:n);printf( %dt %st %dt %.2fn,p1-number,p1-nam精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 41 页
22、- - - - - - - - - - e,p1-shumu,p1-jiage);i=1; else printf(系 统 中 无 该 商 品 记 录 !press enter return!n);getchar();system(cls);return; if(a=2&i=0) system(cls);printf(请输入商品名字 :); scanf(%s,&t);getchar(); while(strcmp(t,0)!=0&i=0) p1=head; if(strcmp(t,p1-name)!=0&p1-next!=NULL) p2=p1;p1=p1-next; if(strcmp(t,
23、p1-name)=0) printf(n 商品编号 t 名字 t 数目 t 价格:n);printf( %dt %st %dt %fn,p1-number,p1-name,p1-shumu,p1-jiage);i=1;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 41 页 - - - - - - - - - - else printf(系 统 中 无 该 商品 记录 !press enter return!n);getchar();system(cls);return; 修改函数设计voi
24、d xiugai(struct goods *head)struct goods *baocun(struct goods *head); int p,i=0; struct goods *p1,*p2; system(cls); printf(请输入四位编号 :); scanf(%d,&p); getchar(); if(p!=0) p1=head; while(p!=p1-number&p1-next!=NULL) p2=p1; p1=p1-next; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第
25、19 页,共 41 页 - - - - - - - - - - if(p=p1-number) printf(n 商品编号 t 名字 t 数目 t 价格:n);printf( %dt %st %dt %fn,p1-number,p1-name,p1-shumu,p1-jiage); printf(请输入要修改的新商品编号 ); scanf(%d,&p1-number); i=1; if(i=1) printf(修改后新商品编号名字 数目 价格:n);printf(%d %s %d %f,p1-number,p1-name,p1-shumu,p1-jiage); printf(修改成功 !n);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言 程序 课程设计 商品 进销存 管理程序
限制150内