elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Menu de transformar numero decimal a binario,octal y hexadecimal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Menu de transformar numero decimal a binario,octal y hexadecimal  (Leído 17,158 veces)
chaarlyyyy

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Menu de transformar numero decimal a binario,octal y hexadecimal
« en: 29 Mayo 2010, 21:19 pm »

hola amigos tngo un problema con este ejercicio bueno 1º los hice por separado y todo bn pero ahora al tratar de unirlos en un menu al momneto de ejecutarlo se cae al apretar una opcion y no se q pasa xa si pueden ayudarme


#include<stdio.h>
#include<conio.h>

void binario(int num)
{
 int a[100],i,dividendo,cociente,resto,n=0;
 clrscr();
for(dividendo = num; dividendo > 0;n++)
 {
  cociente=dividendo/2;
  resto=dividendo%2;
  a[n]=resto;
  dividendo=cociente;
 }
  printf("El numero decimal %d equivale en Binario a: ", num);
   for( i=n-1; i>=0; i--)
    {
     printf("%d",a);
    }
    getch();
 }

void octal(int num)
{
 int a[100],i,dividendo,cociente,resto,n=0;
 clrscr();
for(dividendo = num; dividendo > 0;n++)
 {
  cociente=dividendo/8;
  resto=dividendo%8;
  a[n]=resto;
  dividendo=cociente;
 }
  printf("El numero decimal %d equivale en Octal a: ", num);
   for( i=n-1; i>=0; i--)
    {
     printf("%d",a);
    }
    getch();
}

void hexadecimal(int num)
{
 int a[100],i,dividendo,cociente,resto,n=0;
 clrscr();
for(dividendo = num; dividendo > 0;n++)
 {
  cociente=dividendo/16;
  resto=dividendo%16;
  a[n]=resto;
  dividendo=cociente;
 }
  printf("El numero decimal %d equivale en Hexadecimal a: ", num);
   for( i=n-1; i>=0; i--)
    {
     printf("%d",a);
    }
    getch();
}


int main()
{
int a[100],n1,num,n=0;
int op;
 printf("Ingrese numero: ");
 scanf("%d",& n1);
clrscr();
     printf(" ***CONVERSION DE NUMEROS A OTRA BASE***\n\n");
     printf(" 1.- Decimal a Binario.\n");
     printf(" 2.- Decimal a Octal.\n");
     printf(" 3.- Decimal a Hexadecimal.\n");
     printf(" 4.- Salir.\n");
     printf(" \n\nEscoje tu opcion: ");
     scanf("%d",&op);
     op=getche();

    if(op==1|| op==2|| op==3)
     num=n1;
  

     if(op==1)
       binario(num);
     else if(op==2)
       octal(num);
     else if(op==3)
       hexadecimal(num);
     else if(op==4)
       getch();
     else
     {
       printf("\nOpcion invalida");
       getch();
     }
 
return 0;
}


En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Menu de transformar numero decimal a binario,octal y hexadecimal
« Respuesta #1 en: 30 Mayo 2010, 02:30 am »

existe algo que le pusieron al foro llamado GESHI


En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: Menu de transformar numero decimal a binario,octal y hexadecimal
« Respuesta #2 en: 30 Mayo 2010, 03:19 am »

Lo mio es C++ pero estas seguro que esto esta bien?
Código
  1. scanf("%d",&op);
  2.     op=getche();

Verifica, porque creo que debes quitar la segunda linea... De esa sección...

Saludos...
En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: Menu de transformar numero decimal a binario,octal y hexadecimal
« Respuesta #3 en: 30 Mayo 2010, 05:47 am »

Fijate en el siguiente tema, en el ultimo post te podes dar una idea de un menu :P

http://foro.elhacker.net/programacion_cc/burbujainsercion_y_seleccion-t294683.0.html

Otra cosa, no es recomendable usar la libreria conio.h ya que no es estandar. Mas bien usa para limpiar pantalla
Código:
#include <stdlib.h>
...
system( "cls" ); // Windows
system( "clear" ); // Linux

y cambia getch() por getchar() de la libreria stdio.h

Salu10.
« Última modificación: 30 Mayo 2010, 05:51 am por nicolas_cof » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines