C语言实现商品价格查询系统?

能够如同自动售货机一样,输入任一编号, 能够显示对应商品的价格。(假设最多有20 种商品,每种商品的名称最多4个汉字。) 设计一个菜单满足下列要求:(1)能够增加、修改、删除商品;(2)能够显示指定的商品的价格;(3)能够显示所有商品的价格;

#include<stdio.h>

#include<string.h>

#define N 20

struct shop{

char name[10];

float pri;

}a[N];

void inputa(int n,int n0){

for(int i=n-n0;i<n;i++){

printf("请输入品名 价格\n") ; 

scanf("%s%f",&a[i].name,&a[i].pri);

}

}

void change(char s[],int n){

for(int i=0;i<n;i++){

if(!strcmp(s,a[i].name)){

printf("改价格:");

scanf("%f",&a[i].pri);

break;

}

else printf("未找到!");

}

}

void find(char s[],int n){

for(int i=0;i<n;i++){

if(!strcmp(s,a[i].name)){

printf("%d\t%s\t%.2f\n",i+1,a[i].name,a[i].pri);

break;

}

else printf("未找到!");

}

}

void outa(int n){

for(int i=0;i<n;i++){

printf("%d\t%s\t%.2f\n",i+1,a[i].name,a[i].pri);

}

}

void del(char s[],int n){

for(int i=0;i<n-1;i++){

if(!strcmp(s,a[i].name))

while(i<n-1){

a[i]=a[i+1];++i;

}

else printf("未找到!");

}

}


int main(){

int t=1,n=0,n0=0;

char s[10];

while(t){

printf("1 增加记录\n2 修改价格\n3 删除记录\n4 查询商品\n5 查看全部\n0 退出系统\n"); 

scanf("%d",&t);

if(t<1)break;

switch(t){

case 1:

printf("增加记录条数?"); 

scanf("%d",&n0);

n+=n0;

inputa(n,n0);

break;

if(n<1) break;

case 2: printf("输入品名:"); 

scanf("%s",s);

change(s,n);

break; 

case 3: printf("输入品名:"); 

scanf("%s",s);

del(s,n);

n--;

break; 

case 4:

printf("输入品名:"); 

scanf("%s",s);

find(s,n);

break; 

case 5:

outa(n);

break; 

}


 }

return 0;

温馨提示:答案为网友推荐,仅供参考