收藏 分销(赏)

C语言课程设计商品销售管理系统.doc

上传人:a199****6536 文档编号:3530211 上传时间:2024-07-08 格式:DOC 页数:33 大小:139KB
下载 相关 举报
C语言课程设计商品销售管理系统.doc_第1页
第1页 / 共33页
C语言课程设计商品销售管理系统.doc_第2页
第2页 / 共33页
C语言课程设计商品销售管理系统.doc_第3页
第3页 / 共33页
C语言课程设计商品销售管理系统.doc_第4页
第4页 / 共33页
C语言课程设计商品销售管理系统.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、C语言课程设计商品销售管理系统332020年4月19日文档仅供参考 商品销售管理系统 目录一、 需求分析.2二、 概要设计.2三、 详细设计.4四、 调试分析.14五、 用户手册.14六、 测试数据.15七、 附录.18 1一、需求分析 商品销售管理程序 商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。 记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。(要求:1.源文件采用多文件的工程结构2.数据存储

2、采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)二、 概要设计 (一)按系统分析的功能要求将系统划分为以下几个主要功能模块: 1、文件管理 文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,能够把其保存在一个文件中,并对该文件可进行打开和关闭操作。2、进出货管理(1)商品进货: 输入数据后商品信息能自动更新进行添加(2)商品销售: 输入数据后商品信息能自动更新进行减少3、商品数据管理(1)增加/删除商品: 添加或删除某条商品的信息(2)修改商品信息: 对某条商品的信息进行修改4、浏览商品信息管理(1)查询商品信息:可分别按商品编号、

3、名称、类别或需要进货商品查询(2)排序商品信息: 可按商品编号、名称、类别分别排排序 (3)浏览商品信息:可浏览输入、查询或排序后的数据。 (二)本程序结构 (1)结构体设计 struct goods long int num; char name20; char sort20; long int count; long int price; goods200;(2)各功能函数设计: void input() /*功能1:输入商品信息*/ 2 void sequence() /*功能2:排序商品信息*/ void purchase() /*功能3:进货商品信息*/ void sell() /*

4、功能4:销售商品信息*/ void edit() /*功能5:添加或删除商品信息*/ void correct() /*功能6:修改商品信息*/ void search() /*功能7:查询商品信息*/ void scan() /*功能8:浏览商品信息*/ void reserve() /*功能9:保存文件*/ void quit() /*退出系统*/(3) 主函数设计: void main () void input(); void sequence(); void purchase(); void sell(); void edit(); void correct(); void sear

5、ch(); void scan(); void reserve(); lp: for(i=0;i1;i+) scanf(%d,&k); system(cls);switch(k) /*用switch语句实现功能选择*/system(cls); /*清屏*/ goto lp; /*返回主界面*/三、详细设计 (1)各功能函数: void input() /*功能1:输入商品信息*/ printf(n 请输入需要建立新库存的商品种类数量:); scanf(%d,&n); system(cls); printf(n n); for(i=0;in;i+) /*用循环实现输入n个商品*/ printf(

6、nt*请输入商品的编号:); scanf(%ld,&goodsi.num); printf(nt 请输入商品的名称:); 3 scanf(%s,goodsi.name); printf(nt 请输入商品的种类:); scanf(%s,goodsi.sort); printf(nt 请输入商品的数量:); scanf(%d,&goodsi.count); printf(nt 请输入商品的单价:); scanf(%d,&goodsi.price); printf(n n); printf(tPlease press any key to continue:); getch(); return; /

