C语言课程设计《商品销售管理系统》--精选文档_第1页
C语言课程设计《商品销售管理系统》--精选文档_第2页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、 商品销售管理系统 目录1、 需求分析.22、 概要设计.23、 详细设计.44、 调试分析.145、 用户手册.146、 测试数据.157、 附录.18 1一、需求分析 商品销售管理程序 商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。 记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于

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

3、称、类别分别排排序 (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:销售商品信息*/ void edit() /*功能5:添加

4、或删除商品信息*/ 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 search(); void scan(); void reserve()

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

6、printf("n n"); for(i=0;i<n;i+) /*用循环实现输入n个商品*/ printf("nt*请输入商品的编号:"); scanf("%ld",&goodsi.num); printf("nt 请输入商品的名称:"); 3 scanf("%s",); printf("nt 请输入商品的种类:"); scanf("%s",goodsi.sort); printf("nt 请输入商品的数量:&

7、quot;); scanf("%d",&goodsi.count); printf("nt 请输入商品的单价:"); scanf("%d",&goodsi.price); printf("n n"); printf("tPlease press any key to continue:"); getch(); return; /*返回主界面*/ void sequence() /*功能2:排序商品信息*/ long temp; char p130,p230; for(k=0;k&

8、lt;n-1;k+) /*(1): 按编号排序*/ for(i=0;i<n-k-1;i+) /*用起泡法排序*/ if(goodsi.num>goodsi+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

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

10、lt;n-1;k+) /*(2): 按商品名称排序*/ for(i=0;i<n-k-1;i+) if(strcmp(,goodsi+1.name)>0) 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(goodsi.sort,goodsi+1.sort); s

11、trcpy(goodsi+1.sort,p2); printf("-n"); printf("ntt按商品名称排序后的商品信息n"); printf("nt商品名称 商品编号 商品类别 商品数量 商品单价n"); /*输出排序后商品信息*/ for(i=0;i<n;i+) printf("t %5s %5ld %5s %5ld %5ldn",,goodsi.num,goodsi.sort,goodsi.count,goodsi.price); for(k=0;k<n-1;k+) /

12、*(3): 按商品类别排序*/ for(i=0;i<n-k-1;i+) /*用起泡法排序*/ if(strcmp(goodsi.sort,goodsi+1.sort)>0) 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); st

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

