C语言程序专业课程设计商品进销存管理程序.doc

上传人:知**** 文档编号:97980204 上传时间:2024-07-08 格式:DOC 页数:45 大小:612.54KB
返回 下载 相关 举报
C语言程序专业课程设计商品进销存管理程序.doc_第1页
第1页 / 共45页
C语言程序专业课程设计商品进销存管理程序.doc_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《C语言程序专业课程设计商品进销存管理程序.doc》由会员分享,可在线阅读,更多相关《C语言程序专业课程设计商品进销存管理程序.doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 一 题目及运行说明商品进销存管理程序 1、题目描述设计一个商品进销管理程序,该程序含有以下功效:(1) 录入商品信息;(2) 给定商品编号,修改该商品信息;(3) 给定商品编号,删除该商品信息;(4) 录入商品进货和销售信息;(5) 给定商品编号或商品名,查看该商品及库存信息;(6) 统计功效:提供部分统计各类信息功效。2、题目要求(1) 根据分析、设计、编码、调试和测试过程完成应用程序;(2) 学习并使用步骤图等工具,并在撰写汇报中使用;(3) 程序各项功效在程序运行时,以菜单形式选择并实施;(4) 要求用户输入数据时,要给出清楚、明确提醒,包含:输入数据内容、格式及其结束方法等(5) 全

2、部信息存放在一个文件或多个中,并实现文件读写操作。(6) 程序中用链表存放商品及进销存信息并实现增删减功效。3、提醒(1) 提醒事件信息能够设计一个结构体类型(2) 自己构思并增加除要求功效之外新功效,酌情加分。(1) 程序中关键变量Struct goods *head 结构体指针Int n,k struct goodsint number;char name20;int shumu;float jiage;struct goods *next;int n,k;struct goods *head;等部分变量。(2) 数据输入形式和输入值范围字符不超出20位整型变量输入大于0浮点型 变量也大于

3、0商品编号为四位整数(3) 数据输入形式按程序运行提醒操作(4) 程序所能达成功效及犯错处理该程序含有以下功效:(1) 录入商品信息;(2) 给定商品编号,修改该商品信息;(3) 给定商品编号,删除该商品信息;(4) 录入商品进货和销售信息;(5) 给定商品编号或商品名,查看该商品及库存信息;(6) 统计功效:提供部分统计各类信息功效。二 程序设计思绪依据要求首先设计一个结构体类型,设计好界面,设计好主函数。程序各功效经过调用子函数来实现用switch来实现菜单选择一切数据信息通通存在文件中,并实现文件读写操作。设计子函数来实现查询,保留,读取数据,删除等操作。 【总体设计】商品管理系统数据录

4、入数据修改删除商品销售查找进货图1 系统功效模块图 【具体设计】1. 主函数主函数设计要求简练,只提供部分提醒语和函数调用【程序】 显示一系列功效选项输入k,判定k是否是06?依据k值调用各功效模块函数结束开始k 图2. 主函数步骤图具体设计以下:结构体设计struct goodsint number;char name20;int shumu;float jiage;struct goods *next;主函数设计void main() void jieman(); void luru(); struct goods *shuju(); void shanchu(struct goods *

5、head); void jinghuo(struct goods *head); void xiaoshu(struct goods *head); void 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; ca

6、se 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(欢迎进入商品管理系统n); printf(*1 *录入信息*n)

7、; printf(*2 *修改信息*n); printf(*3 *查询信息*n); printf(*4 *销售信息*n); printf(*5 *进货信息*n); printf(*6 *删除信息*n); printf(*0 *退出系统*n); printf(欢迎进入商品管理系统n); printf(*n);文件保留函数设计struct goods *baocun(struct goods *head) struct goods *shuju(); struct goods *p=NULL; FILE *fp=NULL; char ch=0; getchar(); printf(是否保留到文件?

8、(y/n):); ch=getchar(); putchar(10); if(ch=y|ch=Y) fp=fopen(goods.txt,wb); 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); else if(ch=n|ch=N) printf(信息未保留到文件!n); head=sh

9、uju(); return(head); else printf(sorry,please try again(y/n):); ch=getchar(); putchar(10); return(head);数据读取函数设计struct goods *shuju() int n=0; FILE *fp; struct goods *head=NULL,*p1,*p2; fp=fopen(goods.txt,rb); if(fp=NULL) printf(nsorry,读取数据失败!n); exit(0); else p1=p2=(struct goods *)malloc(LEN); fsca

