C语言课程设计《商品销售管理系统》Word格式文档下载.docx
《C语言课程设计《商品销售管理系统》Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计《商品销售管理系统》Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
对某条商品的信息进行修改
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("
/*清屏*/
gotolp;
/*返回主界面*/
}
三、详细设计
(1)各功能函数:
{
printf("
\n请输入需要建立新库存的商品种类数量:
"
n);
printf("
\n…………………………………………………………………………………………………\n"
n;
i++)/*用循环实现输入n个商品*/
printf("
\n\t*请输入商品的编号:
scanf("
%ld"
goods[i].num);
\n\t请输入商品的名称:
—3—
%s"
goods[i].name);
\n\t请输入商品的种类:
goods[i].sort);
\n\t请输入商品的数量:
goods[i].count);
\n\t请输入商品的单价:
goods[i].price);
}
\tPleasepressanykeytocontinue:
getch();
return;
/*返回主界面*/
longtemp;
charp1[30],p2[30];
for(k=0;
k<
n-1;
k++)/*
(1):
按编号排序*/
n-k-1;
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);
--------------------------------------------------------------------------------\n"
\n\t\t按商品编号排序后的商品信息\n\n"
\t商品编号商品名称商品类别商品数量商品单价\n"
/*输出排序后商品信息*/
for(i=0;
\t%5ld%5s%5s%5ld%5ld\n"
goods[i].num,goods[i].name,goods[i].sort,goods[i].count,goods[i].price);
—4—
k++)/*
(2):
按商品名称排序*/
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);
\n\t\t按商品名称排序后的商品信息\n"
\n\t商品名称商品编号商品类别商品数量商品单价\n"
\t%5s%5ld%5s%5ld%5ld\n"
goods[i].name,goods[i].num,goods[i].sort,goods[i].count,goods[i].price);
k++)/*(3):
按商品类别排序*/
if(strcmp(goods[i].sort,goods[i+1].sort)>
-------------------------------------------------------------
—5—
-------------------"
\n\t\t按商品类别排序后的商品信息\n\n"
\t商品类别商品编号商品名称商品数量商品单价\n"
i++)
goods[i].sort,goods[i].num,goods[i].name,goods[i].count,goods[i].price);
--------------------------------------------------------------------------------"
pleasepressanykeytocontinue:
getch();
return;
voidpurchase()/*功能3:
进货商品信息*/
/*定义临时变量表示刚进货的商品编号*/
intj;
\n\t\5请输入刚进货的商品编号:
temp);
\n\t\5请输入刚进货的商品数量:
j);
\n\n\n\tpressanykeytocontiue:
\n\t输出进货后的商品信息:
i++)/*循环,寻找与进货相同的商品信息*/
if(temp==goods[i].num)
goods[i].count=goods[i].count+j;
/*自动更改商品数量*/
\n\t商品编号商品名商品类别商品数量商品价格"
i++)/*循环,输出进货后的商品信息*/
\n\t%4ld%4s%4s%ld%4ld"
}
\n\n\t\tPressanykeytoentermenu:
/*返回功能选择界面*/
—6—
voidsell()/*功能4:
/*定义临时变量temp表示刚销售的商品编号*/
\n\t\5请输入刚销售的商品编号:
\n\t\5请输入刚销售的商品数量:
i++)/*循环,找到刚销售的商品信息*/
for(;
j>
goods[i].count;
)/*如果销售额大于库存量,则出现错误提示*/
\n\t售出数量大于商品原有数量,出现错误,请重新输入:
goods[i].count=goods[i].count-j;
/*完成自动更改商品数量的功能*/
\n\tpressanykeytocontiue:
\n\n*销售后商品信息:
\n\t商品类别商品编号商品名称商品数量商品单价\n"
i++)/*循环,输出销售后商品信息*/
\t%4s%4ld%4s%4ld%4ld\n"
\n\tPressanykeytoentermenu:
}
voidedit()/*功能5:
添加或删除商品信息*/
voidadd();
/*声明子函数*/
voiddele();
—7—
\n\t请选择:
1.添加商品信息;
2.删除商品信息;
\t*请输入1或2继续:
switch(k)/*用switch语句实现功能选择*/
case1:
add();
break;
case2:
dele();
/*返回主菜单*/
voidadd()/*添加商品信息*/
{/*定义子函数*/
\t*请输入所添加商品的商品编号:
goods[n].num);
\n\t请输入所添加商品的名称:
goods[n].name);
\n\t请输入所添加商品的类别:
goods[n].sort);
\n\t请输入所添加商品的数量:
goods[n].count);
\n\t请输入所添加商品的价格:
goods[n].price);
n=n+1;
\n"
voiddele()/*删除商品信息*/
inttemp;
/*定义局部变量*/
\n\t%5ld%5s%5s%5ld%5ld"
\n*请输入要删除的商品编号:
\n\n"
—8—
for(j=i;
j<
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;
/*商品总库存量减少*/
/*输出删除后的商品信息*/
Pleasepressanykeytocontinue:
修改商品信息*/
/*定义局部变量*/
\n\t请输入要修改的商品的编号:
/*输入新的商品信息*/
i++)/*保存新的商品信息*/
if(temp==goods[i].num)
\t请输入一个新的的商品编号:
\n\t请输入新的商品的名称:
\n\t请输入新的商品的类别:
—9—
\n\t请输入新的商品的数量:
\n\t请输入新的商品价格:
\n\t新的商品名称商品编号商品类别商品数量商品单价\n"
\t%4s%4ld%4s%4ld%4ld"
intk;
longtemp1;
chartemp2[30],temp3[20];
\n\t\5按商品编号查询,请按1\t\t\t\5按商品名查询,请按2\n\t\5按商品类别查询,请按3\t\t\t\5查需要进货的商品,请按4\n"
\n\n\n\t\t\t请输入数字确定查询方式:
Pressanykeytocontinue:
switch(k)/*实现查询方式的选择*/
{printf("
\n\n\n\n\n\t\t请输入要查询的商品的编号:
/*按商品编号查询*/
temp1);
—10—
if(temp1==goods[i].num)
}break;
/*跳出switch语句*/
\n\n\n\n\n\t\t请输入要查询的商品名:
/*按商品名查询数据*/
temp2);
if(strcmp(temp2,goods[i].name)==0)
case3:
\n\n\n\n\n\t\t请输入要查询的商品类别:
/*按商品类别查询数据*/
scanf