用c语言设计一个超市管理系统程序,要求能添加商品,能查询商品,能购买商品,能展示商品。

如题所述

第1个回答  2013-07-28
超市管理系统
*/
#include<stdio.h>
#include<string.h>
//欢迎界面//
void welcome();
//功能浏览//
void mainMenu();
//购物结算//
void saleCalc();
//进货管理//
void addGoods();
//修改信息
void updateGoods();
//显示商品//
void showGoods();
//删除商品//
void deleteGoods();
//查询商品//
int searchGoods();
//购买结算
void saleCalc();
//更新库存//
void updateGoodsNum(int number,char name[50]);
//结构体
struct goods
{
char name[50];//商品名称
int num;//商品数量
float price;//商品价格
};
int count;//商品种类数量
goods list[1000];//声明goods的变量数组
char name[50];
void main()//主函数
{
int num;
welcome();
do{
mainMenu();
printf("请选择功能:");
scanf("%d",&num);
switch(num)
{
case 1:
saleCalc();
break;
case 2:
addGoods();
break;
case 3:
updateGoods();
break;
case 4:
showGoods();
break;
case 5:
deleteGoods();
break;
case 0:
break;
}
}while(num!=0);
}
void welcome()//欢迎界面
{
printf("-------------------------------------------------------------------------\n");
printf("****************欢迎使用超市管理系统*******************\n");
printf("-------------------------------------------------------------------------\n");
}
void mainMenu()//功能浏览界面
{
printf("****1.购物结算****\n");
printf("****2.进货管理****\n");
printf("****3.修改商品****\n");
printf("****4.显示商品****\n");
printf("****5.删除商品****\n");
printf("****0.退出系统****\n");
}
//查询信息
int searchGoods()//查询商品信息
{
printf("请输入您要购买商品的名字:");
scanf("%s",name);
for(int i=0;i<count;i++)
{
if(stricmp(name,list[i].name)==0)
{
return 1;
}
else
{
printf("对不起了,没有找到%c商品\n",name);
return -1;
}
}
}
//购物结算
void saleCalc()//购物结算
{
int number,i,s;
float priceGoods=0,sum=0,money;
char c=' ';
s=searchGoods();
do
{
if(s==-1)
{
s=searchGoods();
}else
{
printf("该商品b存在");
for(i=0;i<count;i++)
{
if(strcmp(name,list[i].name)==0)
{
priceGoods=list[i].price;
break;
}
}
printf("请输入您要购买的数量:");
scanf("%d",&number);
sum=priceGoods*number;
updateGoodsNum(-number,name);
printf("是否继续购买(y/n)");
fflush(stdin);
c=getchar();
}
}while(c=='y'||c=='Y');
printf("本次消费总金额为:%.2f",sum);
printf("请输入您的实际付款金额:");
scanf("%f",&money);
printf("找零:%.2f\n",money-sum);
}
//进货管理
void addGoods() //商品的录入
{
int i=0;
char c=' ';
do
{
printf("请输入商品的名称:");
fflush(stdin);
scanf("%s",list[i].name);
printf("请输入商品的数量:");
scanf("%d",&list[i].num);
printf("请输入商品的单价:");
scanf("%f",&list[i].price);
printf("是否继续(y/n)");
fflush(stdin);
c=getchar();
}while(c=='Y'||c=='y');
}
//更新库存
void updateGoodsNum(int number,char name[50])
{
int i;
for(i=0;i<count;i++)
{
list[i].num+=number;//list[i].num=list[i].num+number
}
}
//显示货物信息
void showGoods()
{
printf("商品名称\t数量\t单价\n");
for(int i=0;i<count;i++)
{
printf("%s\t%d\t%.2f\n",list[i].name,list[i].num,list[i].price);
}
}
//修改商品信息
void updateGoods()
{
int i;
printf("请输入您要修改商品的名字:");
scanf("%s",&name);
for(i=0;i<count;i++)
{
if(strcmp(name,list[i].name)==0)
{
printf("请输入新的商品名字:");
scanf("%s",list[i].name);
printf("请输入您要修改商品的数量:");
scanf("%d",list[i].num);
printf("请输入您要修改商品的单价:");
scanf("%f",list[i].price);
}
else
{
printf("对不起,没有找到该商品信息!");
}
}
}
//删除商品信息
void deleteGoods()
{
int index=-1;
printf("请输入您要删除的商品名字:");
scanf("%s",name);
for(int i=0;i<count;i++)
{
if(strcmp(name,list[i].name)==0)
{
index=i;
}
}if(index==-1)
{
printf("对不起!没有找到您要删除的商品信息!");
}
else{
for(int i=index;i<count;i++)
{
list[i]=list[i+1];
}
}
}
相似回答