14、; 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(&

15、quot;nnntpress any key to contiue:"); getch(); system("cls"); printf("nt输出进货后的商品信息:"); for(i=0;i<n;i+) /*循环,寻找与进货相同的商品信息*/ if(temp=goodsi.num) goodsi.count=goodsi.count+j; /*自动更改商品数量*/ printf("nt商品编号 商品名 商品类别 商品数量 商品价格"); for(i=0;i<n;i+) /*循环,输出进货后的商品信息*/ pri

16、ntf("nt %4ld %4s %4s %ld %4ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); printf("nnttPress any key to enter menu:"); getch(); /*返回功能选择界面*/ return; 6void sell() /*功能4:销售商品信息*/ long temp; /*定义临时变量temp表示刚销售的商品编号*/ int j; printf("nt5请输入刚销售的商品编号:"); scan

17、f("%ld",&temp); printf("nt5请输入刚销售的商品数量:"); scanf("%d",&j); for(i=0;i<n;i+) /*循环,找到刚销售的商品信息*/ if(temp=goodsi.num) for(;j>goodsi.count;) /*如果销售额大于库存量,则出现错误提示*/ printf("nt售出数量大于商品原有数量,出现错误,请重新输入:"); scanf("%d",&j); goodsi.count=goodsi.

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

19、num,,goodsi.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);

20、switch(k) /*用switch语句实现功能选择*/ case 1: add();break; case 2: dele();break; getch(); return; /*返回主菜单*/ void add() /*添加商品信息*/ /*定义子函数*/ printf("t*请输入所添加商品的商品编号:"); scanf("%ld",&goodsn.num); printf("nt请输入所添加商品的名称:"); scanf("%s",); printf("nt请输入所

21、添加商品的类别:"); scanf("%s",goodsn.sort); printf("nt请输入所添加商品的数量:"); scanf("%d",&goodsn.count); printf("nt请输入所添加商品的价格:"); scanf("%d",&goodsn.price); n=n+1; printf("n"); void dele() /*删除商品信息*/ /*定义子函数*/ int temp; /*定义局部变量*/ int j; for

22、(i=0;i<n;i+) printf("nt商品编号 商品名 商品类别 商品数量 商品价格"); printf("nt %5ld %5s %5s %5ld %5ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); printf("n"); printf("n"); printf("n*请输入要删除的商品编号:"); scanf("%ld",&temp);printf("n

23、n"); 8 for(i=0;i<n;i+) if(temp=goodsi.num) for(j=i;j<n;j+) goodsj.num=goodsj+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;i<n;i+) printf("nt商品编号 商品名 商品类别 商品数量 商品价格

24、"); /*输出删除后的商品信息*/ printf("nt %5ld %5s %5s %5ld %5ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); printf("n"); printf("Please press any key to continue:"); getch(); return; /*返回主界面*/ void correct() /*功能6:修改商品信息*/ long temp; /*定义局部变量*/printf("

25、;nt请输入要修改的商品的编号:"); scanf("%ld",&temp); /*输入新的商品信息*/printf("n");for(i=0;i<n;i+) /*保存新的商品信息*/ if(temp=goodsi.num) printf("t请输入一个新的的商品编号:"); scanf("%ld",&goodsi.num); printf("nt请输入新的商品的名称:"); scanf("%s",); printf(&q

26、uot;nt请输入新的商品的类别:"); 9 scanf("%s",goodsi.sort); printf("nt请输入新的商品的数量:"); scanf("%d",&goodsi.count); printf("nt请输入新的商品价格:"); scanf("%d",&goodsi.price); printf("n"); for(i=0;i<n;i+) printf("nt新的商品名称 商品编号 商品类别 商品数量 商品单价n&q

27、uot;); printf("t %4s %4ld %4s %4ld %4ld",,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 temp

28、230,temp320; 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:

29、 printf("nnnnntt请输入要查询的商品的编号:"); /*按商品编号查询*/ scanf("%ld",&temp1); system("cls"); /*清屏*/ for(i=0;i<n;i+) 10 if(temp1=goodsi.num) printf("n"); printf("nt商品编号 商品名 商品类别 商品数量 商品价格"); printf("nt %5ld %5s %5s %5ld %5ld",goodsi.num,goodsi.na

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

31、 printf("nt %5ld %5s %5s %5ld %5ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); break; /*跳出switch语句*/ case 3: printf("nnnnntt请输入要查询的商品类别:"); /*按商品类别查询数据*/ scanf("%s",temp3); system("cls"); for(i=0;i<n;i+) if(strcmp(temp3,goodsi.sort)=0) p

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

33、品名:%s 现有库存量:%ldn",,goodsi.count); break; /*跳出switch语句*/ printf("nnttPress any key to enter menu:"); getch(); return; /*返回主界面*/ void scan() /*功能8:浏览商品信息*/ printf("nt浏览输入的商品信息,请按1nnt浏览查询的商品信息,请按2nnt浏览排序后商品信息,请按3n");printf("请选择:");scanf("%d",&

34、k); switch(k) case 1: printf("ttt浏览输入的商品信息n"); printf("t商品编号 商品名 商品类别 商品数量 商品价格n");/*输出浏览商品信息*/ for(i=0;i<n;i+) printf("t%5ld %5s %5s %5ld %ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price); printf("n"); printf("Press any key to enter m

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

36、;); printf("nPress any key to enter menu:"); getch(); return; break; /*跳出switch语句*/ case 3: printf("ttt浏览按商品编号排序的商品信息n"); printf("t商品编号 商品名 商品类别 商品数量 商品价格n");/*输出浏览商品信息*/ for(i=0;i<n;i+) printf("t%5ld %5s %5s %5ld %ld",goodsi.num,,goodsi.sort,goo

37、dsi.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*请输入文件路径及文件名:"); scanf("%s&qu

温馨提示

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

评论

0/150

提交评论