int
はstruct
と動作しないと思われますが、その理由はわかりません。私は以前と同じことをして、それは働いたが、今それはしません。Intは構造体では機能しません
これがメインコードです。
int main()
{
struct elemente {
char *prod[20];
int cod[20];
int cant[20];
int pret[20];
};
struct elemente a[20];
int i,n=1,p[20];
char *val[20];
for(i=1;i<=n;i++){
puts("Numele produsului");
scanf("%s",&a[i].prod);
puts("Codul");
scanf("%i",&a[i].cod);
puts("Cantitatea");
scanf("%i",&a[i].cant);
puts("Pretul");
scanf("%i",&a[i].pret);
}
問題があるとわかりません。
これは問題の原因です。
puts("Scrieti numele produsului");scanf("%s", &val);
for(i=1;i<=n;i++){
if(strcmp(val,a[i].prod)==0){
printf("Codul produsului: %i\n", a[i].cod);
printf("Cantitatea: %i\n", a[i].cant);
printf("Pretul: %i\n", a[i].pret);
//p[i]=a[i].cant*a[i].pret;
//printf("Valoarea totala a elementelor %i\n",p[i]);
}
}
strcmp
が問題ありません。しかし、私はscanf
で入力した整数を見つけることができません。それは "2303134"のような奇妙なコードを表示します。私は何を間違えたのですか? また、2つの関数を掛ける必要がありますが、CodeBlocksには*
シンボルに問題があります。これをどうすれば解決できますか?
'for(i = 1; i <= n; i ++)'はおそらく怪しいです............... –
'main'で型を定義していますか? hm .. –
私は以前のプログラムで同じことをしました。私はこの種の問題を抱えていませんでした。 –