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

下载本文档

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

文档简介

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

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

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

4、函数 .74系统运行 .185总结 .20系统分析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.1 总体设计

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

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

8、定新的库存量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.1 main 函数#include stdio.h#include string.h#include stdlib.h#define PR printf#define SC scanfstruct 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(*ttto go into .tttt* );PR(

12、n*tttttttt*n);PR(*-theGoodsInformationManageaent 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;i1;i+)PR(nnn);PR(ntttthe Goods Information Man

13、ageaent system tnn);PR(t1input goods informationnn);PR(t2paixu goods information nn);PR(t3input jinhuo informationtt6 xiugai goods informationnn);PR(t4input sell informationtt7 chaxun goods informationnn);PR(t5 zengjia/shanchu goodstt8 baocun goods informationnn);PR( tt );PR(nn);PR(t qing xuanze cha

14、ozuo(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: reserve();break;case 0: PR(nnt / / / / / _ nnt Thangyou, Welcome again, ByeB

15、yeO( _ )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); n); for(i=0;in;i+)PR(nt*input goods.num:); SC(%ld,&goodsi.num); PR(nt input :); SC(

16、%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); n);PR(tPlease press any key to continue:); getch();return;void sequence()long temp;char p130,p230;for(k=0;kn-1;k+)for(i=0;igoodsi+1.num)temp

17、=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);strcpy(goodsi+1.sort,p2);PR(-);PR(ntt anzhao bianhao paixu de shangpin xinxi nn);PR(tnumnamesortcountpricen

18、);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+1.name);strcpy(goodsi+1.name,p1);temp=goodsi.num;goodsi.num=goodsi+1.num;goodsi+1.num=temp;strcpy(p2,goodsi.sort);strcpy(

19、goodsi.sort,goodsi+1.sort);strcpy(goodsi+1.sort,p2);PR(-);PR(nttanzhao mingzhi paixude xinxin);PR(ntnumnamesortcountpricen);for(i=0;in;i+)PR(t %5s%5ld%5s%5ld%5ldn,,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

20、+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);strcpy(goodsi+1.name,p1);PR(-);PR(nttanzhao leibie paixude xinxinn);PR(tnumnamesortcountpricen);for(i=0;in;i+)PR(t %5s%5ld%5s%5ld%5ldn,goodsi.sort,good

21、si.num,,goodsi.count,goodsi.price);PR(-);PR(please press any key to continue:);getch();return;void purchase()long temp;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 shan

22、gpin xinxi :);for(i=0;in;i+)if(temp=goodsi.num)goodsi.count=goodsi.count+j;PR(ntnum name sort count price); for(i=0;in;i+)PR(nt %4ld %4s %4s %ld %4ld,goodsi.num,g ,goodsi.sort,goodsi.count,goodsi.price);PR(nnttPress any key to enter menu:);getch();return;void sell()long temp;int j;PR(nt5in

23、put sell goods.num:);SC(%ld,&temp);PR(nt5input sell goods.count:);SC(%d,&j);for(i=0;igoodsi.count;)PR(ntshouchu shuliang dayu yuanyou shuliang ,cuowu,qing chongxinshuru:);SC(%d,&j);goodsi.count=goodsi.count-j;PR(ntpress any key to contiue:);getch();system(cls);PR(nn *xiaoshou houde shangpin xinxi: )

24、;PR(ntsort num name count pricen); for(i=0;in;i+)PR(t %4s%4ld%4s%4ld%4ldn,goodsi.sort,goodsi.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);swit

25、ch(k)case 1: add();break;case 2: dele();break;getch();return;void add()PR(t*input 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,&go

26、odsn.price);n=n+1;PR(n);void dele()int temp;int j;for(i=0;in;i+)PR(ntnumnamesortcountprice);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=goo

27、dsj+1.num;strcpy(,goodsj+1.name);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(ntnumnamesortcountprice);PR(nt%5ld%5s%5s%5ld%5ld,goodsi.num,,goodsi.sort,goodsi.count,goodsi.price);PR(n);PR(Please press any key to

28、 continue:);getch();return;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.cou

29、nt:);SC(%d,&goodsi.count);PR(ntinput new goods.price:);SC(%d,&goodsi.price);PR(n);for(i=0;in;i+)PR(ntnew namenumsortcountpricen);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;long te

