C语言课程设计《商品销售管理系统》_第1页
C语言课程设计《商品销售管理系统》_第2页
C语言课程设计《商品销售管理系统》_第3页
C语言课程设计《商品销售管理系统》_第4页
C语言课程设计《商品销售管理系统》_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

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

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

4、()/*功能 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 search();void scan();void reserve();

5、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(nt* 入商品的 号 :);scanf(%ld,&goodsi.num);printf(nt 入商品

6、的名称 :);3;.scanf(%s,);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;/*返回主界面 */void sequence()/*功能 2:排序商品信息 */long temp;char p130,p230;for

7、(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,);strcpy(,goodsi+1.name);strcpy(goodsi+1.name,p1);strcpy(p2,goodsi.sort);strcpy(goodsi.sort,goodsi+1.sort);strcpy(goodsi+1.sort,p2);printf(-n);-pr

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

9、1);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商品名称商品编号商品类别商品数量商品单价 n);/*输出排序后商品信息 */for(i=0;in;i+)printf(t %5s%5ld%5s%5ld%5ldn,,goodsi.num,goodsi.

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

11、ntf(-;.5-);printf(ntt按商品类别排序后的商品信息nn);printf(t商品类别商品编号商品名称商品数量商品单价 n);/*输出排序后商品信息 */for(i=0;in;i+)printf(t %5s%5ld%5s%5ld%5ldn,goodsi.sort,goodsi.num,,goodsi.count,goodsi.price);printf(-);printf(please press any key to continue:);getch();return;/*返回主界面 */void purchase() /*功能 3:进货商品信息 */lo

12、ng temp; /* 定义临时变量表示刚进货的商品编号 */ int j;printf(nt5请输入刚进货的商品编号:);scanf(%ld,&temp);printf(nt5请输入刚进货的商品数量:);scanf(%d,&j);printf(nnntpress any key to contiue:);getch();system(cls);printf(nt输出进货后的商品信息:);for(i=0;in;i+)/*循环,寻找与进货相同的商品信息*/if(temp=goodsi.num)goodsi.count=goodsi.count+j; /*自动更改商品数量 */printf(nt商

13、品编号商品名商品类别商品数量商品价格 );for(i=0;in;i+)/*循环,输出进货后的商品信息*/printf(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请

14、输入刚销售的商品编号:);scanf(%ld,&temp);printf(nt5请输入刚销售的商品数量:);scanf(%d,&j);for(i=0;igoodsi.count;)/*如果销售额大于库存量,则出现错误提示 */printf(nt售出数量大于商品原有数量,出现错误,请重新输入 :);scanf(%d,&j);goodsi.count=goodsi.count-j;/*完成自动更改商品数量的功能 */printf(ntpress any key to contiue:);getch();system(cls);/*清屏 */printf(nn*销售后商品信息: );printf(n

15、t商品类别商品编号商品名称商品数量商品单价 n);for(i=0;in;i+)/*循环,输出销售后商品信息*/printf(t %4s%4ld%4s%4ld%4ldn,goodsi.sort,goodsi.num,,goodsi.count,goodsi.price );printf(ntpress any key to enter menu:);getch();return;/*返回功能选择界面 */void edit() /*功能 5:添加或删除商品信息 */;.void add(); /*声明子函数 */void dele(); 7printf(nt请选择: 1.

16、添加商品信息;2.删除商品信息; );printf(t*请输入 1 或 2 继续: );scanf(%d,&k);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请输入所添加商品的类别

17、:);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(i=0;in;i+)printf(nt商品编号商品名商品类别商品数量商品价格 );printf(nt %5ld%5s%5s%5ld%5ld,goodsi.num,,goodsi.so

18、rt,goodsi.count,goodsi.price);printf(n);printf(n);printf(n*请输入要删除的商品编号:);.scanf(%ld,&temp);printf(nn);8for(i=0;in;i+)if(temp=goodsi.num)for(j=i;jn;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=

19、n-1;/*商品总库存量减少 */for(i=0;in;i+)printf(nt商品编号商品名商品类别商品数量商品价格 );/*输出删除后的商品信息 */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; /*定义局部变量 */pr

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

21、请输入新的商品价格 :);scanf(%d,&goodsi.price);printf(n);for(i=0;in;i+)printf(nt新的商品名称商品编号商品类别商品数量商品单价 n);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:查询商

22、品信息 */int k;/*定义局部变量 */long temp1;char temp230,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: printf(nnnnntt 请输入要查询的商品的编号 :)

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

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

25、m(cls);for(i=0;in;i+)if(strcmp(temp3,goodsi.sort)=0)printf(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;in;i+) /*查询需要进货的商品名 */if(goodsi.counta)printf(ntt4需要进货的商品名 :%

26、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,&k);switch(k)case 1: printf(ttt浏览输入的商品信息 n);printf

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

28、;/* 输出浏览商品信息 */ for(i=0;in;i+)printf(t%5ld%5s%5s%5ld%ld,goodsi.num,,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

29、;i+)printf(t%5ld %5s %5s %5ld %ld,goodsi.num ,,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*请输入文件路径及文件名:);scanf(%s,file);fp=fopen(file,w+);/*创建并打开一个文件,并得到该文件的地址*/;.fprintf(fp,商品编号 t 商品名 t商品类别 t 商品数量 t 商品价格 n);printf(商品编号 t商品名 t商品类别

温馨提示

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

最新文档

评论

0/150

提交评论