C语言课程设计商场商品信息管理系统报告论文_第1页
C语言课程设计商场商品信息管理系统报告论文_第2页
C语言课程设计商场商品信息管理系统报告论文_第3页
C语言课程设计商场商品信息管理系统报告论文_第4页
C语言课程设计商场商品信息管理系统报告论文_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要 c语言程序的发展与应用为各个方面均带来了较多的便捷,更为便捷的实现了数据的快捷运算和对数据的处理与应用,而本文主要介绍了商场商品信息管理系统,该程序有非常多的优点和便捷之处,为商场提供了很大的便利。 系统商场商品信息管理系统较好的运用到了商品管理系统中,运用数据管理系统较全面的实现了对商品的各种信息的处理运用,通过c语言程序中队各种 函数的运用对商品信息的处理和存储,完成了对商品信息的输入,以及对商品信息数据的处理,如对商品信息的排序,通过各种函数按照商品的编号和种类等方面对其进行排序,对商品新进货量与销售量的存储,处理和更新,以及向管理系统输入添加和删除商品信息,修改以及查询和处理商品

2、信息,还实现了对商品信息的总计统计,较为系统全面的对商品信息的各种处理,运用和更新,以及最后以文件形式完成了对信息的存储以及再次利用。关键字:c语言;商场商品信息管理系统;信息处理课程设计(论文)任务书学 院理学院专 业信息显示与光电技术学 生 姓 名王晗学 号1109040132课程设计(论文)题目商场商品信息管理系统设计要求(技术参数):进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。设计任务:商场商品信息管理系统实现了多种功能的对商品信息的处理和存储,实现了

3、对商品信息的输入,按照号码和名称种类对商品排序,新进货量与销售量的存储更新,添加和删除商品,修改以及查询和处理信息,最后对信息的处理和保存,比较全面的实现了商品信息的处理。进度安排:第一周 查阅资料 第二周 第一、二天 程序设计 ;第三、四天 程序调试与测试 ;第五天 答辩 成绩:指导教师(签字):年 月 日专业负责人(签字):年 月 日学院院长(签字):年 月 日目 录1 系统分析21.1 课程设计内容21.2 系统功能需求分析21.3 数据结构设计32 系统设计32.1 总体设计32.2 详细设计42.2.1 界面设计42.2.2 各功能模块的设计63 系统编码设计93.1 main函数9

4、4 系统运行225 总结26211 系统分析1.1 课程设计内容商场商品信息管理系统1.2 系统功能需求分析本系统应具有以下功能:1、 文件操作功能 文件操作:可建立、打开、保存、关闭数据文件。如果是新建的文件,可输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。2、数据输入功能输入进货信息:输入商品编号、数量完成进货操作。输入销售信息:输入商品编号、数量完成销售操作,注意当销售数量大于商品数量时,应出现错误提示。3、 数据添加、修改、删除功能添加:添加一种或多种新商品,并能输入其商品信息。修改:修改商品信息,可包括商品编号、名称、种类、数量和单价。删除:删除一类或多

5、类商品的所有信息。4、 计算功能 可通过查询商品信息功能,自动计算并输出需要进货的商品信息。5、 查询功能 可分别按商品编号、名称、类别和需要进货的商品进行查询。6、 排序功能 可分别按商品编号、名称、类别等进行排序。1.3 数据结构设计struct goods /*商品结构体*/ long int num; /*商品编号*/ char name20; /*商品名称*/ char sort20; /*商品类别*/ long int count; /*商品库存量*/ long int price; /*商品单价*/ goods200; /*最多200个商品*/2 系统设计2.1 总体设计按系统分

6、析的功能要求将系统划分为以下几个主要功能模块:1、 文件管理n 文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。2、 进出货管理n 商品进货: 输入数据后商品信息能自动更新进行添加n 商品销售: 输入数据后商品信息能自动更新进行减少三、商品数据管理n 增加/删除商品: 添加或删除某条商品的信息n 修改商品信息: 对某条商品的信息进行修改四、浏览商品信息管理n 查询商品信息:可分别按商品编号、名称、类别或需要进货商品查询n 排序商品信息: 可按商品编号、名称、类别分别排排序2.2 详细设计2.2.1 界面设计1、

7、 菜单设计n 欢迎界面:n 系统提示:n 菜单设计:2、 输入界面的设计3、 信息显示界面的设计2.2.2 各功能模块的设计根据划分的功能模块,定义以下函数实现各功能:(这部分应介绍各函数的原型,各功能模块实现所用的算法,可用流程图描述)1、 主函数main()定义主函数为空类型(void);利用选择结构(switch)实现在在主函数中的调用各个子函数,利用goto 和子函数中的return语句实现返回主菜单的循环。声明各个子函数输出欢迎界面输出菜单switch(m)1输入商品信息2排序商品信息3输入商品进货信息4输入商品销售信息5增加/删除商品6修改商品信息7查询商品信息8保存商品信息清屏幕

8、2、 子函数(1) void input():确定新的库存量n,输入商品信息,用for循环语句直到输入商品种类等于n,结束输入;(2) void sequence():对已有的商品进行排序,可按商品编号、名称、类别进行排序;(3) void purchase():进货函数主要是针对已有库存的商品,在原来的商品数量再增加:(4) void sale():要求用户输入所销售的编号,系统用for 循环查询该商品是否存在,不存在要求再进行输入,直到输入正确,输出销售商品:(5) void edit():因为在进货函数已经实现对已有商品的数量的增加,此模块函数主要实现对新商品的添加或对旧商品的删除,并自

9、动处理数据,可以在浏览中输出,用选择语句switch进行俩者操作的选择:(6) void correct():对有错误信息商品进行修改,输入需要修改的商品编号,用for 循环与if语句找到此商品,重新输入该商品的新信息,并输出:(7) void search():用switch(k)语句可分别按商品编号、名称、类别或需要进货商品查询;每个case选择中均用for语句查找要查询的商品,并输出查询结果。(8) void reserve():建立文件file *fp;char file15用来存放文件保存路径以及文件名,进行清屏,输入文件路径及文件名,利用fp=fopen(file,w+)实现创建并

10、打开一个文件,并得到该文件的地址的功能,显示fprintf(fp,商品编号t商品名 t商品类别t商品数量t商品价格n); 最后输出已保存文件,程序中是由pr(商品编号t商品名 t商品类别t商品数量t商品价格n);语句执行。3 系统编码设计(这部分将代码列出,注意,每个函数开始处要介绍函数的功能,重要的代码应有注释,代码格式按锯齿式编排)3.1 main函数#include stdio.h#include string.h#include stdlib.h#define pr printf#define sc scanf struct goods long int num; char name2

11、0; char sort20; long int count; long int price; goods200; int k,n,i; void main () void input();void sequence();void purchase(); void sell(); void edit(); void correct(); void search(); void reserve(); void exit(); pr(n *n *tttttttt *n);pr( * *);pr(n *tttttttt *n * welcometttttt *n *tttttttt *n);pr(

12、*tt to go into .tttt * );pr(n *tttttttt *n);pr( * -the goods information manageaent system- *n *tttttttt *n );pr( * *n);pr( *tttttttt *n *);pr(nntplease press any key to continue:);getch(); system(cls);pr( -$-$-$-$-$-$-$-$-$-);pr( nplease press any key to continue);getch();system(cls); lp: for(i=0;i

13、1;i+) pr(nnn); pr(nttt the goods information manageaent system tnn); pr(t 1 input goods informationnn); pr(t 2 paixu goods information nn); pr(t 3 input jinhuo informationtt6 xiugai goods informationnn); pr(t 4 input sell informationtt7 chaxun goods informationnn); pr(t 5 zengjia/shanchu goodstt8 ba

14、ocun goods informationnn); pr( tt ); pr(nn); pr(t qing xuanze chaozuo(xuan (0) tuichu):); sc(%d,&k); system(cls); switch(k) case 1: input();break; case 2: sequence();break; case 3: purchase();break; case 4: sell();break; case 5: edit();break; case 6: correct();break; case 7: search();break; case 8:

