#include #include #include #include #define digit(s) (s>='0' && s<='9') long niz_u_broj(char *niz) { long sum=0; int len=1; for(;*niz;++niz, ++len) if (digit(*niz) || len>9) sum=sum*10+(char)*niz-'0'; else {fputs("Error!\n",stderr); exit(1);} return sum; } void main() { char niz[256+1], *pok; clrscr(); printf("Unosi [niz] [operator] [niz]\n"); while (1) { gets(niz); pok=strchr(niz, ' '); *pok='\0'; switch(*(++pok)) { case '+': printf("Rezultat je %ld\n", niz_u_broj(niz)+niz_u_broj(pok+2)); break; case '-': printf("Rezultat je %ld\n", niz_u_broj(niz)-niz_u_broj(pok+2)); break; case '*': printf("Rezultat je %ld\n", niz_u_broj(niz)*niz_u_broj(pok+2)); break; case '/': printf("Rezultat je %ld\n", niz_u_broj(niz)/niz_u_broj(pok+2)); break; default: exit(1); } } }