7、*返回主界面*/ void sequence() /*功能2:排序商品信息*/ long temp; char p130,p230; for(k=0;kn-1;k+) /*(1): 按编号排序*/ for(i=0;igoodsi+1.num) /*按编号由小到大排序*/ temp=goodsi.num; goodsi.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p1,goodsi.name); strcpy(goodsi.name,goodsi+1.name); strcpy(goodsi+1.name,p1); strcpy(p2,goodsi.s

8、ort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2);printf(-n); printf(ntt按商品编号排序后的商品信息nn); printf(t商品编号 商品名称 商品类别 商品数量 商品单价n); /*输出排序后商品信息*/ for(i=0;in;i+) printf(t %5ld %5s %5s %5ld %5ldn,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); 4 for(k=0;kn-1;k+) /*(2): 按商品名称排序

9、*/ for(i=0;i0) strcpy(p1,goodsi.name); strcpy(goodsi.name,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(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); printf(-n); printf(ntt按商品名称排序后的商品信息n); printf(nt商品名称 商

10、品编号 商品类别 商品数量 商品单价n); /*输出排序后商品信息*/ for(i=0;in;i+) printf(t %5s %5ld %5s %5ld %5ldn,goodsi.name,goodsi.num,goodsi.sort,goodsi.count,goodsi.price); for(k=0;kn-1;k+) /*(3): 按商品类别排序*/ for(i=0;i0) strcpy(p2,goodsi.sort); strcpy(goodsi.sort,goodsi+1.sort); strcpy(goodsi+1.sort,p2); temp=goodsi.num; goods

11、i.num=goodsi+1.num; goodsi+1.num=temp; strcpy(p1,goodsi.name); strcpy(goodsi.name,goodsi+1.name); strcpy(goodsi+1.name,p1); printf(- 5-); printf(ntt按商品类别排序后的商品信息nn); printf(t商品类别 商品编号 商品名称 商品数量 商品单价n); /*输出排序后商品信息*/ for(i=0;in;i+) printf(t %5s %5ld %5s %5ld %5ldn,goodsi.sort,goodsi.num,goodsi.name,g

12、oodsi.count,goodsi.price); printf(-); printf(please press any key to continue:); getch(); return; /*返回主界面*/ void purchase() /*功能3:进货商品信息*/ long temp; /*定义临时变量表示刚进货的商品编号*/ int j; printf(nt5请输入刚进货的商品编号:); scanf(%ld,&temp); printf(nt5请输入刚进货的商品数量:); scanf(%d,&j); printf(nnntpress any key to contiue:); g

13、etch(); system(cls); printf(nt输出进货后的商品信息:); for(i=0;in;i+) /*循环,寻找与进货相同的商品信息*/ if(temp=goodsi.num) goodsi.count=goodsi.count+j; /*自动更改商品数量*/ printf(nt商品编号 商品名 商品类别 商品数量 商品价格); for(i=0;in;i+) /*循环,输出进货后的商品信息*/ printf(nt %4ld %4s %4s %ld %4ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.pric

14、e); printf(nnttPress any key to enter menu:); getch(); /*返回功能选择界面*/ return; 6void sell() /*功能4:销售商品信息*/ long temp; /*定义临时变量temp表示刚销售的商品编号*/ int j; printf(nt5请输入刚销售的商品编号:); scanf(%ld,&temp); printf(nt5请输入刚销售的商品数量:); scanf(%d,&j); for(i=0;igoodsi.count;) /*如果销售额大于库存量,则出现错误提示*/ printf(nt售出数量大于商品原有数量,出现

15、错误,请重新输入:); scanf(%d,&j); goodsi.count=goodsi.count-j; /*完成自动更改商品数量的功能*/ printf(ntpress any key to contiue:); getch(); system(cls); /*清屏*/ printf(nn *销售后商品信息:); printf(nt商品类别 商品编号 商品名称 商品数量 商品单价n); for(i=0;in;i+) /*循环,输出销售后商品信息*/ printf(t %4s %4ld %4s %4ld %4ldn,goodsi.sort,goodsi.num,goodsi.name,go

16、odsi.count,goodsi.price); printf(ntPress any key to enter menu:); getch(); return; /*返回功能选择界面*/ void edit() /*功能5:添加或删除商品信息*/ void add(); /*声明子函数*/void dele(); 7printf(nt请选择:1.添加商品信息; 2.删除商品信息;);printf(t*请输入 1或2 继续:);scanf(%d,&k);switch(k) /*用switch语句实现功能选择*/ case 1: add();break; case 2: dele();brea

17、k; getch(); return; /*返回主菜单*/ void add() /*添加商品信息*/ /*定义子函数*/ printf(t*请输入所添加商品的商品编号:); scanf(%ld,&goodsn.num); printf(nt请输入所添加商品的名称:); scanf(%s,goodsn.name); printf(nt请输入所添加商品的类别:); scanf(%s,goodsn.sort); printf(nt请输入所添加商品的数量:); scanf(%d,&goodsn.count); printf(nt请输入所添加商品的价格:); scanf(%d,&goodsn.pric

18、e); n=n+1; printf(n); void dele() /*删除商品信息*/ /*定义子函数*/ int temp; /*定义局部变量*/ int j; for(i=0;in;i+) printf(nt商品编号 商品名 商品类别 商品数量 商品价格); printf(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); printf(n); printf(n); printf(n*请输入要删除的商品编号:); scanf(%ld,&temp);printf(n

19、n); 8 for(i=0;in;i+) if(temp=goodsi.num) for(j=i;jn;j+) goodsj.num=goodsj+1.num; strcpy(goodsj.name,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+) printf(nt商品编号 商品名 商品类别 商品数量 商品价格); /*输出删除后的商品信息*/ printf

20、(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); printf(n); printf(Please press any key to continue:); getch(); return; /*返回主界面*/ void correct() /*功能6:修改商品信息*/ long temp; /*定义局部变量*/printf(nt请输入要修改的商品的编号:); scanf(%ld,&temp); /*输入新的商品信息*/printf(n);for(i=0;in;i+

21、) /*保存新的商品信息*/ if(temp=goodsi.num) printf(t请输入一个新的的商品编号:); scanf(%ld,&goodsi.num); printf(nt请输入新的商品的名称:); scanf(%s,goodsi.name); printf(nt请输入新的商品的类别:); 9 scanf(%s,goodsi.sort); printf(nt请输入新的商品的数量:); scanf(%d,&goodsi.count); printf(nt请输入新的商品价格:); scanf(%d,&goodsi.price); printf(n); for(i=0;in;i+) pr

22、intf(nt新的商品名称 商品编号 商品类别 商品数量 商品单价n); printf(t %4s %4ld %4s %4ld %4ld,goodsi.name,goodsi.num,goodsi.sort,goodsi.count,goodsi.price); printf(n); printf(Please press any key to continue:); /*返回功能选择界面*/ getch(); return; /*返回主菜单*/ void search() /*功能7:查询商品信息*/ int k; /*定义局部变量*/ long temp1; char temp230,te

23、mp320; printf(nt5按商品编号查询,请按1ttt5按商品名查询,请按2nt5按商品类别查询,请按3ttt5查需要进货的商品,请按4n); printf(nnnttt请输入数字确定查询方式:); scanf(%d,&k); printf(n); printf(Press any key to continue:); getch(); system(cls); switch(k) /*实现查询方式的选择*/ case 1: printf(nnnnntt请输入要查询的商品的编号:); /*按商品编号查询*/ scanf(%ld,&temp1); system(cls); /*清屏*/

24、for(i=0;in;i+) 10 if(temp1=goodsi.num) printf(n); printf(nt商品编号 商品名 商品类别 商品数量 商品价格); printf(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); break; /*跳出switch语句*/ case 2: printf(nnnnntt请输入要查询的商品名:); /*按商品名查询数据*/ scanf(%s,temp2); system(cls); for(i=0;in;i+) if(

25、strcmp(temp2,goodsi.name)=0) printf(n); printf(nt商品编号 商品名 商品类别 商品数量 商品价格); printf(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); break; /*跳出switch语句*/ case 3: printf(nnnnntt请输入要查询的商品类别:); /*按商品类别查询数据*/ scanf(%s,temp3); system(cls); for(i=0;in;i+) if(strcmp(t

26、emp3,goodsi.sort)=0) printf(n); printf(nt商品编号 商品名 商品类别 商品数量 商品价格); printf(nt %5ld %5s %5s %5ld %5ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi 11 .price); break; /*跳出switch语句*/ case 4: int a=50; for(i=0;in;i+) /*查询需要进货的商品名*/ if(goodsi.counta) printf(ntt4需要进货的商品名:%s 现有库存量:%ldn,goodsi.name

27、,goodsi.count); break; /*跳出switch语句*/ printf(nnttPress any key to enter menu:); getch(); return; /*返回主界面*/ void scan() /*功能8:浏览商品信息*/ printf(nt浏览输入的商品信息,请按1nnt浏览查询的商品信息,请按2nnt浏览排序后商品信息,请按3n);printf(请选择:);scanf(%d,&k); switch(k) case 1: printf(ttt浏览输入的商品信息n); printf(t商品编号 商品名 商品类别 商品数量 商品价格n);/*输出浏览商

28、品信息*/ for(i=0;in;i+) printf(t%5ld %5s %5s %5ld %ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); printf(n); printf(Press any key to enter menu:); getch(); return; break; /*跳出switch语句*/ case 2: printf(ttt浏览查询的商品信息n); 12 printf(t商品编号 商品名 商品类别 商品数量 商品价格n);/*输出浏览商品信息*/ for(i=0;in;i+) pr

29、intf(t%5ld %5s %5s %5ld %ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); printf(n); printf(nPress any key to enter menu:); getch(); return; break; /*跳出switch语句*/ case 3: printf(ttt浏览按商品编号排序的商品信息n); printf(t商品编号 商品名 商品类别 商品数量 商品价格n);/*输出浏览商品信息*/ for(i=0;in;i+) printf(t%5ld %5s %5s %5ld %ld,goodsi.num,goodsi.name,goodsi.sort,goodsi.count,goodsi.price); printf(n); printf(nPress any key to enter menu:); getch(); return; /*返回主界面*/ break; /*跳出switch语句*/ void reserve() /*功能9:保存文件*/ FILE *fp;char file15; /*用来存放文件保存路径以及文件名*/ system(cls); /*清屏*/ printf(nt*请输入文件路径及文件名:);

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服