// DezProgPProjekt.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
// Version 1.1
//Änderungen: Keine Goto Sprünge, switch Befehl eingebaut.
#include "stdafx.h"
#include <stdio.h>
int main()
{
//Beginn Programm
int dez,erg,fall,pruef;
int a,b,c,d,e,f,g,h,i,j,k;
int option,max;
printf("***********************************************************************\n");
printf("* Dezimal in Binaer Rechner V1.3 *\n");
printf("* *\n");
printf("* Programmiert von Teal'C *\n");
printf("***********************************************************************\n\n\n");
printf("Was moechten sie tun?\n\n");
printf("1: Hilfe-Datei lesen\n");
printf("2: Programm in Rechneransicht starten\n");
printf("3: Programm ohne Rechneransicht starten\n");
printf("4: Crashtest\n\n");
printf("Geben sie fuer die jeweilige Option eine Zahl ein\nz.B 1 zum lesen der Hilfedatei: \t\t");
scanf("%d",&option);
fflush(stdin);
switch (option)
{
case 2:
printf("\n\n---------------------------------------------------\n");
printf("Geben sie bitte eine Dezimalzahl ein: \t");
scanf("%d",&dez);
fflush(stdin);
printf("---------------------------------------------------\n\n\n");
if(dez>=
1024)
fall=1;
else if(dez>=512)
fall=2;
else if(dez>=256)
fall=3;
else if(dez>=128)
fall=4;
else if(dez>=64)
fall=5;
else if(dez>=32)
fall=6;
else if(dez>=16)
fall=7;
else if(dez>=8)
fall=8;
else if(dez>=4)
fall=9;
else if(dez>=2)
fall=10;
else if(dez>=1)
fall=11;
else if (dez==0)
fall=12;
else
{
printf("Keine natuerliche Zahl");
return 0;
}
switch (fall){
case 1:
if (dez>=1024)
{
erg = dez - 1024;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 1024");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=512)
{
erg = erg - 512;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 512");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=256)
{
erg = erg - 256;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 256");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
if (erg>=128)
{
erg = erg - 128;
d = 1;
}
else
d = 0;
printf("%d",erg);
printf("\t - 128");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",d);
if (erg>=64)
{
erg = erg - 64;
e = 1;
}
else
e = 0;
printf("%d",erg);
printf("\t - 64");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",e);
if (erg>=32)
{
erg = erg - 32;
f = 1;
}
else
f = 0;
printf("%d",erg);
printf("\t - 32");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",f);
if (erg>=16)
{
erg = erg - 16;
g = 1;
}
else
g = 0;
printf("%d",erg);
printf("\t - 16");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",g);
if (erg>=8)
{
erg = erg - 8;
h = 1;}
else
h = 0;
printf("%d",erg);
printf("\t - 8");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",h);
if (erg>=4)
{
erg = erg - 4;
i = 1;
}
else
i = 0;
printf("%d",erg);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",i);
if (erg>=2)
{
erg = erg - 2;
j = 1;
}
else
j = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",j);
if (erg>=1)
{
erg = erg - 1;
k = 1;
}
else
k = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",k);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g,h,i,j,k);
printf("---------------------------------------------------\n\n\n");
break;
case 2:
if (dez>=512)
{
erg = dez - 512;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 512");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=256)
{
erg = erg - 256;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 256");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=128)
{
erg = erg - 128;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 128");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
if (erg>=64)
{
erg = erg - 64;
d = 1;
}
else
d = 0;
printf("%d",erg);
printf("\t - 64");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",d);
if (erg>=32)
{
erg = erg - 32;
e = 1;
}
else
e = 0;
printf("%d",erg);
printf("\t - 32");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",e);
if (erg>=16)
{
erg = erg - 16;
f = 1;
}
else
f = 0;
printf("%d",erg);
printf("\t - 16");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",f);
if (erg>=8)
{
erg = erg - 8;
g = 1;
}
else
g = 0;
printf("%d",erg);
printf("\t - 8");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",g);
if (erg>=4)
{
erg = erg - 4;
h = 1;}
else
h = 0;
printf("%d",erg);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",h);
if (erg>=2)
{
erg = erg - 2;
i = 1;
}
else
i = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",i);
if (erg>=1)
{
erg = erg - 1 ;
j = 1;
}
else
j = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",j);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g,h,i,j);
printf("---------------------------------------------------\n\n\n");
break;
case 3:
if (dez>=256)
{
erg = dez - 256;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 256");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=128)
{
erg = erg - 128;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 128");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=64)
{
erg = erg - 64;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 64");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
if (erg>=32)
{
erg = erg - 32;
d = 1;
}
else
d = 0;
printf("%d",erg);
printf("\t - 32");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",d);
if (erg>=16)
{
erg = erg - 16;
e = 1;
}
else
e = 0;
printf("%d",erg);
printf("\t - 16");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",e);
if (erg>=8)
{
erg = erg - 8;
f = 1;
}
else
f = 0;
printf("%d",erg);
printf("\t - 8");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",f);
if (erg>=4)
{
erg = erg - 4;
g = 1;
}
else
g = 0;
printf("%d",erg);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",g);
if (erg>=2)
{
erg = erg - 2;
h = 1;}
else
h = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",h);
if (erg>=1)
{
erg = erg - 1;
i = 1;}
else
i = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",h);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g,h,i);
printf("---------------------------------------------------\n\n\n");
break;
case 4:
if (dez>=128)
{
erg = dez - 128;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 128");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=64)
{
erg = erg - 64;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 64");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=32)
{
erg = erg - 32;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 32");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
if (erg>=16)
{
erg = erg - 16;
d = 1;
}
else
d = 0;
printf("%d",erg);
printf("\t - 16");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",d);
if (erg>=8)
{
erg = erg - 8;
e = 1;
}
else
e = 0;
printf("%d",erg);
printf("\t - 8");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",e);
if (erg>=4)
{
erg = erg - 4;
f = 1;
}
else
f = 0;
printf("%d",erg);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",f);
if (erg>=2)
{
erg = erg - 2;
g = 1;
}
else
g = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",g);
if (erg>=1)
{
erg = erg - 1;
h = 1;}
else
h = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",h);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g,h);
printf("---------------------------------------------------\n\n\n");
break;
case 5:
if (dez>=64)
{
erg = dez - 64;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 64");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=32)
{
erg = erg - 32;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 32");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=16)
{
erg = erg - 16;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 16");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
if (erg>=8)
{
erg = erg - 8;
d = 1;
}
else
d = 0;
printf("%d",erg);
printf("\t - 8");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",d);
if (erg>=4)
{
erg = erg - 4;
e = 1;
}
else
e = 0;
printf("%d",erg);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",e);
if (erg>=2)
{
erg = erg - 2;
f = 1;
}
else
f = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",f);
if (erg>=1)
{
erg = erg - 1;
g = 1;
}
else
g = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",g);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g);
printf("---------------------------------------------------\n\n\n");
break;
case 6:
if (dez>=32)
{
erg = dez - 32;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 32");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=16)
{
erg = erg - 16;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 16");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=8)
{
erg = erg - 8;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 8");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
if (erg>=4)
{
erg = erg - 4;
d = 1;
}
else
d = 0;
printf("%d",erg);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",d);
if (erg>=2)
{
erg = erg - 2;
e = 1;
}
else
e = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",e);
if (erg>=1)
{
erg = erg - 1;
f = 1;
}
else
f = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",f);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d\n",a,b,c,d,e,f);
printf("---------------------------------------------------\n\n\n");
break;
case 7:
if (dez>=16)
{
erg = dez - 16;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 16");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=8)
{
erg = erg - 8;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 8");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=4)
{
erg = erg - 4;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
if (erg>=2)
{
erg = erg - 2;
d = 1;
}
else
d = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",d);
if (erg>=1)
{
erg = erg - 1;
e = 1;
}
else
e = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",e);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d\n",a,b,c,d,e);
printf("---------------------------------------------------\n\n\n");
break;
case 8:
if (dez>=8)
{
erg = dez - 8;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 8");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=4)
{
erg = erg - 4;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=2)
{
erg = erg - 2;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
if (erg>=1)
{
erg = erg - 1;
d = 1;
}
else
d = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",d);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d\n",a,b,c,d);
printf("---------------------------------------------------\n\n\n");
break;
case 9:
if (dez>=4)
{
erg = dez - 4;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 4");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=2)
{
erg = erg - 2;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
if (erg>=1)
{
erg = erg - 1;
c = 1;
}
else
c = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",c);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d\n",a,b,c);
printf("---------------------------------------------------\n\n\n");
break;
case 10:
if (dez>=2)
{
erg = dez - 2;
a = 1;
}
else
a = 0;
printf("%d",dez);
printf("\t - 2");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",a);
if (erg>=1)
{
erg = erg - 1;
b = 1;
}
else
b = 0;
printf("%d",erg);
printf("\t - 1");
printf("\t\t = %d",erg);
printf ("\t\t\t%d\n\n",b);
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d\n",a,b);
printf("---------------------------------------------------\n\n\n");
break;
case 11:
erg = dez;
printf("---------------------------------------------------\n");
printf("Dual:\t\t\t\t\t%d\n",erg);
printf("---------------------------------------------------\n\n\n");
break;
case 12:
erg = dez;
printf("---------------------------------------------------\n");
printf("Dual:\t\t\t\t\t%d\n",erg);
printf("---------------------------------------------------\n\n\n");
default:
printf("ERROR");
}
break;
case 3:
printf("\n\n---------------------------------------------------\n");
printf("Geben sie bitte eine Dezimalzahl ein: \t");
scanf("%d",&dez);
fflush(stdin);
printf("---------------------------------------------------\n\n\n");
if(dez>=
1024)
fall=1;
else if(dez>=512)
fall=2;
else if(dez>=256)
fall=3;
else if(dez>=128)
fall=4;
else if(dez>=64)
fall=5;
else if(dez>=32)
fall=6;
else if(dez>=16)
fall=7;
else if(dez>=8)
fall=8;
else if(dez>=4)
fall=9;
else if(dez>=2)
fall=10;
else if(dez>=1)
fall=11;
else if (dez==0)
fall=12;
else
{
printf("Keine natuerliche Zahl");
return 0;
}
switch (fall){
case 1:
if (dez>=1024)
{
erg = dez - 1024;
a = 1;
}
else
a = 0;
if (erg>=512)
{
erg = erg - 512;
b = 1;
}
else
b = 0;
if (erg>=256)
{
erg = erg - 256;
c = 1;
}
else
c = 0;
if (erg>=128)
{
erg = erg - 128;
d = 1;
}
else
d = 0;
if (erg>=64)
{
erg = erg - 64;
e = 1;
}
else
e = 0;
if (erg>=32)
{
erg = erg - 32;
f = 1;
}
else
f = 0;
if (erg>=16)
{
erg = erg - 16;
g = 1;
}
else
g = 0;
if (erg>=8)
{
erg = erg - 8;
h = 1;}
else
h = 0;
if (erg>=4)
{
erg = erg - 4;
i = 1;
}
else
i = 0;
if (erg>=2)
{
erg = erg - 2;
j = 1;
}
else
j = 0;
if (erg>=1)
{
erg = erg - 1;
k = 1;
}
else
k = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g,h,i,j,k);
printf("---------------------------------------------------\n\n\n");
break;
case 2:
if (dez>=512)
{
erg = dez - 512;
a = 1;
}
else
a = 0;
if (erg>=256)
{
erg = erg - 256;
b = 1;
}
else
b = 0;
if (erg>=128)
{
erg = erg - 128;
c = 1;
}
else
c = 0;
if (erg>=64)
{
erg = erg - 64;
d = 1;
}
else
d = 0;
if (erg>=32)
{
erg = erg - 32;
e = 1;
}
else
e = 0;
if (erg>=16)
{
erg = erg - 16;
f = 1;
}
else
f = 0;
if (erg>=8)
{
erg = erg - 8;
g = 1;
}
else
g = 0;
if (erg>=4)
{
erg = erg - 4;
h = 1;}
else
h = 0;
if (erg>=2)
{
erg = erg - 2;
i = 1;
}
else
i = 0;
if (erg>=1)
{
erg = erg - 1 ;
j = 1;
}
else
j = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g,h,i,j);
printf("---------------------------------------------------\n\n\n");
break;
case 3:
if (dez>=256)
{
erg = dez - 256;
a = 1;
}
else
a = 0;
if (erg>=128)
{
erg = erg - 128;
b = 1;
}
else
b = 0;
if (erg>=64)
{
erg = erg - 64;
c = 1;
}
else
c = 0;
if (erg>=32)
{
erg = erg - 32;
d = 1;
}
else
d = 0;
if (erg>=16)
{
erg = erg - 16;
e = 1;
}
else
e = 0;
if (erg>=8)
{
erg = erg - 8;
f = 1;
}
else
f = 0;
if (erg>=4)
{
erg = erg - 4;
g = 1;
}
else
g = 0;
if (erg>=2)
{
erg = erg - 2;
h = 1;}
else
h = 0;
if (erg>=1)
{
erg = erg - 1;
i = 1;}
else
i = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g,h,i);
printf("---------------------------------------------------\n\n\n");
break;
case 4:
if (dez>=128)
{
erg = dez - 128;
a = 1;
}
else
a = 0;
if (erg>=64)
{
erg = erg - 64;
b = 1;
}
else
b = 0;
if (erg>=32)
{
erg = erg - 32;
c = 1;
}
else
c = 0;
if (erg>=16)
{
erg = erg - 16;
d = 1;
}
else
d = 0;
if (erg>=8)
{
erg = erg - 8;
e = 1;
}
else
e = 0;
if (erg>=4)
{
erg = erg - 4;
f = 1;
}
else
f = 0;
if (erg>=2)
{
erg = erg - 2;
g = 1;
}
else
g = 0;
if (erg>=1)
{
erg = erg - 1;
h = 1;}
else
h = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g,h);
printf("---------------------------------------------------\n\n\n");
break;
case 5:
if (dez>=64)
{
erg = dez - 64;
a = 1;
}
else
a = 0;
if (erg>=32)
{
erg = erg - 32;
b = 1;
}
else
b = 0;
if (erg>=16)
{
erg = erg - 16;
c = 1;
}
else
c = 0;
if (erg>=8)
{
erg = erg - 8;
d = 1;
}
else
d = 0;
if (erg>=4)
{
erg = erg - 4;
e = 1;
}
else
e = 0;
if (erg>=2)
{
erg = erg - 2;
f = 1;
}
else
f = 0;
if (erg>=1)
{
erg = erg - 1;
g = 1;
}
else
g = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d%d\n",a,b,c,d,e,f,g);
printf("---------------------------------------------------\n\n\n");
break;
case 6:
if (dez>=32)
{
erg = dez - 32;
a = 1;
}
else
a = 0;
if (erg>=16)
{
erg = erg - 16;
b = 1;
}
else
b = 0;
if (erg>=8)
{
erg = erg - 8;
c = 1;
}
else
c = 0;
if (erg>=4)
{
erg = erg - 4;
d = 1;
}
else
d = 0;
if (erg>=2)
{
erg = erg - 2;
e = 1;
}
else
e = 0;
if (erg>=1)
{
erg = erg - 1;
f = 1;
}
else
f = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d%d\n",a,b,c,d,e,f);
printf("---------------------------------------------------\n\n\n");
break;
case 7:
if (dez>=16)
{
erg = dez - 16;
a = 1;
}
else
a = 0;
if (erg>=8)
{
erg = erg - 8;
b = 1;
}
else
b = 0;
if (erg>=4)
{
erg = erg - 4;
c = 1;
}
else
c = 0;
if (erg>=2)
{
erg = erg - 2;
d = 1;
}
else
d = 0;
if (erg>=1)
{
erg = erg - 1;
e = 1;
}
else
e = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d%d\n",a,b,c,d,e);
printf("---------------------------------------------------\n\n\n");
break;
case 8:
if (dez>=8)
{
erg = dez - 8;
a = 1;
}
else
a = 0;
if (erg>=4)
{
erg = erg - 4;
b = 1;
}
else
b = 0;
if (erg>=2)
{
erg = erg - 2;
c = 1;
}
else
c = 0;
if (erg>=1)
{
erg = erg - 1;
d = 1;
}
else
d = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d%d\n",a,b,c,d);
printf("---------------------------------------------------\n\n\n");
break;
case 9:
if (dez>=4)
{
erg = dez - 4;
a = 1;
}
else
a = 0;
if (erg>=2)
{
erg = erg - 2;
b = 1;
}
else
b = 0;
if (erg>=1)
{
erg = erg - 1;
c = 1;
}
else
c = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d%d\n",a,b,c);
printf("---------------------------------------------------\n\n\n");
break;
case 10:
if (dez>=2)
{
erg = dez - 2;
a = 1;
}
else
a = 0;
if (erg>=1)
{
erg = erg - 1;
b = 1;
}
else
b = 0;
printf("---------------------------------------------------\n");
printf("Dual: \t\t\t\t\t%d%d\n",a,b);
printf("---------------------------------------------------\n\n\n");
break;
case 11:
erg = dez;
printf("---------------------------------------------------\n");
printf("Dual:\t\t\t\t\t%d\n",erg);
printf("---------------------------------------------------\n\n\n");
break;
case 12:
erg = dez;
printf("---------------------------------------------------\n");
printf("Dual:\t\t\t\t\t%d\n",erg);
printf("---------------------------------------------------\n\n\n");
break;
default:
printf("ERROR");
}
case 4:
printf("\n\nTestdurchlauf\n");
printf("Maximale Dezimalzahl:");
scanf("%d", &max);
fflush(stdin);
dez = 1;
erg = 0;
while (dez<=max){
if(dez>=1024)
fall=1;
else if(dez>=512)
fall=2;
else if(dez>=256)
fall=3;
else if(dez>=128)
fall=4;
else if(dez>=64)
fall=5;
else if(dez>=32)
fall=6;
else if(dez>=16)
fall=7;
else if(dez>=8)
fall=8;
else if(dez>=4)
fall=9;
else if(dez>=2)
fall=10;
else if(dez>=1)
fall=11;
else if (dez==0)
fall=12;
else
{
printf("Keine natuerliche Zahl");
return 0;
}
switch (fall){
case 1:
if (dez>=1024)
{
erg = dez - 1024;
a = 1;
}
else
a = 0;
if (erg>=512)
{
erg = erg - 512;
b = 1;
}
else
b = 0;
if (erg>=256)
{
erg = erg - 256;
c = 1;
}
else
c = 0;
if (erg>=128)
{
erg = erg - 128;
d = 1;
}
else
d = 0;
if (erg>=64)
{
erg = erg - 64;
e = 1;
}
else
e = 0;
if (erg>=32)
{
erg = erg - 32;
f = 1;
}
else
f = 0;
if (erg>=16)
{
erg = erg - 16;
g = 1;
}
else
g = 0;
if (erg>=8)
{
erg = erg - 8;
h = 1;}
else
h = 0;
if (erg>=4)
{
erg = erg - 4;
i = 1;
}
else
i = 0;
if (erg>=2)
{
erg = erg - 2;
j = 1;
}
else
j = 0;
if (erg>=1)
{
erg = erg - 1;
k = 1;
}
else
k = 0;
pruef = k*1+j*2+i*4+h*8+g*16+f*32+e*64+d*128+c*256+b*512+a*1024;
printf("%d\t",dez);
printf("%d%d%d%d%d%d%d%d%d%d%d",a,b,c,d,e,f,g,h,i,j,k);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 2:
if (dez>=512)
{
erg = dez - 512;
a = 1;
}
else
a = 0;
if (erg>=256)
{
erg = erg - 256;
b = 1;
}
else
b = 0;
if (erg>=128)
{
erg = erg - 128;
c = 1;
}
else
c = 0;
if (erg>=64)
{
erg = erg - 64;
d = 1;
}
else
d = 0;
if (erg>=32)
{
erg = erg - 32;
e = 1;
}
else
e = 0;
if (erg>=16)
{
erg = erg - 16;
f = 1;
}
else
f = 0;
if (erg>=8)
{
erg = erg - 8;
g = 1;
}
else
g = 0;
if (erg>=4)
{
erg = erg - 4;
h = 1;}
else
h = 0;
if (erg>=2)
{
erg = erg - 2;
i = 1;
}
else
i = 0;
if (erg>=1)
{
erg = erg - 1 ;
j = 1;
}
else
j = 0;
pruef= (j*1)+(i*2)+(h*4)+(g*8)+(f*16)+(e*32)+(d*64)+(c*128)+(b*256)+(a*512);
printf("%d\t",dez);
printf("%d%d%d%d%d%d%d%d%d%d",a,b,c,d,e,f,g,h,i,j);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 3:
if (dez>=256)
{
erg = dez - 256;
a = 1;
}
else
a = 0;
if (erg>=128)
{
erg = erg - 128;
b = 1;
}
else
b = 0;
if (erg>=64)
{
erg = erg - 64;
c = 1;
}
else
c = 0;
if (erg>=32)
{
erg = erg - 32;
d = 1;
}
else
d = 0;
if (erg>=16)
{
erg = erg - 16;
e = 1;
}
else
e = 0;
if (erg>=8)
{
erg = erg - 8;
f = 1;
}
else
f = 0;
if (erg>=4)
{
erg = erg - 4;
g = 1;
}
else
g = 0;
if (erg>=2)
{
erg = erg - 2;
h = 1;}
else
h = 0;
if (erg>=1)
{
erg = erg - 1;
i = 1;}
else
i = 0;
pruef= (i*1)+(h*2)+(g*4)+(f*8)+(e*16)+(d*32)+(c*64)+(b*128)+(a*256);
printf("%d\t",dez);
printf("%d%d%d%d%d%d%d%d%d",a,b,c,d,e,f,g,h,i);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 4:
if (dez>=128)
{
erg = dez - 128;
a = 1;
}
else
a = 0;
if (erg>=64)
{
erg = erg - 64;
b = 1;
}
else
b = 0;
if (erg>=32)
{
erg = erg - 32;
c = 1;
}
else
c = 0;
if (erg>=16)
{
erg = erg - 16;
d = 1;
}
else
d = 0;
if (erg>=8)
{
erg = erg - 8;
e = 1;
}
else
e = 0;
if (erg>=4)
{
erg = erg - 4;
f = 1;
}
else
f = 0;
if (erg>=2)
{
erg = erg - 2;
g = 1;
}
else
g = 0;
if (erg>=1)
{
erg = erg - 1;
h = 1;}
else
h = 0;
pruef= (h*1)+(g*2)+(f*4)+(e*8)+(d*16)+(c*32)+(b*64)+(a*128);
printf("%d\t",dez);
printf("%d%d%d%d%d%d%d%d",a,b,c,d,e,f,g,h);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 5:
if (dez>=64)
{
erg = dez - 64;
a = 1;
}
else
a = 0;
if (erg>=32)
{
erg = erg - 32;
b = 1;
}
else
b = 0;
if (erg>=16)
{
erg = erg - 16;
c = 1;
}
else
c = 0;
if (erg>=8)
{
erg = erg - 8;
d = 1;
}
else
d = 0;
if (erg>=4)
{
erg = erg - 4;
e = 1;
}
else
e = 0;
if (erg>=2)
{
erg = erg - 2;
f = 1;
}
else
f = 0;
if (erg>=1)
{
erg = erg - 1;
g = 1;
}
else
g = 0;
pruef = g*1+f*2+e*4+d*8+c*16+b*32+a*64;
printf("%d\t",dez);
printf("%d%d%d%d%d%d%d",a,b,c,d,e,f,g);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 6:
if (dez>=32)
{
erg = dez - 32;
a = 1;
}
else
a = 0;
if (erg>=16)
{
erg = erg - 16;
b = 1;
}
else
b = 0;
if (erg>=8)
{
erg = erg - 8;
c = 1;
}
else
c = 0;
if (erg>=4)
{
erg = erg - 4;
d = 1;
}
else
d = 0;
if (erg>=2)
{
erg = erg - 2;
e = 1;
}
else
e = 0;
if (erg>=1)
{
erg = erg - 1;
f = 1;
}
else
f = 0;
pruef = f*1+e*2+d*4+c*8+b*16+a*32;
printf("%d\t",dez);
printf("%d%d%d%d%d%d",a,b,c,d,e,f);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 7:
if (dez>=16)
{
erg = dez - 16;
a = 1;
}
else
a = 0;
if (erg>=8)
{
erg = erg - 8;
b = 1;
}
else
b = 0;
if (erg>=4)
{
erg = erg - 4;
c = 1;
}
else
c = 0;
if (erg>=2)
{
erg = erg - 2;
d = 1;
}
else
d = 0;
if (erg>=1)
{
erg = erg - 1;
e = 1;
}
else
e = 0;
pruef = e*1+d*2+c*4+b*8+a*16;
printf("%d\t",dez);
printf("%d%d%d%d%d",a,b,c,d,e);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 8:
if (dez>=8)
{
erg = dez - 8;
a = 1;
}
else
a = 0;
if (erg>=4)
{
erg = erg - 4;
b = 1;
}
else
b = 0;
if (erg>=2)
{
erg = erg - 2;
c = 1;
}
else
c = 0;
if (erg>=1)
{
erg = erg - 1;
d = 1;
}
else
d = 0;
pruef = d*1+c*2+b*4+a*8;
printf("%d\t",dez);
printf("%d%d%d%d",a,b,c,d);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 9:
if (dez>=4)
{
erg = dez - 4;
a = 1;
}
else
a = 0;
if (erg>=2)
{
erg = erg - 2;
b = 1;
}
else
b = 0;
if (erg>=1)
{
erg = erg - 1;
c = 1;
}
else
c = 0;
pruef= c*1+b*2+a*4;
printf("%d\t",dez);
printf("%d%d%d",a,b,c);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 10:
if (dez>=2)
{
erg = dez - 2;
a = 1;
}
else
a = 0;
if (erg>=1)
{
erg = erg - 1;
b = 1;
}
else
b = 0;
pruef = b*1+a*2;
printf("%d\t",dez);
printf("%d%d",a,b);
printf("\t%d\n", pruef);
if (pruef==dez)
printf ("W\t");
else
printf("X\t");
break;
case 11:
erg = dez;
printf("%d\t",dez);
printf("%d\n",erg);
break;
case 12:
erg = dez;
printf("%d\t",dez);
printf("%d\n",erg);
break;
default:
printf("ERROR");
}
dez++;
}
break;
default:
printf("\n\nERROR \n-> Sie haben eine nicht definierte Option gewaehlt\nDas Programm wir nun beendet...\n\n");