10、nf(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,p1-name,&p1-shumu,&p1-jiage); p2-next=NULL; fclose(fp); return(head); 录入函数设计void luru()struct goods *shuju();struct goods

11、*baocun(struct goods *head);struct goods *p1,*p2,*p3;head=shuju();p1=head;p2=(struct goods *)malloc(LEN);printf(请输入四位编号:);scanf(%d,&p2-number);printf(请输入商品名:);scanf(%s,p2-name);printf(请输入商品数量:);scanf(%d,&p2-shumu);printf(请输入商品价格:);scanf(%f,&p2-jiage);if(p1=NULL)p1=p2;p2-next=NULL;baocun(p2);return;w

12、hile(p1!=NULL)p3=p1;p1=p1-next;p3-next=p2;p2-next=NULL;baocun(head);进货函数设计void jinghuo(struct goods *head)struct goods *baocun(struct goods *head); int c; int p; struct goods *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-n

13、umber) printf(n 商品编号 t 商品名 t 数量 t 价格 n); printf(%dtt%stt%dtt%fn,p1-number,p1-name,p1-shumu,p1-jiage); 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)

14、;int p;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%.2fn,p1-number,p1-name,p1-shumu,p1-jiage);if(p1=head) head=p1-next;else p2-next=p1-next;n=n-1; printf(删除成功!n); baocun(head); 查

15、询函数设计void chaxun(struct goods *head) int a,c,i=0; struct goods *p1,*p2; char t20; printf( 1*商品编号查询n); printf( 2*商品名字查询n); printf(请选择你需要功效键n); scanf(%d,&a); getchar(); 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=p

16、1-number) printf(n 商品编号 t 名字 t 数目 t 价格:n); printf( %dt %st %dt %.2fn,p1-number,p1-name,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

17、-name)!=0&p1-next!=NULL) p2=p1;p1=p1-next; if(strcmp(t,p1-name)=0) printf(n 商品编号 t 名字 t 数目 t 价格:n); printf( %dt %st %dt %fn,p1-number,p1-name,p1-shumu,p1-jiage);i=1;else printf(系统中无该商品统计!press enter return!n);getchar();system(cls);return; 修改函数设计void xiugai(struct goods *head)struct goods *baocun(str

18、uct 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; if(p=p1-number) printf(n 商品编号 t 名字 t 数目 t 价格:n); printf( %dt %st %dt %fn,p1-number,p1-name,p1-shumu,p1-jiage); printf(请输入要

19、修改新商品编号 ); 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); baocun(head); 销售函数设计void xiaoshu(struct goods *head)struct goods *baocun(struct goods *head); int c; int p; struct goods *p1,*p2; system(cls); printf(请输

20、入四位编号:); scanf(%d,&p); getchar(); 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); printf(请输入该商品售货个数:); scanf(%d,&c); p1-shumu=p1-shumu-c; printf(该商品经货个数:%dn,p1-shumu); baocun(

21、head);三 程序清单#include#include#include#include#define LEN sizeof(struct goods)struct goods 结构体int number; 商品编号char name20; 商品名int shumu; 商品数目float jiage;商品价格struct goods *next;int n,k; 全局变量struct goods *head; 全局变量void main() 主函数 void jieman(); 界面函数申明 void luru(); 录入函数申明 struct goods *shuju(); 数据读取函数申明

22、 void shanchu(struct goods *head); 删除函数申明 void jinghuo(struct goods *head); 进货函数申明 void xiaoshu(struct goods *head); 销售函数申明 void xiugai(struct goods *head); 修改函数申明 void chaxun(struct goods *head); 查询函数申明 struct goods *head=NULL; int k=0; system(cls); jieman(); printf(请选择你要功效键:); scanf(%d,&k);getchar

23、(); while(k!=0) head=shuju(); switch(k) case 1:luru();break; 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); struct

24、 goods *baocun(struct goods *head) 保留函数 struct goods *shuju(); struct goods *p=NULL; FILE *fp=NULL; char ch=0; getchar(); printf(是否保留到文件?(y/n):);判定是否保留 ch=getchar(); putchar(10); if(ch=y|ch=Y) fp=fopen(goods.txt,wb); p=head; if(fp=NULL)&(p=NULL) printf(读取数据失败!); exit(0); while(p!=NULL) fprintf(fp,%d

25、n%sn%dn%ft,p-number,p-name,p-shumu,p-jiage); p=p-next; printf(保留成功!n); fclose(fp); return(head); else if(ch=n|ch=N) printf(信息未保留到文件!n); head=shuju(); return(head); else printf(sorry,please try again(y/n):); ch=getchar(); putchar(10); return(head); void chaxun(struct goods *head) 查询函数 int a,c,i=0; st

