Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: chaarlyyyy en 7 Junio 2010, 22:17 PM

Título: consulta de una pequeña duda
Publicado por: chaarlyyyy en 7 Junio 2010, 22:17 PM
porque en en menu principal en vez de void main va int main

#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[i]);
   }
   getch();
clrscr();
}

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[i]);
   }
   getch();
clrscr();
}

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--)
   {
 
  if(9>=a[i])
     printf("%d",a[i]);  

  if(a[i]==10)
     printf("A");

  if(a[i]==11)
     printf("B");

  if(a[i]==12)
     printf("C");

  if(a[i]==13)
     printf("D");
 
  if(a[i]==14)
     printf("E");

  if(a[i]==15)
     printf("F");
   }
   getch();
clrscr();
}


int main()
{
int a[100],n1,num;
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);

   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;
}
Título: Re: consulta de una pequeña duda
Publicado por: Horricreu en 7 Junio 2010, 22:30 PM
Pues porque int retorna un entero. Léete estos enlaces, de las "ventajas e inconvenientes (por decir algo... :silbar:)" de int main(), void main(), main():

http://www.programmersheaven.com/article/101819-int+main+vs+void+main/info.aspx

http://en.wikipedia.org/wiki/Main_function_(programming)#C_and_C.2B.2B

Hay más buscando en Google ;)

Saludos :P
Título: Re: consulta de una pequeña duda
Publicado por: Littlehorse en 7 Junio 2010, 22:33 PM
http://www.eskimo.com/~scs/readings/voidmain.960823.html
http://home.att.net/~jackklein/ctips01.html#int_main
http://users.aber.ac.uk/auj/voidmain.shtml
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

:D
Título: Re: consulta de una pequeña duda
Publicado por: Horricreu en 7 Junio 2010, 22:38 PM
Cita de: Littlehorse en  7 Junio 2010, 22:33 PM
http://www.eskimo.com/~scs/readings/voidmain.960823.html
http://home.att.net/~jackklein/ctips01.html#int_main
http://users.aber.ac.uk/auj/voidmain.shtml
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

:D
Cita de: Horricreu en  7 Junio 2010, 22:30 PM
Hay más buscando en Google  ;)

:¬¬ Ya le dije que buscando en Google encontraría más :¬¬

Saludos :P
Título: Re: consulta de una pequeña duda
Publicado por: Littlehorse en 7 Junio 2010, 22:43 PM
Y desde cuando tenes exclusividad con los posts de esta sección? hasta donde tengo claro no tengo que pedir permiso para responder  :P.

Y por cierto, los links que le pase son los que se encuentran en las chinchetas de esta sección. Ni siquiera hacia falta buscar en Google  :)

Saludos
Título: Re: consulta de una pequeña duda
Publicado por: nicolas_cof en 8 Junio 2010, 01:52 AM
Cita de: Littlehorse...
http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Link, clasico de clasicos... ;-)

chaarlyyyy, recuerda siempre poner tu codigo entre las etiquetas GeSHI

[code=c][/code]

Salu10.