Ir para conteúdo
Fórum Script Brasil
  • 0

PROGRAMA SÍGNOS DO ZODÍACO


roccoC/C++

Pergunta

Impressionante o que podemos fazer quando juntamos a lógica com a dedicação,
e um punhado de códigos; Para falar a verdade eu não acho que agente cria códigos,
eu penso que agente organiza os códigos existentes de uma forma que eles venham a funcionar conforme os nossos desejos, se há alguém que merece créditos e aplausos são os verdadeiros criadores desta facinante linguagem, à saber, Dennis Ritchie e Ken Thompson
estes sim tiraram do nada o que temos hoje e que foi aperfeiçoado mais tarde com a padronização internacional.
Se quiser saber mais sobre o assunto é só pesquisar, porque foje do contexto deste trabalho.
Nem precisa comentar, porque o programa é simples e objetivo e realiza perfeitamente a tarefa para a qual foi programado.
Mais uma vez usei o eclipse, e o programa tá rodando sem nenhum warrnings,
acho que quem estuda,ou já programa em c não deve ficar preso só numa IDE, tipo o DEV C/C++,
agora se você estuda oficialmente e seu professor enjoado exige isto, então paciência.
Nesta Edição o Programa ganhou uma funcionalidade interessante,
Agora, ele é capaz de lhe dizer a Estação do ano no qual você se encontra, isto foi muito fácil de fazer,
pois o código já dava suporte para isto.

Veja algumas imagens abaixo:

http://1.bp.blogspot.com/-VpGrtDwlBJE/U1E4GYBsVkI/AAAAAAAAA58/iF1AgMxXDi8/s1600/zod.PNG

http://2.bp.blogspot.com/-yk77t7srn_Q/U1E4HpCqtxI/AAAAAAAAA6M/1S9m4nC-pRU/s1600/zodiaco.PNG

http://1.bp.blogspot.com/-6wuEFdMz_m8/U1E4HFFJ1OI/AAAAAAAAA6E/WqAC8hAcMzQ/s1600/zodiac.PNG

http://codigosfontes-ccplus-plus.blogspot....do-zodiaco.html

Editado por roccoC/C++
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Bom dia!

Como sempre você colocando códigos aqui... :)

Quem sabe eu me anime e coloque alguma coisa também! :P

Sobre o código ficou legal! Só tem uma coisa que eu queria comentar e que ia simplificar o código. Podem ser criadas estruturas com os dados do zodíaco:

struct zodiaco {
   char *nome;
   int limite;
};
No seu código você declara assim:
struct zodiaco signos[] = {
   { "Capricórnio",  21 },
   { "Aquário", 19 },
   { "Peixes",  20 },
   { "Áries", 20 },
   { "Touro", 20 },
   { "Gêmeos", 20 },
   { "Câncer", 20 },
   { "Leão", 20 },
   { "Virgem", 20 },
   { "Libra", 20 },
   { "Escorpião", 20 },
   { "Sagitário", 21 }
};
Pode existir também uma estrutura para os meses:
struct mes {
   char *nome;
   int dias;
};
E os meses seriam declarados assim:
struct mes meses[] = {
   { "Janeiro", 31 },
   { "Fevereiro", 29 },
   { "Março", 31 },
   { "Abril", 30 },
   { "Maio", 31 },
   { "Junho", 30 },
   { "Julho", 31 },
   { "Agosto", 31 },
   { "Setembro", 30 },
   { "Outubro", 31 },
   { "Novembro", 30 },
   { "Dezembro", 31 },
};
Usando essas estruturas seu código seria muito mais simples. Veja o código da função Meses():
struct zodiaco {
   char *nome;
   int limite;
};

struct mes {
   char *nome;
   int dias;
};

void Meses(){
    int mes, dia;

   struct zodiaco signos[] = {
      { "Capricórnio",  21 },
      { "Aquário", 19 },
      { "Peixes",  20 },
      { "Áries", 20 },
      { "Touro", 20 },
      { "Gêmeos", 20 },
      { "Câncer", 20 },
      { "Leão", 20 },
      { "Virgem", 20 },
      { "Libra", 20 },
      { "Escorpião", 20 },
      { "Sagitário", 21 }
   };

   struct mes meses[] = {
      { "Janeiro", 31 },
      { "Fevereiro", 29 },
      { "Março", 31 },
      { "Abril", 30 },
      { "Maio", 31 },
      { "Junho", 30 },
      { "Julho", 31 },
      { "Agosto", 31 },
      { "Setembro", 30 },
      { "Outubro", 31 },
      { "Novembro", 30 },
      { "Dezembro", 31 },
   };

    do {
        system("cls");Janela6();
        textcolor(LIGHTRED);gotoxy(28,7);cprintf("PROGRAMA SIGNOS DO ZODÍACO");
        textcolor(LIGHTCYAN);gotoxy(14,9);printf("Digite o mês do seu Aniversário ou tecle 0 para sair: ");
        scanf("%d", &mes);fflush(stdin);

        if(mes == 0) {
            textcolor(LIGHTBLUE);gotoxy(30,15);printf ("O ROCCO AGRADECE");Sleep(1800);exit(0);
        }

        if(mes < 0 || mes > 12) {
            textcolor(LIGHTBLUE);gotoxy(20,11);printf ("\aNão existe este mês no ano");
            Sleep(1800);Meses();
        }

    } while(mes < 0 || mes > 12);

    mes--;

    textcolor(LIGHTBLUE);gotoxy(30,11);printf (meses[mes].nome);Sleep(800);
    textcolor(YELLOW);gotoxy(20,13);printf ("Agora digite a data do seu nascimento: ");Sleep(800);
    scanf("%d", &dia);fflush(stdin);

        if(dia > meses[mes].dias) {
            textcolor(LIGHTBLUE);gotoxy(30,15);printf ("Dia inválido!");Sleep(1800);
    } else {
            if(dia > signos[mes].limite) {
        mes++;
        if(mes == 12)
            mes = 0;
            }
            textcolor(LIGHTBLUE);gotoxy(30,15);printf ("SEU SIGNO É %s", signo[mes].nome);Sleep(1800);
    }
}

Editado por Marcelo Utikawa da Fonseca
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...