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

上传人:b****5 文档编号:5127238 上传时间:2022-12-13 格式:DOCX 页数:22 大小:83.51KB
下载 相关 举报
C语言课程设计《商品销售管理系统》.docx_第1页
第1页 / 共22页
C语言课程设计《商品销售管理系统》.docx_第2页
第2页 / 共22页
C语言课程设计《商品销售管理系统》.docx_第3页
第3页 / 共22页
C语言课程设计《商品销售管理系统》.docx_第4页
第4页 / 共22页
C语言课程设计《商品销售管理系统》.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

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

《C语言课程设计《商品销售管理系统》.docx》由会员分享,可在线阅读,更多相关《C语言课程设计《商品销售管理系统》.docx(22页珍藏版)》请在冰豆网上搜索。

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

C语言课程设计《商品销售管理系统》

商品销售管理系统

一、需求分析......................................2

二、概要设计......................................2

三、详细设计......................................4

四、调试分析......................................14

五、用户手册.....................................14

六、测试数据.....................................15

七、附录.........................................18

—1—

一、需求分析

商品销售管理程序

商品信息:

商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。

记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。

(要求:

1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)

二、概要设计

(一)按系统分析的功能要求将系统划分为以下几个主要功能模块:

1、文件管理

文件打开、关闭:

对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。

2、进出货管理

(1)商品进货:

输入数据后商品信息能自动更新进行添加

(2)商品销售:

输入数据后商品信息能自动更新进行减少

3、商品数据管理

(1)增加/删除商品:

添加或删除某条商品的信息

(2)修改商品信息:

对某条商品的信息进行修改

4、浏览商品信息管理

(1)查询商品信息:

可分别按商品编号、名称、类别或需要进货商品查询

(2)排序商品信息:

可按商品编号、名称、类别分别排排序

(3)浏览商品信息:

可浏览输入、查询或排序后的数据。

(二)本程序结构

(1)结构体设计

structgoods

{longintnum;

charname[20];

charsort[20];

longintcount;

longintprice;

}goods[200];

(2)各功能函数设计:

voidinput()/*功能1:

输入商品信息*/

—2—

voidsequence()/*功能2:

排序商品信息*/

voidpurchase()/*功能3:

进货商品信息*/

voidsell()/*功能4:

销售商品信息*/

voidedit()/*功能5:

添加或删除商品信息*/

voidcorrect()/*功能6:

修改商品信息*/

voidsearch()/*功能7:

查询商品信息*/

voidscan()/*功能8:

浏览商品信息*/

voidreserve()/*功能9:

保存文件*/

voidquit()/*退出系统*/

(3)主函数设计:

voidmain()

{

voidinput();

voidsequence();

voidpurchase();

voidsell();

voidedit();

voidcorrect();

voidsearch();

voidscan();

voidreserve();

lp:

for(i=0;i<1;i++)

scanf("%d",&k);

system("cls");

switch(k)/*用switch语句实现功能选择*/

system("cls");/*清屏*/

gotolp;/*返回主界面*/

}

三、详细设计

(1)各功能函数:

voidinput()/*功能1:

输入商品信息*/

