
超市管理系统
/
#include<stdioh>
#include<stringh>
//欢迎界面//
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=priceGoodsnumber;
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];
}
}
}
我自己设计了一个,你试试! *** 作结束后按Ctrl+z显示清单。使用方面有什么不懂可以问我!
#include "stdioh"
typedef struct{
char node[100]; /商品编号/
char name[100];/商品名称/
float price;/商品价格/
} datatype;
typedef struct node{
datatype food[100];
int len;/存放商品总数/
}SPku;
datatype Input(void)
{datatype x;<br/> scanf("%s %s %f",xnode,xname,&xprice);<br/> printf("输入完毕!");<br/>return x;<br/>}
void create(SPku r)
{ int i;
printf("\n输入商品总数:");
scanf("%d",&r->len);
for(i=0;i<r->len;i++)
{printf("\n输入商品编号 名称 价格:"); <br/> r->food[i]=Input();<br/> }
}
int strlen(char s[])
{int i;<br/> for(i=0;i<s[i];i++);<br/> return i;<br/> }
int compare(char y[],char s[])
{int i;<br/>if(strlen(y)!=strlen(s))<br/> return 0;<br/>else<br/> for(i=0;i<strlen(y);i++)<br/> if(y[i]!=s[i])<br/> return 0;<br/> return 1;<br/>}
void Output(datatype f)
{
printf("\n%s %s %f",fnode,fname,fprice);
}
int judge(SPku r,char nd[])
{ int i;
for(i=0;i<r->len;i++)
if(compare(r->food[i]node,nd))
{ Output(r->food[i]) ;
return i;
}
return 1000;
}
main()
{SPku r,n;<br/> char nd[100];<br/> int k,j,i,y=0;<br/> printf("\n开始创建数据库");<br/> create(&r);<br/> printf("\n商品总单");<br/> for(i=0;i<rlen;i++)<br/> Output(rfood[i]);<br/> printf("\n");<br/>while((j=getchar())!=EOF)<br/> {<br/> printf("\n扫描输入商品的编号:");<br/> gets(nd);<br/> printf("输入成功!");<br/> k=judge(&r,nd);<br/> if(k==1000) <br/> printf("\n无此商品");<br/> else<br/> nfood[y++]=rfood[k];<br/> }
printf("\n商品清单");
nlen=y;
for(i=0;i<nlen;i++)
Output(nfood[i]);
}
程序不全吧?chars={"abc"应该是chars={"abc"};这句的意思就是把字符串常量"abc"的首地址赋值给s。然后打印s(即a,ascii码位97)%10的结果,即7,然后s自加1(即此时s指向b的地址)然后打印s(即b,ascii码位98)%10的结果,即8,然后s自加1(即此时s指向c的地址)然后打印s(即c,ascii码位99)%10的结果,即9,然后s自加1(即此时s指向'\0'的地址,即结束符)此时因为s是结束符'\0',所以while(s)为假,跳出循环。这样这个程序的结果就是:789
#include<stdioh>
void main()
{
int money=345,worth=0,lable,c,k=1;//k用来标记是否继续购买。
while(k)
{
printf("请输入要买的序号");
scanf("%d",&lable);
if(lable==1)//商品编号分别用1,2,3,……代替,worth用来记录已消费的金钱。
worth+=5;
else if(lable==2)
worth+=8;
else if(lable==3)
worth+=10;
else if(lable==4)
worth+=11;
else if(lable==5)
worth+=15;
else if(lable==6)
worth+=20;
else if(lable==7)
worth+=30;
printf("是否继续购买,若继续按1,否按2");
scanf("%d",&c);
if(c==1)
k=1;
else
k=0;
}
printf("你的余额为:%d",money);
printf("\n");
if(money>=worth)
{
printf("你的消费额为: %d",worth);
printf("\n");
printf("余额为:%d", money-worth);
}
else
printf("余额不足");
}
以上就是关于用c语言设计一个超市管理系统程序,要求能添加商品,能查询商品,能购买商品,能展示商品。全部的内容,包括:用c语言设计一个超市管理系统程序,要求能添加商品,能查询商品,能购买商品,能展示商品。、用C语言设计一个超市购物打印系统、求编写一个关于超市ABC三类产品售出与库存的C语言程序,谢谢啦等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)