C语言课程设计《商品销售管理系统》.docx
- 文档编号:11755963
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:26
- 大小:83.39KB
C语言课程设计《商品销售管理系统》.docx
《C语言课程设计《商品销售管理系统》.docx》由会员分享,可在线阅读,更多相关《C语言课程设计《商品销售管理系统》.docx(26页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商品销售管理系统 语言 课程设计 商品 销售 管理 系统