30、mp1;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(nnnnnttinput search goods.nu

31、m:); SC(%ld,&temp1);system(cls);for(i=0;in;i+)if(temp1=goodsi.num)PR(n);PR(ntnumnamesortcountprice);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);for(i=0;in;i+)if(strcmp(temp2,goodsi.n

32、ame)=0)PR(n);PR(ntnumnamesortcountprice);PR(nt %5ld %5s %5s %5ld %5ld,goodsi.num,g ,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)=0)PR(n);PR(ntnumnamesortcountprice);PR(nt %5ld %

33、5s %5s %5ld %5ld,goodsi.num,g ,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 to enter menu:);getch();return;void reserve()FILE *fp;char f

34、ile15;system(cls);PR(nt*shuru wenjian lujing he wenjianming:);SC(%s,file);fp=fopen(file,w+);fprintf(fp,numtname tsorttcounttpricen);PR(numtname t sorttcounttpricen);for(i=0;in;i+)fprintf(fp,%ldtt%stt%stt%dtt%dn,goodsi.num,,goodsi.sort,g oodsi.count,goodsi.price);PR(%ldtt%stt%stt%dtt%dn,go

35、odsi.num,,goodsi.sort,goodsi.count,goodsi.price);fclose(fp);PR(wenjian yjing baocun!n);getch();system(cls);void quit()exit(0);系统运行1、输入新商品操作:由主菜单选择 1 进入运行 input函数,清屏进入 input函数界面,提示我们要进行商品信息的输入,含商品编号、名称、种类、数量和单价,利用 for 输入完成后,显示出“ Please press any key to continue ”,按任意健可返回主菜单。2、商品排序操作:主菜单选择2

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

37、商品的选择, 如选择 1 进行添加商品,接下来只要按要求分别输入商品编号、商品名称、商品类别、商品数量和价格, 系统就会自动按我们的输入进行保存, 其保存结果可以在查询或浏览函数中输出,输入完毕后,系统显示提示,按任意键便可返回主菜单。5、修改商品信息操作: 由主菜单选择 6 进入修改商品操作界面, 提示我们输入要进行修改的商品编号, 接着就可以逐一输入该商品编号对应的商品的新数据,输入完毕后将自动更改,并输出刚才所输入的内容。6、查询商品信息操作: 主菜单选择 7 可进入查询商品信息操作, 其查询显示有 4 种选择方式,我们选择其中一种后可以进行相应的查询,查询结果将会在同一界面输出,操作完

38、毕后便可按任意键返回主菜单。7、保存商品信息操作在有输入商品信息的情况下,我们可以在主菜单选择9 选项进行文件的保存操作,进入该界面在实行输入文件路径及文件名之后,系统将会进一步输出我们已保存的商品信息,之后按任意键可退出该界面, 返回主菜单,其界面如下所示:总结这次课程设计可以说是对我们学了一个学期的 C 语言程序 这本书的一个掌握与运用程度的考验, 因为是第一次设计一个完整的系统, 所以在刚开始做时,我个人来讲是比较迷茫的, 设计完了欢迎界面后, 对主函数以及子函数的设计没有什么具体的头绪, 后来经过请教老师和同学, 才懂得主函数与其子函数的调用关系,才能够对程序继续设计下去。当然作为第一

39、次的课程设计, 在设计过程中遇到比较多的问题还是不可避免的,在刚开始对一个个的子函数进行设计时, 甚至对于一些细节上的问题还是不够细心,经常会忽视语言程序设计代码的一些格式与要求, 导致程序运行时出现了许多错误, 后来根据系统的提示进行更改, 程序才得以顺利运行, 通过在这个过程中不断地让我懂得了细心对于一个程序员来说是多么的重要。另外,在设计时遇到的另一个较大的问题是最后一个子函数 “保存文件” 的设计,我个人认为文件这部分是比较难的, 再加上我对文件这部分在上课时就已经不是掌握的很好, 所以在写时感到相当的吃力, 之后,我又把书本上的文件的那一章的内容又仔细研究了一遍, 然后将自己写出来的一部分拿给较优秀的同学看看,向他们请教,最后终于达到设计里所达到的要求了。通过这次课程设计, 让我对程序设计过程有了更加深入的理解, 程序设计就有如解决一实际问题, 从解决实际问题的角度, 它主要分为几个步骤, 首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么 ;其次,从问题的要害入手, 从前到后的解决问题的每个方面, 即从输入开始入手, 着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处

温馨提示

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

评论

0/150

提交评论