26、ruct goods *p1,*p2; char t20; printf( 1*商品编号查询n); printf( 2*商品名字查询n); printf(请选择你需要功效键n); scanf(%d,&a); getchar(); 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); prin

27、tf( %dt %st %dt %.2fn,p1-number,p1-name,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;

28、if(strcmp(t,p1-name)=0) printf(n 商品编号 t 名字 t 数目 t 价格:n); printf( %dt %st %dt %fn,p1-number,p1-name,p1-shumu,p1-jiage);i=1;else printf(系统中无该商品统计!press enter return!n);getchar();system(cls);return; void jinghuo(struct goods *head) 进货函数struct goods *baocun(struct goods *head); int c; int p; struct good

29、s *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); printf(请输入该商品经货个数:); scanf(%d,&c); p1-shumu=p1-shumu+c; printf(该商品

30、经货个数:%dn,p1-shumu); baocun(head); 保留数据 void luru()struct goods *shuju(); 调用函数struct goods *baocun(struct goods *head);struct goods *p1,*p2,*p3;head=shuju();p1=head;p2=(struct goods *)malloc(LEN);printf(请输入四位编号:);scanf(%d,&p2-number);printf(请输入商品名:);scanf(%s,p2-name);printf(请输入商品数量:);scanf(%d,&p2-shu

31、mu);printf(请输入商品价格:);scanf(%f,&p2-jiage);if(p1=NULL)p1=p2;p2-next=NULL;baocun(p2);return;while(p1!=NULL)p3=p1;p1=p1-next;p3-next=p2;p2-next=NULL;baocun(head); 保留数据 void shanchu(struct goods *head) 删除函数struct goods *p1,*p2;struct goods *baocun(struct goods *head);int p;system(cls);printf(请输入四位编号:);sc

32、anf(%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%.2fn,p1-number,p1-name,p1-shumu,p1-jiage);if(p1=head) head=p1-next;else p2-next=p1-next;n=n-1; printf(删除成功!n); baocun(head); struct goods *shuju() 数据读取函数 int n

33、=0; FILE *fp; struct goods *head=NULL,*p1,*p2; fp=fopen(goods.txt,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 *)mall

34、oc(LEN); fscanf(fp,%d%s%d%f,&p1-number,p1-name,&p1-shumu,&p1-jiage); p2-next=NULL; fclose(fp); return(head); void jieman() 界面函数 printf(*n); printf(欢迎进入商品管理系统n); printf(*1 *录入信息*n); printf(*2 *修改信息*n); printf(*3 *查询信息*n); printf(*4 *销售信息*n); printf(*5 *进货信息*n); printf(*6 *删除信息*n); printf(*0 *退出系统*n);

35、 printf(欢迎进入商品管理系统n); printf(*n); void xiaoshu(struct goods *head) 销售函数struct goods *baocun(struct goods *head); int c; int p; struct goods *p1,*p2; system(cls); printf(请输入四位编号:); scanf(%d,&p); getchar(); p1=head; while(p!=p1-number&p1-next!=NULL) 查找商品 p2=p1; p1=p1-next; if(p=p1-number) printf(n 商品编

36、号 t 商品名 t 数量 t 价格 n); printf(%dtt%stt%dtt%fn,p1-number,p1-name,p1-shumu,p1-jiage); printf(请输入该商品售货个数:); scanf(%d,&c); p1-shumu=p1-shumu-c; printf(该商品经货个数:%dn,p1-shumu); baocun(head); 保留数据 void xiugai(struct goods *head) 修改函数struct goods *baocun(struct goods *head); int p,i=0; struct goods *p1,*p2; s

37、ystem(cls); printf(请输入四位编号:); scanf(%d,&p); getchar(); if(p!=0) 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( %dt %st %dt %fn,p1-number,p1-name,p1-shumu,p1-jiage); printf(请输入要修改新商品编号 ); scanf(%d,&p1-number); i=1; if(i=1) print

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