Data de nascimento e signos


Autor/fonte: Marcelo Vicente Pesente Fachinelli
E-mail/Url: http://www.vivaolinux.com.br/script/Data-de-nacimento-e-signos
Tags: [ signo ]



Digg del.icio.us

Esse é um programa que meu colega e eu fizemos para aula de lógica do nosso curso técnico. O programa consiste na entrada do nome, da data de nascimento e do sexo da pessoa. A partir dessas informações o programa calcula quantos anos a pessoa tem e o signo da pessoa. Esse foi um dos meus primeiros programas em C, espero que gostem.

Script:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void exercicio3()
{
  /*Bloco de declaração de variáveis*/
  char sexo[1],signo[12],nome[30];
  char dateAux5[3];
  char dateAux6[2];
  int dia,mes,ano,anoAux,bi,ponteiro,diaMes,diaAux,i;
  char* comparar[12] = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
  char* date2 = __DATE__;
  strncpy(dateAux5,date2,3);
  strncpy(dateAux6,date2+4,6);
  ponteiro = 0;
  /*Inicio do programa*/
  printf("Digite seu nome:");
  scanf("%s",&nome);
  dia:
  system("clear");
  printf("Digite o dia que nasceu:");
  scanf("%d",&dia);
  if(dia<1 || dia>31)
  {
    printf("O dia deve estar entre 1 e 31!\n");
    system("PAUSE");
    goto dia;
  }
  if(ponteiro == 1)
    goto meses;
  mes:
  system("clear");
  printf("Digite o mes que nasceu:");
  scanf("%d",&mes);
  if(mes<1 || mes>12)
  {
    printf("O mes deve estar entre 1 e 12!\n");
    system("PAUSE");
    goto mes;
  }
  ano:
  system("clear");
  printf("Digite o ano que ela nasceu:");
  scanf("%d",&ano);
  if(ano < 1900)
  {
    printf("O ano deve ser maior que 1900!\n");
    system("PAUSE");
    goto ano;
  }
  sexo:
  printf("H)Homem\nM)Mulher\nSelecione seu sexo:");
  scanf("%s",&sexo);
  if(strcmp(sexo,"M")!=0 && strcmp(sexo,"H")!=0 && strcmp(sexo,"m")!=0 && strcmp(sexo,"h")!=0)
  {
    printf("Opcao invalida!\n");
    system("PAUSE");
    goto sexo;
  }
  system("clear");  
  meses:
  if(mes == 1)
  {
    if(dia < 21)
      strcpy(signo,"Capricornio");
    else
      strcpy(signo,"Aquario");
    diaMes = 31;
  }
  
  else if(mes == 2)
  {
    if(ano%4 == 0)
      bi = 29;
    else
      bi = 28;
    if(dia > bi)
    {
      if(bi == 0);
        printf("Ano bissexto!!!\n");
      printf("O mes de fevereiro nao tem %d dias!\n",dia);
      system("PAUSE");
      ponteiro = 1;
      goto dia;
    }
    else
    {
      if(dia<20)
        strcpy(signo,"Aquario");
      else
        strcpy(signo,"Peixes");
    }
    diaMes = bi;
  }
  
  else if(mes == 3)
  {
    if(dia < 21)
      strcpy(signo,"Peixes");
    else
      strcpy(signo,"Aries");
    diaMes = 31;
  }
  
  else if(mes == 4)
  {
    if(dia>30)
    {
      printf("O mes de abril nao tem %d dias!\n",dia);
      system("PAUSE");
      ponteiro = 1;
      goto mes;      
    }
    else
    {
      if(dia < 21)
        strcpy(signo,"Aries");
      else
        strcpy(signo,"Touro");
    }
    diaMes = 30;
  }
  
  else if(mes == 5)
  {
    if(dia < 21)
      strcpy(signo,"Touro");
    else
      strcpy(signo,"Gemeos");
    diaMes = 31;  
  }
  
  else if(mes == 6)
  {
    if(dia>30)
    {
      printf("O mes de junho nao tem %d dias!\n",dia);
      system("PAUSE");
      ponteiro = 1;
      goto mes;      
    }
    else
    {
      if(dia < 21)
        strcpy(signo,"Gemeos");
      else
        strcpy(signo,"Cancer");
    }
    diaMes = 30;
  }
  
  else if(mes == 7)
  {
    if(dia < 22)
      strcpy(signo,"Cancer");
    else
      strcpy(signo,"Leao");
    diaMes = 31;
  }
  
  else if(mes == 8)
  {
    if(dia < 23)
      strcpy(signo,"Leao");
    else
      strcpy(signo,"Virgem");
    diaMes = 31;
  }
  
  else if(mes == 9)
  {
    if(dia>30)
    {
      printf("O mes de setembro nao tem %d dias!\n",dia);
      system("PAUSE");
      ponteiro = 1;
      goto mes;
    }
    else
    {
      if(dia < 23)
        strcpy(signo,"Virgem");
      else
        strcpy(signo,"Libra");
    }
    diaMes = 30;
  }

  else if(mes == 10)
  {
    if(dia < 23)
      strcpy(signo,"Libra");
    else
      strcpy(signo,"Escorpiao");
    diaMes = 31;  
  }
  
  else if(mes == 11)
  {
    if(dia>30)
    {
      printf("O mes de novembro nao tem %d dias!\n",dia);
      system("PAUSE");
      ponteiro = 1;
      goto mes;      
    }
    else
    {
      if(dia < 22)
        strcpy(signo,"Escorpiao");
      else
        strcpy(signo,"Sagitario");
    }
    diaMes = 30;
  }
  
  else
  {
    if(dia < 23)
      strcpy(signo,"Sagitario");
    else
      strcpy(signo,"Capricornio");
    diaMes = 31;    
  }
  anoAux = atoi(date2+7);
  ano = anoAux - ano;
  for(i=0; i < 11 ;i++)
  {
     if(strcmp(comparar[ i ],dateAux5)==0)
     {
        break;
     }
  }
  if(i - mes < 0)
    ano = ano -1;
  else if(11 - mes == 0)
  {
    diaAux = atoi(dateAux6);
    if(diaAux-dia < 0)
      ano = ano -1;
  }
  if(strcmp(sexo,"H")==0 || strcmp(sexo,"h")==0)
    printf("Sr. %s, seu signo eh %s e voce tem %d anos!\n",nome,signo,ano);
  else
    printf("Sra. %s, seu signo eh %s e voce tem %d anos!\n",nome,signo,ano);  
  system("PAUSE");
  return;
}




Enviado por xKuRt em 17/12/2008 às 19:30


Itens relacionados

Algoritmo dos signos

Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

AvatarEnviado por xKuRt em 22/01/2009 às 08:30

Corrigido o título do artigo!

--
Trabalho com desenvolvimento Web. Visite meu site - http://www.sandro.eti.br

AvatarEnviado por Jotah em 21/01/2009 às 22:25

naCimento? :(

--
Blog - http://www.jotajunior.com.br


Envio de comentário:




  

Terça, 29 de Julho de 2014




Top 5 membros

Últimos membros online

  • 1em 28/07 às 21:39
  • xKuRtem 27/07 às 15:13
  • JCanecaem 26/07 às 19:02

Últimos membros cadastrados



Capa do livro
Informática para Concursos


Capa do livro
HTML 5 - A Linguagem de Marcação que Revolucionou a Web


Capa do livro
Linguagem C na Prática





Hostnet

IMD