Wprowadzenie modyfikacji do kalkulatora

Wprowadzenie modyfikacji do kalkulatora
Ryeore
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 7 lat
  • Postów:15
0

Witam, chciałbym wprowadzić do kalkulatora możliwość wprowadzania liczb w systemie binary,octal,decimal,hexadecimal. Nie wiem dokładnie gdzie wprowadzić funkcję do konwertowania na wartość dziesiętną, żeby wszystko działało we właściwej kolejności.

Kopiuj
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main ()
{
   int a, b, x;
   char c;
printf("ACTIONS: +,-,*,/,^,mod\n");
scanf("%d %c %d", &a, &c, &b);

switch (c)
{
          case   '+':
                   x=a+b;
                   printf("Answer is: %d\n", x);
                   break;
          case   '-':
                   x=a-b;
                   printf("Answer is: %d\n", x);
                   break;
          case   '*':
                   x=a*b;
                   printf("Answer is: %d\n", x);
                   break;
          case   '/':
                if (b==0)
                   {
                   printf ("YOU CAN'T DIVIDE BY 0");
                   }
                else
                   {
                   x=a/b;
                   printf("Answer is: %d\n", x);
                   }
                break;
          case   '^':
                   x=pow(a,b);
                   printf("Answer is: %d\n", x);
                   break;
          case   '%':
                   x=a%b;
                   printf("Answer is: %d\n", x);
                   break;
          default:
                   printf("error: unknown command %c\n", c);
                   break;
}
return 0;
}
 
ShookTea
Z pytaniem nie pomogę, ale sam zadam jedno: po co ci zmienna x?
Ryeore
w zasadzie nie jest potrzebna, ale po prostu jest jako przyporządkowanie wyniku
0

Gdzieś między pobraniem wartości, a wykonaniem operacji. Tylko musisz w jakiś sposób wiedzieć jaki system liczbowy został wybrany przez użytkownika.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.