{

printf("\n请输入需要建立新库存的商品种类数量:

");

scanf("%d",&n);

system("cls");

printf("\n…………………………………………………………………………………………………\n");

for(i=0;i

{

printf("\n\t*请输入商品的编号:

");

scanf("%ld",&goods[i].num);

printf("\n\t请输入商品的名称:

");

—3—

scanf("%s",goods[i].name);

printf("\n\t请输入商品的种类:

");

scanf("%s",goods[i].sort);

printf("\n\t请输入商品的数量:

");

scanf("%d",&goods[i].count);

printf("\n\t请输入商品的单价:

");

scanf("%d",&goods[i].price);

printf("\n…………………………………………………………………………………………………\n");

}

printf("\tPleasepressanykeytocontinue:

");

getch();

return;/*返回主界面*/

}

voidsequence()/*功能2:

排序商品信息*/

{

longtemp;

charp1[30],p2[30];

for(k=0;k

(1):

按编号排序*/

for(i=0;i

if(goods[i].num>goods[i+1].num)/*按编号由小到大排序*/

{

temp=goods[i].num;

goods[i].num=goods[i+1].num;

goods[i+1].num=temp;

strcpy(p1,goods[i].name);

strcpy(goods[i].name,goods[i+1].name);

strcpy(goods[i+1].name,p1);

strcpy(p2,goods[i].sort);

strcpy(goods[i].sort,goods[i+1].sort);

strcpy(goods[i+1].sort,p2);

}

printf("--------------------------------------------------------------------------------\n");

printf("\n\t\t按商品编号排序后的商品信息\n\n");

printf("\t商品编号商品名称商品类别商品数量商品单价\n");/*输出排序后商品信息*/

for(i=0;i

{

printf("\t%5ld%5s%5s%5ld%5ld\n",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);

—4—

}

for(k=0;k

(2):

按商品名称排序*/

for(i=0;i

if(strcmp(goods[i].name,goods[i+1].name)>0)

{

strcpy(p1,goods[i].name);

strcpy(goods[i].name,goods[i+1].name);

strcpy(goods[i+1].name,p1);

temp=goods[i].num;

goods[i].num=goods[i+1].num;

goods[i+1].num=temp;

strcpy(p2,goods[i].sort);

strcpy(goods[i].sort,goods[i+1].sort);

strcpy(goods[i+1].sort,p2);

}

printf("--------------------------------------------------------------------------------\n");

printf("\n\t\t按商品名称排序后的商品信息\n");

printf("\n\t商品名称商品编号商品类别商品数量商品单价\n");/*输出排序后商品信息*/

for(i=0;i

{

printf("\t%5s%5ld%5s%5ld%5ld\n",goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price);

}

for(k=0;k

按商品类别排序*/

for(i=0;i

if(strcmp(goods[i].sort,goods[i+1].sort)>0)

{

strcpy(p2,goods[i].sort);

strcpy(goods[i].sort,goods[i+1].sort);

strcpy(goods[i+1].sort,p2);

temp=goods[i].num;

goods[i].num=goods[i+1].num;

goods[i+1].num=temp;

strcpy(p1,goods[i].name);

strcpy(goods[i].name,goods[i+1].name);

strcpy(goods[i+1].name,p1);

}

printf("-------------------------------------------------------------

—5—

-------------------");

printf("\n\t\t按商品类别排序后的商品信息\n\n");

printf("\t商品类别商品编号商品名称商品数量商品单价\n");/*输出排序后商品信息*/

for(i=0;i

{

printf("\t%5s%5ld%5s%5ld%5ld\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);

}

printf("--------------------------------------------------------------------------------");

printf("pleasepressanykeytocontinue:

");

getch();

return;/*返回主界面*/

}

voidpurchase()/*功能3:

进货商品信息*/

{

longtemp;/*定义临时变量表示刚进货的商品编号*/

intj;

printf("\n\t\5请输入刚进货的商品编号:

");

scanf("%ld",&temp);

printf("\n\t\5请输入刚进货的商品数量:

");

scanf("%d",&j);

printf("\n\n\n\tpressanykeytocontiue:

");

getch();

system("cls");

printf("\n\t输出进货后的商品信息:

");

for(i=0;i

if(temp==goods[i].num)

goods[i].count=goods[i].count+j;/*自动更改商品数量*/

printf("\n\t商品编号商品名商品类别商品数量商品价格");

for(i=0;i

{

printf("\n\t%4ld%4s%4s%ld%4ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);

}

printf("\n\n\t\tPressanykeytoentermenu:

");

getch();/*返回功能选择界面*/

return;

}

—6—

voidsell()/*功能4:

销售商品信息*/

{

longtemp;/*定义临时变量temp表示刚销售的商品编号*/

intj;

printf("\n\t\5请输入刚销售的商品编号:

");

scanf("%ld",&temp);

printf("\n\t\5请输入刚销售的商品数量:

");

scanf("%d",&j);

for(i=0;i

{

if(temp==goods[i].num)

{

for(;j>goods[i].count;)/*如果销售额大于库存量,则出现错误提示*/

{

printf("\n\t售出数量大于商品原有数量,出现错误,请重新输入:

");

scanf("%d",&j);

}

goods[i].count=goods[i].count-j;/*完成自动更改商品数量的功能*/

}

}

printf("\n\tpressanykeytocontiue:

");

getch();

system("cls");/*清屏*/

printf("\n\n*销售后商品信息:

");

printf("\n\t商品类别商品编号商品名称商品数量商品单价\n");

for(i=0;i

{

printf("\t%4s%4ld%4s%4ld%4ld\n",goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);

}

printf("\n\tPressanykeytoentermenu:

");

getch();

return;/*返回功能选择界面*/

}

voidedit()/*功能5:

添加或删除商品信息*/

{

voidadd();/*声明子函数*/

voiddele();

—7—

printf("\n\t请选择:

1.添加商品信息;2.删除商品信息;");

printf("\t*请输入1或2继续:

");

scanf("%d",&k);

switch(k)/*用switch语句实现功能选择*/

{

case1:

add();break;

case2:

dele();break;

}

getch();

return;/*返回主菜单*/

}

voidadd()/*添加商品信息*/

{/*定义子函数*/

printf("\t*请输入所添加商品的商品编号:

");

scanf("%ld",&goods[n].num);

printf("\n\t请输入所添加商品的名称:

");

scanf("%s",goods[n].name);

printf("\n\t请输入所添加商品的类别:

");

scanf("%s",goods[n].sort);

printf("\n\t请输入所添加商品的数量:

");

scanf("%d",&goods[n].count);

printf("\n\t请输入所添加商品的价格:

");

scanf("%d",&goods[n].price);

n=n+1;

printf("\n");

}

voiddele()/*删除商品信息*/

{/*定义子函数*/

inttemp;/*定义局部变量*/

intj;

for(i=0;i

{

printf("\n\t商品编号商品名商品类别商品数量商品价格");

printf("\n\t%5ld%5s%5s%5ld%5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);

printf("\n");

}

printf("\n");

printf("\n*请输入要删除的商品编号:

");

scanf("%ld",&temp);

printf("\n\n");

—8—

for(i=0;i

{

if(temp==goods[i].num)

{

for(j=i;j

{

goods[j].num=goods[j+1].num;

strcpy(goods[j].name,goods[j+1].name);

strcpy(goods[j].sort,goods[j+1].sort);

goods[j].count=goods[j+1].count;

goods[j].price=goods[j+1].price;

}

n=n-1;/*商品总库存量减少*/

}

}

for(i=0;i

{

printf("\n\t商品编号商品名商品类别商品数量商品价格");/*输出删除后的商品信息*/

printf("\n\t%5ld%5s%5s%5ld%5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);

printf("\n");

}

printf("Pleasepressanykeytocontinue:

");

getch();

return;/*返回主界面*/

}

voidcorrect()/*功能6:

修改商品信息*/

{

longtemp;/*定义局部变量*/

printf("\n\t请输入要修改的商品的编号:

");

scanf("%ld",&temp);/*输入新的商品信息*/

printf("\n");

for(i=0;i

{

if(temp==goods[i].num)

{

printf("\t请输入一个新的的商品编号:

");

scanf("%ld",&goods[i].num);

printf("\n\t请输入新的商品的名称:

");

scanf("%s",goods[i].name);

printf("\n\t请输入新的商品的类别:

");

—9—

scanf("%s",goods[i].sort);

printf("\n\t请输入新的商品的数量:

");

scanf("%d",&goods[i].count);

printf("\n\t请输入新的商品价格:

");

scanf("%d",&goods[i].price);

printf("\n");

}

}

for(i=0;i

{

printf("\n\t新的商品名称商品编号商品类别商品数量商品单价\n");

printf("\t%4s%4ld%4s%4ld%4ld",goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price);

printf("\n");

}

printf("Pleasepressanykeytocontinue:

");/*返回功能选择界面*/

getch();

return;/*返回主菜单*/

}

voidsearch()/*功能7:

查询商品信息*/

{

intk;/*定义局部变量*/

longtemp1;

chartemp2[30],temp3[20];

printf("\n\t\5按商品编号查询,请按1\t\t\t\5按商品名查询,请按2\n\t\5按商品类别查询,请按3\t\t\t\5查需要进货的商品,请按4\n");

printf("\n\n\n\t\t\t请输入数字确定查询方式:

");

scanf("%d",&k);

printf("\n");

printf("Pressanykeytocontinue:

");

getch();

system("cls");

switch(k)/*实现查询方式的选择*/

{

case1:

{printf("\n\n\n\n\n\t\t请输入要查询的商品的编号:

");/*按商品编号查询*/

scanf("%ld",&temp1);

system("cls");/*清屏*/

for(i=0;i

{

—10—

if(temp1==goods[i].num)

{

printf("\n");

printf("\n\t商品编号商品名商品类别商品数量商品价格");

printf("\n\t%5ld%5s%5s%5ld%5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);

}

}

}break;/*跳出switch语句*/

case2:

{printf("\n\n\n\n\n\t\t请输入要查询的商品名:

");/*按商品名查询数据*/

scanf("%s",temp2);

system("cls");

for(i=0;i

{

if(strcmp(temp2,goods[i].name)==0)

{

printf("\n");

printf("\n\t商品编号商品名商品类别商品数量商品价格");

printf("\n\t%5ld%5s%5s%5ld%5ld",goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);

}

}

}break;/*跳出switch语句*/

case3:

{printf("\n\n\n\n\n\t\t请输入要查询的商品类别:

");/*按商品类别查询数据*/

scanf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1