如何在c语言中用数组把商品的编号与名称联系起来

因为本人还没学结构体,所以要用数组,求大神指点

简单地用几个数组:
int i,k=-999,N=5;
int n=888;
char x[20]="c28";
int bianhao[100] ={ 212,351,286,754,888}
char mc[100][20]={"a2","b35","c28","d7","e88888"};
float price[100]={10.2,15.3,16.2,8.2,5.67};
对应的0号商品存 bianhao[0],mc[0],price[0];
对应的i号商品存 bianhao[i],mc[i],price[i];
---------------------------------------
已知 商品编号 n=888 查找:
for (i=0;i<N;i++) if (bianhao[i]==n){k=i;break;};
if (k >= 0) printf("%d %s %f\n",bianhao[k],mc[k],price[k]);
------------------------------------
已知 商品名 x[]="c28" 查找:
k=-999;
for (i=0;i<N;i++) if (strcmp(mc[i],x)==0) {k=i;break;};
if (k >= 0) printf("%d %s %f\n",bianhao[k],mc[k],price[k]);追问

高人,在请教一下,如何去添加这些信息,就是从bianhao[0]添加到编号[i],mc[0]添加到mc[i],如果不用初始化能有什么方法呢

追答

用文件输入就是了。
用循环语句读入。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-08
可以用字符串数组。
arr[i]="编号;名称"

如果想得到其中的值,可以对数组进行拆分得到相应的编号与名称 。
第2个回答  2013-06-08
可以用二维数组

char data[][10] ={{"id1|西瓜"},{"id2|苹果"},{"id3|橘子"}};追问

你能说得详细点吗,就是在查询编码的时候能够显示名称,查询名称的时候也能显示编码,还有商品的类别,商品的价格,商品的数量,我们都需要输入,求完整代码

追答

我就简单添加id和商品名称就行了 其他的数据我就不添加了

char data[][10] ={{"id1|西瓜"},{"id2|苹果"},{"id3|橘子"}};

这个需要使用时用sscanf 提取各个参数使用

相似回答