ayuda..conversion de bases..URGENTE!!
Publicado por cloud (3 intervenciones) el 20/10/2007 22:14:53
Holas, para la utu me mandaron hacer un proyecto que es el siguiente:
Se desea desarrollar un software que permita cambiar de base a un número entre binario, decimal y hexadecimal.
El software debe:
· Ser desarrollado en Lenguaje C
· Tener un menú con al menos 4 opciones:
1. Convertir de Decimal a Binario
2. Convertir de Binario a Decimal
3. Convertir de Decimal a Hexadecimal
4. Convertir de Hexadecimal a Decimal
La información:
· Los números binarios y hexadecimales deben ser almacenados en string (vectores)
· El largo de estos números debe ser limitado y validados
· Los números decimales deben ser limitados y validados
· No se pueden usar variables cuyo nombre esté en inglés.
Lo que voy haciendo hasta ahora es esto:
#include<stdio.h>
#include<conio.h>
void main()
{
int nDec,nBin,nHex,i,v[15];
int res,numero,c,opcion,x=15,y=4;
long int residuo,resultado,numero1,binario,hexa;
float potencia10;
int a=10,b=11,d=13,e=14,f=15; //c=12 no lo puse xq me dice ya esta declarado... no se xq
char otra;
do
{
clrscr();
gotoxy(x,y+1);printf("1.-convertir de decimal a binario");
gotoxy(x,y+2);printf("2.-convertir de binario a decimal");
gotoxy(x,y+3);printf("3.-convertir de decimal a hexadecimal ");
gotoxy(x,y+4);printf("4.-convertir de hexadecimal a decimal");
gotoxy(x,y+5);printf("opcion: ");
gotoxy(x+7,y+5);scanf("%d",&opcion);
switch(opcion)
{
case 1:
clrscr();
printf("Ingrese un numero decimal:");
scanf("%i",&nDec);
for(i=0;i<=14;i++){
v[i]=nDec%2;
nDec=nDec/2;
}
gotoxy(1,3);
printf("Su numero en binario es: ");
for(nBin=14;nBin>=0;nBin--){
printf("%d",v[nBin]);
}
break;
case 2:
clrscr();
printf("Ingrese un numero decimal:");
scanf("%i",&nBin);
for(i=0;i<=14;i++){
v[1]=nBin%16;
nBin=nBin/16;
}
if(numero==10){
numero=a;
}
if(numero==11){
numero=b;
}
if(numero==12){
numero=c;
}
if(numero==13){
numero=d;
}
if(numero==14){
numero=e;
}
if(numero==15){
numero=f;
}
gotoxy(1,3);
printf("Su numero en hexadecimal es: ");
for(nHex=14;nBin>=0;nBin--){
printf("%d",v[nHex]);
}
break;
//case 3:
//case 4:
gotoxy(x,y+5);printf(" deseas realizar otra operacion s/n: ");
otra=getche();
}
while (otra=='s');
getch();
}while (otra=='s');
}
--------------------------------------------
El programa convierte de decimal a binario 15 digitos lo mas bien, pero de decimal a hexadecimal muestra cualquier cosa y no tengo ni idea del porque.
Tampoco no se como pasar de bianrio a decimal y de hexa a decimal.
Este proyecto lo tengo que entregar el lunes 22/10/07 alguien me puede ayudar a sacar los errores??? si me pueden ayudar en terminar el programa mejor.
bueno gracias... espero sus respuestas
Se desea desarrollar un software que permita cambiar de base a un número entre binario, decimal y hexadecimal.
El software debe:
· Ser desarrollado en Lenguaje C
· Tener un menú con al menos 4 opciones:
1. Convertir de Decimal a Binario
2. Convertir de Binario a Decimal
3. Convertir de Decimal a Hexadecimal
4. Convertir de Hexadecimal a Decimal
La información:
· Los números binarios y hexadecimales deben ser almacenados en string (vectores)
· El largo de estos números debe ser limitado y validados
· Los números decimales deben ser limitados y validados
· No se pueden usar variables cuyo nombre esté en inglés.
Lo que voy haciendo hasta ahora es esto:
#include<stdio.h>
#include<conio.h>
void main()
{
int nDec,nBin,nHex,i,v[15];
int res,numero,c,opcion,x=15,y=4;
long int residuo,resultado,numero1,binario,hexa;
float potencia10;
int a=10,b=11,d=13,e=14,f=15; //c=12 no lo puse xq me dice ya esta declarado... no se xq
char otra;
do
{
clrscr();
gotoxy(x,y+1);printf("1.-convertir de decimal a binario");
gotoxy(x,y+2);printf("2.-convertir de binario a decimal");
gotoxy(x,y+3);printf("3.-convertir de decimal a hexadecimal ");
gotoxy(x,y+4);printf("4.-convertir de hexadecimal a decimal");
gotoxy(x,y+5);printf("opcion: ");
gotoxy(x+7,y+5);scanf("%d",&opcion);
switch(opcion)
{
case 1:
clrscr();
printf("Ingrese un numero decimal:");
scanf("%i",&nDec);
for(i=0;i<=14;i++){
v[i]=nDec%2;
nDec=nDec/2;
}
gotoxy(1,3);
printf("Su numero en binario es: ");
for(nBin=14;nBin>=0;nBin--){
printf("%d",v[nBin]);
}
break;
case 2:
clrscr();
printf("Ingrese un numero decimal:");
scanf("%i",&nBin);
for(i=0;i<=14;i++){
v[1]=nBin%16;
nBin=nBin/16;
}
if(numero==10){
numero=a;
}
if(numero==11){
numero=b;
}
if(numero==12){
numero=c;
}
if(numero==13){
numero=d;
}
if(numero==14){
numero=e;
}
if(numero==15){
numero=f;
}
gotoxy(1,3);
printf("Su numero en hexadecimal es: ");
for(nHex=14;nBin>=0;nBin--){
printf("%d",v[nHex]);
}
break;
//case 3:
//case 4:
gotoxy(x,y+5);printf(" deseas realizar otra operacion s/n: ");
otra=getche();
}
while (otra=='s');
getch();
}while (otra=='s');
}
--------------------------------------------
El programa convierte de decimal a binario 15 digitos lo mas bien, pero de decimal a hexadecimal muestra cualquier cosa y no tengo ni idea del porque.
Tampoco no se como pasar de bianrio a decimal y de hexa a decimal.
Este proyecto lo tengo que entregar el lunes 22/10/07 alguien me puede ayudar a sacar los errores??? si me pueden ayudar en terminar el programa mejor.
bueno gracias... espero sus respuestas
Valora esta pregunta


0