15、reserve();break; case 0: pr(nnt / / / / / _ nntthangyou,welcome again,byebyeo(_)o);exit(0); default: puts(shuru cuowu, qing fanhui zhucaidan :n); break; system(cls); goto lp; void input() pr(n qing shuru xuyao jianli xinkucun de shangpin zhonglei shuliang:); sc(%d,&n); system(cls); pr(n n); for(i=0;

16、in;i+) pr(nt*input goods.num:); sc(%ld,&goodsi.num); pr(nt input :); sc(%s,); pr(nt input goods.sort:); sc(%s,goodsi.sort); pr(nt input goods.count:); sc(%d,&goodsi.count); pr(nt input goods.price:); sc(%d,&goodsi.price); pr(n n); pr(tplease press any key to continue:); getch();

17、 return; void sequence() long temp; char p130,p230; for(k=0;kn-1;k+) for(i=0;igoodsi+1.num) temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p1,); strcpy(,goodsi+1.name); strcpy(goodsi+1.name,p1); strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); str

18、cpy(goodsi+1.sort,p2); pr(-); pr(ntt anzhao bianhao paixu de shangpin xinxi nn); pr(tnum name sort count pricen); for(i=0;in;i+) pr(t %5ld %5s %5s %5ld %5ldn,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); for(k=0;kn-1;k+) for(i=0;i0) strcpy(p1,); strcpy(,goodsi+

19、1.name); strcpy(goodsi+1.name,p1); temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); pr(-); pr(nttanzhao mingzhi paixude xinxin); pr(ntnum name sort count pricen); for(i=0;in;i+) pr(t %5s %5ld %5s %5ld %5

20、ldn,,goodsi.num,goodsi.sort,goodsi.count,goodsi.price); for(k=0;kn-1;k+) for(i=0;i0) strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p1,); strcpy(,goodsi+1.name);

21、 strcpy(goodsi+1.name,p1); pr(-); pr(nttanzhao leibie paixude xinxinn); pr(tnum name sort count pricen); for(i=0;in;i+) pr(t %5s %5ld %5s %5ld %5ldn,goodsi.sort,goodsi.num,,goodsi.count,goodsi.price); pr(-); pr(please press any key to continue:); getch(); return; void purchase() long temp

22、; int j; pr(nt5input new goods.num:); sc(%ld,&temp); pr(nt5input new goods.count:); sc(%d,&j); pr(nnntpress any key to contiue:); getch(); system(cls); pr(ntshuchu jinhuohoude shangpin xinxi :); for(i=0;in;i+) if(temp=goodsi.num) goodsi.count=goodsi.count+j; pr(ntnum name sort count price); for(i=0;

23、in;i+) pr(nt %4ld %4s %4s %ld %4ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); pr(nnttpress any key to enter menu:); getch(); return; void sell() long temp; int j; pr(nt5input sell goods.num:); sc(%ld,&temp); pr(nt5input sell goods.count:); sc(%d,&j); for(i=0;igoodsi.count;) pr(nt

24、shouchu shuliang dayu yuanyou shuliang ,cuowu,qing chongxin shuru:); sc(%d,&j); goodsi.count=goodsi.count-j; pr(ntpress any key to contiue:); getch(); system(cls); pr(nn *xiaoshou houde shangpin xinxi:); pr(ntsort num name count pricen); for(i=0;in;i+) pr(t %4s %4ld %4s %4ld %4ldn,goodsi.sort,goodsi

25、.num,,goodsi.count,goodsi.price); pr(ntpress any key to enter menu:); getch(); return; void edit() void add();void dele();pr(ntxuanze:1.add goods; 2.dele doods;);pr(t*input 1 or 2 go on :);sc(%d,&k);switch(k) case 1: add();break; case 2: dele();break; getch(); return; void add() pr(t*inpu

26、t add goods.num:); sc(%ld,&goodsn.num); pr(ntinput add :); sc(%s,); pr(ntinput add goods.sort:); sc(%s,goodsn.sort); pr(ntinput add goods.count:); sc(%d,&goodsn.count); pr(ntinput add goods.price:); sc(%d,&goodsn.price); n=n+1; pr(n); void dele() int temp; int j; for(i=0;in;i+)

27、pr(ntnum name sort count price); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); pr(n); pr(n); pr(n*input dele goods.num:); sc(%ld,&temp); pr(nn); for(i=0;in;i+) if(temp=goodsi.num) for(j=i;jn;j+) goodsj.num=goodsj+1.num; strcpy(,goodsj+1.name);

