#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<dos.h>
#include<ctype.h>
#include<process.h>
#include<math.h>
const Tam=16;
int TamVector=0;
char VBinario[Tam];
void Rellena(void);
void Valida1(void);
//void Muestra(void);
int ConvertirANumBinario(char Valor);
void BinarioDecimal(void);
void BinarioOctal(void);
void Rellena(void)
{
int i;
for(i=0; i<=Tam; i++)
{
VBinario[i]='0';
}
}
/*
void Muestra(void)
{
int i;
int Col=1;
for(i=0; i<TamVector; i++)
{
gotoxy(Col++,14);cout<<VBinario[i];
}
}
*/
void Valida1(void)
{
int Col=10;
int i=0;
char Dato;
do{
gotoxy(Col,12); Dato=getche();
if(Dato==48 || Dato==49)
{
VBinario[i]=Dato;
TamVector++;
Col++;
i++;
}
if(TamVector==17)
{
gotoxy(30,24);cout<<" Ha llegado al l¡mite... ";
Dato=13;
}
}while(Dato!=13);
}
/*************************************************************/
int ConvertirANumBinario(char Valor)
{
int Num;
switch(Valor)
{
case '0': Num=0; break;
case '1': Num=1; break;
}
return Num;
}
/*************************************************************/
void BinarioDecimal(void)
{
int i,Exp;
char Valor;
int Conversion,ValNum;
Exp=TamVector;
Conversion=0;
for(i=0; i<=TamVector; i++)
{
Exp--;
Valor=VBinario[i];
ValNum=ConvertirANumBinario(Valor);
Conversion=Conversion+(ValNum*pow(2,Exp));
}
gotoxy(10,24);cout<<"Binario Decimal: "<<Conversion;
}
void BinarioOctal(void)
{
int i,x,y;
int avanza;
char val1,val2,val3;
char Valor;
char Conversion[16];
x=y=0;
for(i=0; i<=TamVector; i++)
{
if(avanza==1)
val1=VBinario[i];
if(avanza==2)
val2=VBinario[i];
if(avanza==3)
val3=VBinario[i];
}
gotoxy(10,23);cout<<"Binario Octal: "<<Conversion;
}
void main(void)
{
clrscr();
Rellena();
Valida1();
BinarioDecimal();
BinarioOctal();
getch();
}