Vous êtes sur la page 1sur 3

#include<stdio.

h>
#include<conio.h>
#include<math.h>
int digitos,i,j,d,c,x,vmbd1,vmbd2;
char tecla,a;
//digitos : valor maximo de bits
//i,j,c,x contadores de procesos for y otros
void main()
{
clrscr();
gotoxy(11,8);
printf(" +--------------------------------------------------+\n");
printf("\t\t| Universidad Tecnologica de Panama |\n");
printf("\t\t| Facultad: Ing. en Sistemas Computacionales |\n");
printf("\t\t+--------------------------------------------------+\n");
printf("\t\t+--------------------------------------------------+\n");
printf("\t\t| Estudiante: |\n");
printf("\t\t| Eduardo Estribi Perez |\n");
printf("\t\t| |\n");
printf("\t\t| Profesor: Euclides Serracin Grupo: 11R122 |\n");
printf("\t\t+--------------------------------------------------+\n");
getch();
clrscr();
gotoxy(11,9);
textcolor(12);
cprintf("Programa para convertir los Numeros de Decimal a Binarios");
gotoxy(11,11);
textcolor(12);
cprintf("Cuantos digitos binarios desea? (1-16) ");
scanf("%d",&digitos);
vmbd1=pow(2,digitos); //Valor Maximo de Bits en Decimal
vmbd2=vmbd1-1; //Valor Maximo de Bits en Decimal
gotoxy(11,14);
printf("Valor max de numeros en decimal:( 0 - %d )",vmbd2);
getch();
clrscr();
titulo(digitos); //funcion que llama a las instrucciones del programa y encabeza
do
c=0; //inicializar variable de incremento y decremento
arriba: //retorno de la funcion goto, repite parte especifica del programa
gotoxy(62,12);
textcolor(11);
cprintf("%3d",c); //contador principal,numeros de incremento y decremento
j=56; //posicion
d=c; //d adquiere el valor del contador principal de incremento y
//decremento para no afectar el proceso de impresion
for(x=0;x<digitos;x++)
{
gotoxy(j+1,12); //posicion de desplazamiento de los numeros binarios
printf("%2d",d&1); //imprime residuo en la seccion binarios
d=d>>1;
j-=3; //desplazar izquierda por decremento de valor de x en
//la funcion gotoxy(x,y) en este caso (j,y) de numerios binarios
}
gotoxy(1,18);
textcolor(0);
tecla=getche();
if(tecla==72) //si tecla es flecha arriba
{c+=1; //incrementa a 1
if (c==vmbd2+1) //si c sobrepasa del limite que caben en la cantidad de bits
c-=1; //decrementa 1 para no pasarse de su limite
}
if(tecla==80) //si tecla es flecha abajo
{c-=1; //decrementa a 1
if (c==-1) //si c es menor que cero
c+=1; //incrementa 1 para mantenerse en cero
}
if(tecla==27) //si tecla es ESC
return 0; //termina el programa
goto arriba; //va a alguna parte especifica del programa
getch();
}//fin
titulo(int digitos)
{clrscr();
//titulo e Instrucciones del programa
gotoxy(1,1);
textcolor(11);
cprintf("Presione %c para incrementar +1",24); //24 es equivalente al simbolo
flecha arriba del codigo ASCII
gotoxy(1,2); //se imprime %c por ser un car
acter
textcolor(11);
cprintf("Presione %c para decrementar -1",25); //25 es equivalente al simbol
o flecha abajo del codigo ASCII
gotoxy(1,3);
textcolor(11);
cprintf("Presione ESC para Salir");
gotoxy(44,8);
textcolor(8);
cprintf("B I N A R I O S");
j=56; //variable para posicion x en la funcion gotoxy
for (i=0;i<digitos;i++) //ciclo para escribir los indices de los binarios
{
gotoxy(j,11); //posicion del indice
textcolor(1);
cprintf("%3d",i); //impresion del indice sub i que indica el ciclo
//hasta el max de bits dado por el usuario
j-=3; //decremento de j en el gotoxy para desplazar
//a la izquierda la sig. impresion
}
} //fin de la funcion

Vous aimerez peut-être aussi