#include <stdio.h>
int main(void)
{
Sprungmarke : ;
int Eingabe, Auswahl, Zaehler = 1, Zaehler2 = 1, Zahl = 0, Hexcount = 0;
char Eingabes[32];
printf("Wählen Sie aus:\n\
-1- Eine Dezimalzahl zu einer Binaerzahl umwandeln\n\
-2- Eine Binaerzahl zu einer Dezimalzahl umwandeln\n\
-3- Eine Dezimalzahl zu einer Hexadezimalzahl umwandeln\n\
-4- Eine Hexadezimalzahl zu einer Dezimalzahl umwandeln\n\
-5- Eine Binaerzahl zu einer Hexadezimalzahl umwandeln\n\
-6- Eine Hexadezimalzahl zu einer Binaerzahl umwandeln\n\
-7- Das Programm beenden\n");
scanf("%i", &Auswahl);
fflush(stdin);
switch(Auswahl)
{
case 1:
while(1)
{
printf("Geben Sie eine Dezimalzahl ein. (\"0\" fuer Rueckkehr zum Menue, Programm wiederholt sich automatisch)\n");
scanf("%i", &Eingabe);
fflush(stdin);
if(Eingabe == 0)
goto Sprungmarke;
while(Zaehler2 < 33)
{
(Eingabe&Zaehler) ? printf("1") : printf("0");
Zaehler *= 2;
Zaehler2++;
}
Zaehler = Zaehler2 = 1;
printf("\n");
}
break;
case 2:
while(1)
{
printf("Geben sie eine Binaerzahl ein. (\"2\" fuer Rueckkehr zum Menue, Programm wiederholt sich automatisch)(folgende Laenge:)\n00000000000000000000000000000000\n");
scanf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c", &Eingabes[1], &Eingabes[2], &Eingabes[3], &Eingabes[4], &Eingabes[5], &Eingabes[6], &Eingabes[7], &Eingabes[8], &Eingabes[9], &Eingabes[10], &Eingabes[11], &Eingabes[12], &Eingabes[13], &Eingabes[14], &Eingabes[15], &Eingabes[16], &Eingabes[17], &Eingabes[18], &Eingabes[19], &Eingabes[20], &Eingabes[21], &Eingabes[22], &Eingabes[23], &Eingabes[24], &Eingabes[25], &Eingabes[26], &Eingabes[27], &Eingabes[28], &Eingabes[29], &Eingabes[30], &Eingabes[31], &Eingabes[32]);
fflush(stdin);
if(Eingabes[1] == '2')
goto Sprungmarke;
while(Zaehler2 < 33)
{
if(Eingabes[Zaehler2] == '1')
{
Zahl |= Zaehler;
}
Zaehler *= 2;
Zaehler2++;
}
printf("%i\n", Zahl);
Zahl = 0;
Zaehler = Zaehler2 = 1;
}
break;
case 3:
while(1)
{
printf("Geben Sie eine Dezimalzahl ein. (\"0\" fuer Rueckkehr zum Menue, Programm wiederholt sich automatisch)\n");
scanf("%i", &Eingabe);
fflush(stdin);
if(Eingabe == 0)
goto Sprungmarke;
while(Zaehler < 9)
{
if(Eingabe == 0)
break;
if(Eingabe&Zaehler2)
Hexcount += 1;
Zaehler2 *= 2;
if(Eingabe&Zaehler2)
Hexcount += 2;
Zaehler2 *= 2;
if(Eingabe&Zaehler2)
Hexcount += 4;
Zaehler2 *= 2;
if(Eingabe&Zaehler2)
Hexcount += 8;
Zaehler2 *= 2;
switch(Hexcount)
{
case 0: printf("0");
break;
case 1: printf("1");
break;
case 2: printf("2");
break;
case 3: printf("3");
break;
case 4: printf("4");
break;
case 5: printf("5");
break;
case 6: printf("6");
break;
case 7: printf("7");
break;
case 8: printf("8");
break;
case 9: printf("9");
break;
case 10: printf("A");
break;
case 11: printf("B");
break;
case 12: printf("C");
break;
case 13: printf("D");
break;
case 14: printf("E");
break;
case 15: printf("F");
break;
}
Hexcount = 0;
Zaehler++;
}
printf("\n");
Zaehler2 = Zaehler = 1;
}
break;
case 4:
while(1)
{
printf("Geben Sie eine Hexadezimalzahl ein. (\"0\" fuer Rueckkehr zum Menue, Programm wiederholt sich automatisch)(folgende Laenge:)\nFFFFFFFF\n");
scanf("%c%c%c%c%c%c%c%c", &Eingabes[1], &Eingabes[2], &Eingabes[3], &Eingabes[4], &Eingabes[5], &Eingabes[6], &Eingabes[7], &Eingabes[8]);
fflush(stdin);
if(Eingabes[1] == 0)
goto Sprungmarke;
while(Zaehler < 9)
{
switch(Eingabes[Zaehler])
{
case '0': Zahl += 0 * Zaehler2;
break;
case '1': Zahl += 1 * Zaehler2;
break;
case '2': Zahl += 2 * Zaehler2;
break;
case '3': Zahl += 3 * Zaehler2;
break;
case '4': Zahl += 4 * Zaehler2;
break;
case '5': Zahl += 5 * Zaehler2;
break;
case '6': Zahl += 6 * Zaehler2;
break;
case '7': Zahl += 7 * Zaehler2;
break;
case '8': Zahl += 8 * Zaehler2;
break;
case '9': Zahl += 9 * Zaehler2;
break;
case 'A': Zahl += 10 * Zaehler2;
break;
case 'B': Zahl += 11 * Zaehler2;
break;
case 'C': Zahl += 12 * Zaehler2;
break;
case 'D': Zahl += 13 * Zaehler2;
break;
case 'E': Zahl += 14 * Zaehler2;
break;
case 'F': Zahl += 15 * Zaehler2;
break;
}
Zaehler2 *= 16;
Zaehler++;
}
printf("%i\n", Zahl);
Zaehler = Zaehler2 = 1;
Zahl = 0;
}
break;
case 5:
while(1)
{
printf("Geben sie eine Binaerzahl ein. (\"2\" fuer Rueckkehr zum Menue, Programm wiederholt sich automatisch)(folgende Laenge:)\n00000000000000000000000000000000\n");
scanf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c", &Eingabes[1], &Eingabes[2], &Eingabes[3], &Eingabes[4], &Eingabes[5], &Eingabes[6], &Eingabes[7], &Eingabes[8], &Eingabes[9], &Eingabes[10], &Eingabes[11], &Eingabes[12], &Eingabes[13], &Eingabes[14], &Eingabes[15], &Eingabes[16], &Eingabes[17], &Eingabes[18], &Eingabes[19], &Eingabes[20], &Eingabes[21], &Eingabes[22], &Eingabes[23], &Eingabes[24], &Eingabes[25], &Eingabes[26], &Eingabes[27], &Eingabes[28], &Eingabes[29], &Eingabes[30], &Eingabes[31], &Eingabes[32]);
fflush(stdin);
if(Eingabes[1] == '2')
goto Sprungmarke;
while(Zaehler2 < 33)
{
if(Eingabes[Zaehler2]&1)
Hexcount += 1;
Zaehler2++;
if(Eingabes[Zaehler2]&1)
Hexcount += 2;
Zaehler2++;
if(Eingabes[Zaehler2]&1)
Hexcount += 4;
Zaehler2++;
if(Eingabes[Zaehler2]&1)
Hexcount += 8;
Zaehler2++;
switch(Hexcount)
{
case 0: printf("0");
break;
case 1: printf("1");
break;
case 2: printf("2");
break;
case 3: printf("3");
break;
case 4: printf("4");
break;
case 5: printf("5");
break;
case 6: printf("6");
break;
case 7: printf("7");
break;
case 8: printf("8");
break;
case 9: printf("9");
break;
case 10: printf("A");
break;
case 11: printf("B");
break;
case 12: printf("C");
break;
case 13: printf("D");
break;
case 14: printf("E");
break;
case 15: printf("F");
break;
}
Hexcount = 0;
}
printf("\n");
Zaehler2 = Zaehler = 1;
}
break;
case 6:
while(1)
{
printf("Geben Sie eine Hexadezimalzahl ein. (\"0\" fuer Rueckkehr zum Menue, Programm wiederholt sich automatisch)(folgende Laenge:)\nFFFFFFFF\n");
scanf("%c%c%c%c%c%c%c%c", &Eingabes[1], &Eingabes[2], &Eingabes[3], &Eingabes[4], &Eingabes[5], &Eingabes[6], &Eingabes[7], &Eingabes[8]);
fflush(stdin);
if(Eingabes[1] == 0)
goto Sprungmarke;
while(Zaehler < 9)
{
switch(Eingabes[Zaehler])
{
case '0': printf("0000");
break;
case '1': printf("1000");
break;
case '2': printf("0100");
break;
case '3': printf("1100");
break;
case '4': printf("0010");
break;
case '5': printf("1010");
break;
case '6': printf("0110");
break;
case '7': printf("1110");
break;
case '8': printf("0001");
break;
case '9': printf("1001");
break;
case 'A': printf("0101");
break;
case 'B': printf("1101");
break;
case 'C': printf("0011");
break;
case 'D': printf("1011");
break;
case 'E': printf("0111");
break;
case 'F': printf("1111");
break;
}
Zaehler++;
}
printf("\n");
Zaehler = 0;
}
break;
case 7:
break;
}
return 0;
}