C语言程序课程设计商品进销存管理程序_第1页
C语言程序课程设计商品进销存管理程序_第2页
C语言程序课程设计商品进销存管理程序_第3页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、模块图【详细设计】1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】具体设计如下:结构体设计struct goodsint nu mber;char n ame20;int shumu;float jiage;struct goods *n ext;主函数设计void mai n()void jiema n();void luru();struct goods *shuju();void sha nchu(struct goods *head);void jin ghuo(struct goods *head);void xiaoshu(struct goods *head);

5、void xiugai(struct goods *head);void chax un( struct goods *head);struct goods *head二NULL;int k=0;system("cls");jiema n();printf("请选择你要的功能键:");sca nf("%d",&k);getchar();while(k!=0)head=shuju();switch(k)case 1:luru();break;case 2:xiugai(head);break;case 3:chax un( he

6、ad);break;case 4:xiaoshu(head);break;case 5:jin ghuo(head);break;case 6:sha nchu(head);break;case O:exit(O);default:pri ntf("please try aga in !n");jiema n();printf("请选择你要的功能键:");sca nf("%d",&k);界面设计void jiema n()printf(H*n");printf(" 欢迎进入商品管理系统n");pr

7、intf("*1 * 录入信息 * n");prin tf("*2 *n");prin tf("*3 *n");prin tf("*4 *n");prin tf("*5 *n");prin tf("*6 *n");prin tf("*0 *n");n");printf(" 欢迎进入商品管理系统printf( "*n");文件保存函数设计struct goods *baoc un( struct goods *head

8、) struct goods *shuju();struct goods *p=NULL;FILE *fp=NULL;char ch='0'getchar();printf("是否保存到文件?(y/n):");ch=getchar();putchar(IO);if(ch='y'|ch二二'Y')fp=fope n("goods.txt","wb");p=head;if(fp=NULL )&&(p二二NULL)printf("读取数据失败!");exit

9、(0);while(p!二NULL)fprin tf(fp,"%dn%s n%dn%ft",p- >nu mber,p->n ame,p->shumu,p->jiage)p=p->n ext;printf("保存成功!n");fclose(fp);retur n( head);else if(ch=' n'|ch='N')printf("信息未保存到文件!n");head二shuju();retur n(head);elseprin tf("sorry,pleas

10、e try aga in(y/n):");ch=getchar();putchar(10);retur n(head);数据读取函数设计struct goods *shuju()int n=0;FILE *fp;struct goods *head二NULL,*p1,*p2;fp二fope n("goods.txt","rb");if(fp=NULL)printf("nsorry,读取数据失败!n");exit(0);elsep1=p2=(struct goods *)malloc(LEN);fsca nf(fp,"

11、;%d%s%d%f",&p1-> nu mber,p1-> name,&p1->shumu,&p1->jia ge);while(!feof(fp)n+;if(n二=1)head二p1;else p2->n ext=p1;p2=p1;p1=(struct goods *)malloc(LEN);fsca nf(fp,"%d%s%d%f",&p1-> nu mber,p1-> name,&p1->shumu,&p1->jiage);p2-> next二NULL

12、;fclose(fp);return(head);录入函数设计void luru()struct goods *shuju();struct goods *baoc un( struct goods *head);struct goods *p1,*p2,*p3;head=shuju();p1二head;p2=(struct goods *)malloc(LEN);printf("请输入四位编号:");printf("请输入商品名:");sea nf("%s",p2-> name); printf("请输入商品数量:&

13、quot;);sea nf("%d",&p2->shumu); printf("请输入商品价格:");sea nf("%f",&p2->jiage);if(p1二二NULL)p仁 p2;p2-> next二NULL;baoc un( p2);return;while(p1!=NULL)p3=p1;p 1= p1-> next;p3->n ext=p2;p2-> next二NULL;baoc un( head);进货函数设计void jin ghuo(struct goods *hea

14、d)struct goods *baoc un( struct goods *head);int c;int p;struct goods *p1,*p2;system("cls");printf("请输入四位编号:");sca nf("%d",&p);p1二head;while(p!=p1-> nu mber&&p1-> next!二NULL)p2=p1;p1=p1->n ext;if(p=p1- >nu mber)printf("n商品编号t商品名t数量t价格n"

15、);prin tf("%dtt%stt%dtt%fn",p1-> nu mber,p1-> name,p1->shumu,p1->ji age);printf("请输入该商品经货个数:”);sea nf("%d", &c);p1->shumu二p1->shumu+c;printf("该商品经货个数:%dn",p1->shumu);baoc un( head);删除函数设计void sha nchu(struct goods *head)struct goods *p1,*p2

16、;struct goods *baoc un( struct goods *head); int p;system("cls");printf("请输入四位编号:");sca nf("%d",&p);pl二head;while(p!二p1-> nu mber&&p1-> next!二NULL)p2=p1;p 1= p1-> next;if(p=p1- >nu mber)printf("n商品编号t商品名t数量t价格n");printf("%dtt%stt%d

17、tt%.2fn",p1-> number,p1-> name,p1->shumu,p1->jiage);if(p1=head) head二p1- >n ext;else p2->n ext=p1- >n ext ;n=n-1;printf("删除成功!n");baoc un( head);查询函数设计void chax un( struct goods *head)int a,c,i=0;struct goods *p1,*p2;char t20;printf(”2*商品名字查询n");printf("

18、请选择你需要的功能键n"); sca nf("%d",&a);getchar();if(a=1)printf("请输入四位编号:");sca nf("%d", &c);getchar();while(c!=0&&i=0)p1二head;while(c!=p1-> nu mber&&p1-> next!二NULL)p2=p1;p 1= p1-> next;if(c=p1- >nu mber)printf("n 商品编号t名字t数目t价格:n&qu

19、ot;);prin 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("请输入商品名字:");sca nf("%s",& t);

20、getchar();while(strcmp(t,"O")!=O&&i=0)p1二head;if(strcmp(t,p1-> name)!=0&&p1-> next!二NULL)p2=p1;p1=p1- >n ext;if(strcmp(t,p1- >n ame)=0)printf("n商品编号t名字t数目t价格:n");printf("%dt%st %dt %fn",p1->number,p1->name,p1->shumu,p1->jiage);i=1

21、;else pri ntf("系统 中 无该商 品记录 !press en terreturn!n");getchar();system("cls");return;修改函数设计void xiugai(struct goods *head)struct goods *baoc un( struct goods *head);int p,i=0;struct goods *p1,*p2;system("cls");printf("请输入四位编号:");sca nf("%d",&p);get

22、char();if(p!=0)p1二head;while(p!=p1-> number&&p1-> next!二NULL)p2=p1;p1=p1->n ext;if(p=p1- >nu mber)printf("n 商品编号t名字t数目t价格:n");printf(" %dt%st %dt %fn",p1->number,p1->name,p1->shumu,p1->jiage);printf("请输入要修改的新商品编号");sca nf("%d",&

23、amp;p1-> nu mber);i=1;if(i=1)printf("修改后新商品编号 名字数目 价格:n");prin tf("%d%s%d%f",p1-> nu mber,p1-> name,p1->shumu,p1->jiage);printf("修改成功!n");baoc un( head);销售函数设计void xiaoshu(struct goods *head)struct goods *baoc un( struct goods *head);int c;int p;struct go

24、ods *p1,*p2;system("cls");printf("请输入四位编号:");sca nf("%d",&p);getchar();p1二head;while(p!=p1-> number&&p1-> next!二NULL)p2=p1;p1=p1->n ext;if(p=p1- >nu mber)printf("n商品编号t商品名t数量t价格n");prin tf("%dtt%stt%dtt%fn",p1-> nu mber,p1-

25、> name,p1->shumu,p1->ji age);printf("请输入该商品售货个数:");sca nf("%d", &c);p1->shumu=p1->shumu-c;printf("该商品经货个数:%dn",p1->shumu); baoc un( head);三程序清单#in clude<stdio.h>#i ncludevstri ng.h>#in clude<stdlib.h>#i nclude<malloc.h>#defi ne

26、 LEN sizeof(struct goods)struct goods 结构体int number; 商品编号char name20;商品名int shumu; 商品数目float jiage;商品价格struct goods *n ext;int n,k;全局变量struct goods *head;全局变量void ma in () 主函数void jiema n();界面函数声明void luru(); 录入函数声明struct goods *shuju(); 数据读取函数声明void shanchu(struct goods *head);删除函数声明void jin ghuo(s

27、truct goods *head); 进货函数声明void xiaoshu(struct goods *head);销售函数声明void xiugai(struct goods *head); 修改函数声明 void chax un( struct goods *head); 查询函数声明 struct goods *head二NULL;int k=0;system("cls");jiema n();printf("请选择你要的功能键:");sca nf("%d",&k);getchar();while(k!=0)head二

28、shuju();switch(k)case 1:luru();break;case 2:xiugai(head);break;case 3:chax un( head);break;case 4:xiaoshu(head);break;case 5:jin ghuo(head);break;case 6:sha nchu(head);break;case 0:exit(0);jiema n();printf("请选择你要的功能键:");sea nf("%d",&k); struct goods *baoe un( struct goods *he

29、ad) 保存函数 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=fope n("goods.txt","wb");p=head;if(fp=NULL )&&(p二二NULL) printf("读取数据失

30、败!");exit(O);while(p!二NULL) fprin tf(fp,"%dn%s n%dn%ft",p- >nu mber,p->n ame,p->shumu,p->jiage)Jp=p->n ext;printf("保存成功!n");fclose(fp);retur n(head);else if(ch=' n'|ch='N')printf("信息未保存到文件!n");head=shuju();retur n( head);elseprin tf(&

31、quot;sorry,please try aga in(y/n):");ch二getchar();putchar(IO);retur n(head);void chaxun(struct goods *head) 查询函数int a,c,i=0;struct goods *p1,*p2;char t20;printf(”1*商品编号查询n");printf(”2*商品名字查询n");printf("请选择你需要的功能键n");sca nf("%d",&a);getchar();if(a=1)printf("

32、;请输入四位编号:”); sea nf("%d", &c);getchar();while(c!=O&&i=0)p1=head;while(c!=p1-> number&&p1-> next!二NULL)查找商品p2=p1;p 1= p1-> next;if(c=p1- >nu mber)printf("n 商品编号t名字t数目t价格:n");prin tf("%dt%st %dt %.2fn",p1-> nu mber,p1-> name,p1->sh

33、umu,p1->jiage);i=1;elseprintf("系统中无该商 品记录 !pressenterreturn!n");getchar();system("cls");return;if(a=2&&i=0)sea nf("%s",& t);getchar();while(strcmp(t,"O")!=O&&i=0)pl二head;if(strcmp(t,p1->name)!=0&&p1->next!二NULL)查找商品p2=p1;p1

34、=p1- >n ext;if(strcmp(t,p1- >n ame)=0)printf("n商品编号t名字t数目t价格:n");printf("%dt%st %dt %fn",p1->number,p1->name,p1->shumu,p1->jiage);i=1;else pri ntf(" 系统 中 无该商 品记录 !pressen terreturn!n");getchar();system("cls");return;struct goods *baoc un( str

35、uct goods *head);int c;int p;struct goods *p1,*p2;system("cls");printf("请输入四位编号:");sca nf("%d",&p);p1二head;while(p!=p1-> number&&p1-> next!二NULL)查找商品p2=p1;p1=p1->n ext;if(p=p1- >nu mber)printf("n商品编号t商品名t数量t价格n");prin tf("%dtt%stt%

36、dtt%fn",p1-> nu mber,p1-> name,p1->shumu,p1->ji age);sca nf("%d", &c);p1->shumu二p1->shumu+c;printf("该商品经货个数:%dn",p1->shumu);baocu n( head);保存数据 void luru()struct goods *shuju(); 调用函数struct goods *baoc un( struct goods *head);struct goods *p1,*p2,*p3;

37、head二shuju();p1二head;p2=(struct goods *)malloc(LEN);printf("请输入四位编号:");sca nf("%d",&p2-> nu mber);printf("请输入商品名:");sca nf("%s",p2-> name);sea nf("%d",&p2->shumu); printf("请输入商品价格:");sea nf("%f",&p2->jiage)

38、;if(p1二二NULL)p仁 p2;p2-> next二NULL;baoc un( p2);return;while(p1!=NULL)p3=p1;p 1= p1-> next;p3->n ext=p2;p2-> next二NULL;baocun(head);保存数据 void shanchu(struct goods *head) 删除函数struct goods *p1,*p2;struct goods *baoc un( struct goods *head); int p;system("cls");printf("请输入四位编号

39、:”);sea nf("%d",&p);pl二head;while(p!=p1-> nu mber&&p1-> next!二NULL)查找商品p2=p1;p 1= p1-> next;if(p=p1- >nu mber)printf("n商品编号t商品名t数量t价格n");printf("%dtt%stt%dtt%.2fn",p1-> number,p1-> name,p1->shumu,p1->jiage);if(p1=head) head二p1- >n

40、ext;else p2->n ext=p1- >n ext ;n=n-1;printf("删除成功!n");baoc un( head); struct goods *shuju() 数据读取函数int n=0;FILE *fp;struct goods *head二NULL,*p1,*p2;fp二fope n("goods.txt","rb");if(fp=NULL)printf("nsorry,读取数据失败!n");exit(0);elsep1=p2=(struct goods *)malloc(L

41、EN);fsca nf(fp,"%d%s%d%f",&p1-> nu mber,p1-> name,&p1->shumu,&p1->jia ge);while(!feof(fp)n+;if(n二=1)head二p1;else p2->n ext=p1;p2=p1;p1=(struct goods *)malloc(LEN);fsca nf(fp,"%d%s%d%f",&p1-> nu mber,p1-> name,&p1->shumu,&p1->jiag

42、e);p2-> next二NULL;fclose(fp);return(head);void jiema n()界面函数printf( "*n");n");pri ntf("*1 *n");prin tf("*2 *n");prin tf("*3 *n");prin tf("*4 *n");prin tf("*5 *n");prin tf("*6 *n");prin tf("*0 *n");printf(" 欢

43、迎进入商品管理系统n");printf( "*n");printf(" 欢迎进入商品管理系统void xiaoshu(struct goods *head) 销售函数 struct goods *baoc un( struct goods *head);int c;int p;struct goods *p1,*p2;system("cls");printf("请输入四位编号:");sca nf("%d",&p);getchar();查找商品p1二head;while(p!=p1->

44、; number&&p1-> next!二NULL) p2=p1;p1=p1->n ext;if(p=p1- >nu mber)printf("n商品编号t商品名t数量t价格n");prin tf("%dtt%stt%dtt%fn",p1-> nu mber,p1-> name,p1->shumu,p1->ji age);printf("请输入该商品售货个数:");sca nf("%d", &c);p1->shumu=p1->shumu-

45、c;printf("该商品经货个数:%dn",p1->shumu); baocu n( head);保存数据void xiugai(struct goods *head) 修改函数struct goods *baoc un( struct goods *head);int p,i=0;struct goods *p1,*p2;system("cls");printf("请输入四位编号:");sca nf("%d",&p);getchar();if(p!=O)pl二head;while(p!=p1-&g

46、t; number&&p1-> next!二NULL)查找商品p2=p1;p1=p1->n ext;if(p=p1- >nu mber)printf("n 商品编号t名字t数目t价格:n");printf(" %dt%st %dt %fn",p1->number,p1->name,p1->shumu,p1->jiage);printf("请输入要修改的新商品编号");sca nf("%d",&p1-> nu mber);i=1;if(i=1)p

47、rintf("修改后新商品编号 名字数目 价格:n");prin tf("%d%s%d%f",p1-> nu mber,p1-> name,p1->shumu,p1->jiage);printf("修改成功!n");baoc un( head);四.系统运行请按要求操作界面肉負欢迎进入商品管理系统*欧(=" 自 * rTJ u 址 njjjigjuijufcj 址订 tjpu urAr Jbr Jlr 丿 J 討 与 e J In吟科角 *««*««*«

48、;*««*««MM><><>< i1 气峠 muuHU uhuiijrjuhu u rw 与*T F 蛍 X刘 mmmmmmmmmmmmmm ” RM M M 审 F< WMMWMMMMMMMKMMK M MjE-* rx >4:M. W. JFI. i-j .£-< i-i盲息.* 昼息*A1*I.-M! -m!*"貝广W欢迎钳入商品管理系出系统* *耳 耳耳耳耳 耳r u i-r »r i-*1 t-r情选择你要的功能犍:录入A1*1 *ftas io x 阴* 翡贪

49、欢迎进入商品管理系统也*50城址昇X X/W 城址弭X X拭XifXXHfaotiMKifxEMEaHHMTmtSM 科* 命翡凸'u u ,-1 I E K 【彳不褂*百 *- X障息 更剧® 了?' 言息 宫息 言息.* 倩息*=11暂!p "量 的编名数价文 要位品品品到 你四商商商存 择入入入入保 选否 请请请IW请是呆存成助 枚幻*喰歩迎迸入商品管理系*i 菁老入信息、*<*由凸? 豪僱改,信息、“*"“*凸凸色查询-n x函IHIU!晞名字ca aa数目11价格;11.001译入信息石菇 彼條改信息、萱 呎巨询信*4肖售霜息亲 诙

50、删阵信息哥 其退出索统占其【耳:M K押 卜t I W L X Jt Jt )( 【X現MT 1( , W置*进货091请输入四位编号商品宀aaaa廿品编百mi请输入该商品经货个数;“ 谆商品经货个数曲 是否保存到文件儿汁数量11价格贋存成功t畧?篡鬧G遏轧牖篇眷蜀蒙第J# p*i曲確改4k*3啬询彳I®1It't口 JlLi><l< MMMMMMMMMMMMMMP| >f >< > J' 1-r- -sl|r T"1" '-Tr >' i',r i1 'u_r口 心

51、贸貢*口M MM MMM SMMMM MMM «M'書 FlXlfcJkJifaJhJkJUXlIfcilkJifaJhJ faJ显 J J,n 心匸THK 珥 K U 冥艮,T 口mmmmmmmmmmmmmmM rm M M删阶信:息右 |*0 *M 出系统£? *N* WMWWMJtltM 音 矗it欢迎进人商品管理紊统* 请选择你要的功能犍:销售请输入四位编号寸1"保彳于威功:懿S3数量价格22d L_j*-T'*r口 jnk >T >T mmmmmmmmmmmkmmJKP>1 >f >4/-r|Lr-'*rr r* 't t1 "-r口 些 MM M ""«««««« ""««« 

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论