[C] Kalkulator realizujący operacje bitowe and, or, xor, negacja.

0

Witam, mam kod i mam go przekształcić w taki kalkulator, który wykonuje operacje bitowe and,or,xor,negacja. Użytkownika podaje 2 liczby następnie wybiera operator(&,I,^,~) i otrzymuje argumenty oraz wynik w postaci binarnej.

KOD :

#include <stdio.h>
#include <stdlib.h>

int main()
{
char tab1[8];
    printf("Prosze podac liczbe:\n");
    scanf("%s", &tab1);

	int wartosc=walidacja(tab1);
    konwersja(wartosc);

return 0;
}

int konwersja(int z)
{
 printf("Podana liczba w systemie binarnym to:\n");

  for (int y = 7; y >= 0; y--) {
    if ((y + 1) % 8 == 0) printf(" ");
    printf("%1d", (( z >> y ) % 2));
  }

  return 0;
}

int walidacja(char *tab1)
{
	int y=0;

	while (*tab1 != '\0')
	{
		if (*tab1 >= 48 && *tab1 <= 57)
		{
			if (y == 0 && *tab1 == 48)
			{
				printf("Wprowadzono nieprawidlowe dane\n");
				return 0;
			}
			tab1++;
		}
		else
		{
			printf("Wprowadzono nieprawidlowe dane\n");
			return 0;
		}

		y++;
	}
	tab1 = tab1 - y;
	int wartosc = 0;

	while (*tab1 != '\0')
	{
		wartosc = wartosc + (*tab1 - '0');
		wartosc = wartosc * 10;
		tab1++;
	}
	wartosc = wartosc / 10;

	return wartosc;
}
0

No ale jakieś konkretne problemy/pytania, czy bardziej na zasadzie "macie tu polecenie i kod, napiszcie za mnie program"?

1 użytkowników online, w tym zalogowanych: 0, gości: 1