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

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

超市管理系统

/

#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语言程序,谢谢啦等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9505891.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存