Cálculo de signos em C

Publicado por Angelito Monteiro Goulart (última atualização em 27/08/2009)

[ Hits: 13.021 ]

Homepage: http://angelitomg.com

Download signo.c




Programa que, a partir de uma data recebida, informa o signo do usuário.

  



Esconder código-fonte

/*
*Desenvolvido por
*Angelito M. Goulart
*ange.sap@hotmail.com
*angelito@bsd.com.br
*http://angelitomg.wordpress.com
*http://twitter.com/angelitomg
*/
#include <stdio.h>
int mes, dia;
int main()
{

   printf ("Digite o dia de nascimento (apenas numeros): ");
   scanf ("%d", &dia);
   printf ("Digite o mes de nascimento (apenas numeros): ");
   scanf ("%d", &mes);
   valida_dados_recebidos();
}
valida_dados_recebidos()
{
   if((mes<=12 && mes>0) && (dia<=31 && dia>0))
   {
      valida_signos();
   }
   else
   {
      printf ("Erro!\n");
      main();
   }
}
valida_signos()
{
   if (((mes==3) && (dia>=21)) || ((mes==4) && (dia<=20)))
   {
      aries();
   }
        if (((mes==4) && (dia>=21 && dia<=30)) || ((mes==5) && (dia<=20)))
        {
                touro();
        }
        if (((mes==5) && (dia>=21)) || ((mes==6) && (dia<=20)))
        {
                gemeos();
        }
        if (((mes==6) && (dia>=21 && dia<=30)) || ((mes==7) && (dia<=21)))
        {
                cancer();
        }
        if (((mes==7) && (dia>=22)) || ((mes==8) && (dia<=22)))
        {
                leao();
        }
        if (((mes==8) && (dia>=23)) || ((mes==9) && (dia<=22)))
        {
                virgem();
        }
        if (((mes==9) && (dia>=23 && dia<=30)) || ((mes==10) && (dia<=22)))
        {
                libra();
        }
        if (((mes==10) && (dia>=23)) || ((mes==11) && (dia<=21)))
        {
                escorpiao();
        }
        if (((mes==11) && (dia>=22 && dia<=30)) || ((mes==12) && (dia<=21)))
        {
                sagitario();
        }
        if (((mes==12) && (dia>=22)) || ((mes==1) && (dia<=20)))
        {
                capricornio();
        }
        if (((mes==1) && (dia>=21)) || ((mes==2) && (dia<=19)))
        {
                aquario();
        }
        if (((mes==2) && (dia>=20 && dia<=29)) || ((mes==3) && (dia<=20)))
        {
                peixes();
        }
   else
   {
      printf("Erro!");
      main();
   }
}
aries()
{
   printf ("Aries \n");
   main();
}
touro()
{
        printf ("Touro \n");
        main();
}
gemeos()
{
        printf ("Gemeos \n");
        main();
}
cancer()
{
        printf ("Cancer \n");
        main();
}
leao()
{
        printf ("Leao \n");
        main();
}
virgem()
{
        printf ("Virgem \n");
        main();
}
libra()
{
        printf ("Libra \n");
        main();
}
escorpiao()
{
        printf ("Escorpiao \n");
        main();
}
sagitario()
{
        printf ("Sagitario \n");
        main();
}
capricornio()
{
        printf ("Capricornio \n");
        main();
}
aquario()
{
        printf ("Aquario \n");
        main();
}
peixes()
{
        printf ("Peixes \n");
        main();
}

Scripts recomendados

putchar

Conta e substitui caracteres de uma frase

Função para remover Substring

Verifica digito do rg de SP

Crivo de Eratóstenes Simples em C


  

Comentários
[1] Comentário enviado por julianluis em 27/08/2009 - 22:36h

Desculpa mais que programa feio esse, chamando a main em todas as funções, omitindo o tipo de retorno que pelo jeito é void mais se omitindo é int por default...
Só é minha sincera opinião flw

[2] Comentário enviado por ricardok2 em 28/08/2009 - 00:24h

É ... muita linha pra pouca coisa ...

[3] Comentário enviado por doradu em 01/02/2010 - 14:23h

bug na linha 18, na 21 etc


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts