Witam! Zmagam się z kolejnym prostym zadankiem (kalkulator z rejestrem), i niestety występuje kolejny błąd którego nie mogę zrozumieć :) Otóż:
#include <stdio.h>
int main(void)
{
char ch;
int a,b,num[10]={0,0,0,0,0,0,0,0,0,0};
while((scanf("%c%d%d",&ch,&a,&b))!=EOF){
switch(ch){
case 'z':
num[a]=b;
break;
case '+':
printf("%d\n",num[a]+num[b]);
break;
case '-':
printf("%d\n",num[a]-num[b]);
break;
case '*':
printf("%d\n",num[a]*num[b]);
break;
case '/':
printf("%d\n",num[a]/num[b]);
break;
case '%':
printf("%d\n",num[a]%num[b]);
break;
}
}
return 0;
}
Podana funkcja działa na wszystkie inne operacji oprócz "+" i "-"! Kiedyś też miałem podobny błąd, ale nie jestem w stanie znaleźć tamtego programu i sprawdzić jak go rozwiązałem. Proszę o pomoc i poradę :)
Pozdrawiam