28、 strcpy(goodsj.sort,goodsj+1.sort); goodsj.count=goodsj+1.count; goodsj.price=goodsj+1.price; n=n-1; for(i=0;in;i+) pr(ntnum name sort count price); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); pr(n); pr(please press any key to continue:); getch(); retu

29、rn; void correct() long temp;pr(ntshuru xiugaide goods.num:);sc(%ld,&temp);pr(n);for(i=0;in;i+) if(temp=goodsi.num) pr(tinput new goods.num:); sc(%ld,&goodsi.num); pr(ntinput new :); sc(%s,); pr(ntinput new goods.sort:); sc(%s,goodsi.sort); pr(ntinput new goods.count:); sc(%d,&g

30、oodsi.count); pr(ntinput new goods.price:); sc(%d,&goodsi.price); pr(n); for(i=0;in;i+) pr(ntnew name num sort count pricen); pr(t %4s %4ld %4s %4ld %4ld,,goodsi.num,goodsi.sort,goodsi.count,goodsi.price); pr(n); pr(please press any key to continue:); getch(); return; void search() int k;

31、 long temp1; char temp230,temp320; pr(nt5search goods.num,xuan 1ttt5search , xuan 2nt5search goods.sort,xuan 3ttt5search xuyao jinhuode goods,xuan 4n); pr(nnntttqing shuru shuzi chaxu:); sc(%d,&k); pr(n); pr(press any key to continue:); getch(); system(cls); switch(k) case 1: pr(nnnnnttinp

32、ut search goods.num:); sc(%ld,&temp1); system(cls); for(i=0;in;i+) if(temp1=goodsi.num) pr(n); pr(ntnum name sort count price); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); break; case 2: pr(nnnnnttinput search :); sc(%s,temp2); system(cls); f

33、or(i=0;in;i+) if(strcmp(temp2,)=0) pr(n); pr(ntnum name sort count price); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); break; case 3: pr(nnnnnttinput search goods.sort:); sc(%s,temp3); system(cls); for(i=0;in;i+) if(strcmp(temp3,goodsi.sort)

34、=0) pr(n); pr(ntnum name sort count price); pr(nt %5ld %5s %5s %5ld %5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); break; case 4: int a=50; for(i=0;in;i+) if(goodsi.counta) pr(ntt4xuyaojinhode :%s xianyouliang:%ldn,,goodsi.count); break; pr(nnttpress any key

35、 to enter menu:); getch(); return; void reserve() file *fp;char file15; system(cls); pr(nt*shuru wenjian lujing he wenjianming:); sc(%s,file); fp=fopen(file,w+); fprintf(fp,numtname tsorttcounttpricen); pr(numtname t sortt countt pricen); for(i=0;in;i+) fprintf(fp,%ldtt%stt%stt%dtt%dn,goodsi.num,goo

36、,goodsi.sort,goodsi.count,goodsi.price); pr(%ldtt%stt%stt%dtt%dn,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); fclose(fp); pr(wenjian yjing baocun!n); getch(); system(cls); void quit() exit(0); 4 系统运行1、 输入新商品操作:由主菜单选择1进入运行input函数,清屏进入input函数界面,提示我们要进行商品信息的输入,含商品编号、名称、种类、数量和单

37、价,利用for输入完成后,显示出“please press any key to continue”,按任意健可返回主菜单。2、 商品排序操作:主菜单选择2可调用sequence函数,进入商品信息排序界面,其结果会自动显示出来。3、 进出货操作:由主菜单选择3或4,转入调用purchase 或sale函数中,清屏,出现进货或出货新页面,屏幕显示要求我们按照商品编号,输入需要进货的商品的数量,销售商品操作界面即要我们输入已销售商品的数量,当系统出现please press any key to continue 提示我们进出货操作已完成,数据已自动进行更改,按任意键可输出更新后的数据,再按任意键即可返回主菜单。4、 添加或删除商品:此模块操作的主要功能是实现对新商品的添加或删除,由主菜单选择5可进入选择页面,它提供了添加或删除商品的选择,如选择1进行添加商品,接下来只

温馨提示

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

最新文档

评论

0/150

提交评论