Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tiagogameover

problema com data em c+++

Recommended Posts

Faça um algoritmo em que o usuário entre com a data de nascimento e o programa mostre seu signo onde
21/03 a 20/4 - aries
21/04 a 21/05 - touro
22/05 a 21/06 - gemeos
22/06 a 23/07 - cancer
24/07 a 23/08 - leao
24/08 a 23/09 - virgem
24/09 a 23/10 - libra
24/10 a 22/11 - escorpiao
23/11 a 21/12 - sagitario
22/12 a 20/01 - capricornio
21/01 a 19/02 - aquario
20/02 a 20/03 – peixes
(esse algoritmo deve ser dividido em 3 funções)

como ficaria isoo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O ponto é: não fazemos trabalho pelos outros.

Tente fazer primeiro e poste o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

/*Faça um algoritmo em que o usuário entre com a data de nascimento e o programa mostre seu signo onde
21/03 a 20/4 - aries
21/04 a 21/05 - touro
22/05 a 21/06 - gemeos
22/06 a 23/07 - cancer
24/07 a 23/08 - leao
24/08 a 23/09 - virgem
24/09 a 23/10 - libra
24/10 a 22/11 - escorpiao
23/11 a 21/12 - sagitario
22/12 a 20/01 - capricornio
21/01 a 19/02 - aquario
20/02 a 20/03 – peixes
(esse algoritmo deve ser dividido em 3 funções)*/
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int data;
cout<<"digite sua data de nascimento:";
cin>>data;


if (21/03 == 20/4)
cout<<"seu signo e aries";
else
if (21/04 == 21/05)
cout<<"seu signo e touro";
if(22/05 == 21/06)
cout<<"seu signo e gemeos";
else
if(22/06 == 23/07)
cout<<" seu signo e cancer";
getch();
}

 

por que ta dando errrado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, você precisa pensar em uma forma de dividir o programa em 3 funções (como é pedido no enunciado).

 

int data; // declarado como integer
//...
cin >> data; // provavelmente lido como string (ex: "12/11/2000") se for considerar a forma que usou os 'if' abaixo.

Não use "/" na leitura da data, o programa espera um número inteiro! Exemplo de entrada:

#include <iostream>

    using namespace std;

int main (void) {
    int dia, mes, ano;
    
    cout << "Data: ";
    cin >> dia >> mes >> ano;
    cout << "Dia: " << dia << " Mes: " << mes << " Ano: " << ano;
    return 0;
}

ou:

#include <iostream>

    using namespace std;

int main (void) {
    int dia, mes, ano;
    cout << "Entre o dia: ";
        cin >> dia;
    cout << "Entre o mes: ";
        cin >> mes;
    cout << "Entre o ano: ";
        cin >> ano;

    cout << "Dia: " << dia << " Mes: " << mes << " Ano: " << ano;
    return 0;
}

 

O problema seguinte é a comparação que está fazendo. A variável 'data' nem se quer é usada no programa, note que nas estruturas de seleção a comparação é feita entre... datas? strings?

 

//...
int data_dia = 10;

if (dia > 10)
  printf("Dia maior que 10!");
//...

 

if (dia == 25)
	if (mes == 12)
		printf("Natal");

ou

if ((dia == 25) && (mes == 12))
	printf("Natal.");

 

SUGESTÃO: Leia o dia, mês e ano separadamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

/*Faça um algoritmo em que o usuário entre com a data de nascimento e o programa mostre seu signo onde
21/03 a 20/4 - aries
21/04 a 21/05 - touro
22/05 a 21/06 - gemeos
22/06 a 23/07 - cancer
24/07 a 23/08 - leao
24/08 a 23/09 - virgem
24/09 a 23/10 - libra
24/10 a 22/11 - escorpiao
23/11 a 21/12 - sagitario
22/12 a 20/01 - capricornio
21/01 a 19/02 - aquario
20/02 a 20/03 – peixes
(esse algoritmo deve ser dividido em 3 funções)*/
#include<iostream>
#include<conio.h>
#include <stdlib.h>
using namespace std;

int datadenascimento(void){
int nasceu;
int dia,mes,ano;
cout<<"digite seu dia em que nasceu:\n";
cin>>dia;
cout<<"digite seu mes em que nasceu:\n";
cin>>mes;
cout<<"digite seu ano em que nasceu:\n";
cin>>ano;
cout << "Dia: " << dia << " Mes: " << mes << " Ano: " << ano;
if (dia==21)//aries
if(mes==3)
cout<<"\n voce nasceu entre 21/03 a 20/04 e seu signo e: aries" ;
if(dia==20)
if(mes==4)
cout<<"\n voce nasceu entre 21/03 a 20/04 e seu signo e: aries" ;

if(dia==21)//touro
if(mes==4)
cout<<"\n voce nasceu entre 21/05 a 21/04 e seu signo e: touro" ;
if(dia==21)
if(mes==5)
cout<<"\n voce nasceu entre 21/05 a 21/04 e seu signo e: touro" ;

if(dia==22)//gemeos
if(mes==5)
cout<<"\n voce nasceu entre 22/05 a 21/06 e seu signo e: gemeos" ;
if(dia==21)
if(mes==6)
cout<<"\n voce nasceu entre 22/05 a 21/06 e seu signo e: gemeos" ;

if(dia==22)//cancer
if(mes==6)
cout<<"\n voce nasceu entre 22/06 a 23/07 e seu signo e: cancer" ;
if(dia==23)
if(mes==7)
cout<<"\n voce nasceu entre 22/06 a 23/07 e seu signo e: cancer" ;


if(dia==24)//leao
if(mes==7)
cout<<"\n voce nasceu entre 24/07 a 23/08 e seu signo e: leao" ;
if(dia==23)
if(mes==8)
cout<<"\n voce nasceu entre 24/07 a 23/08 e seu signo e: leao" ;

if(dia==24)//virgem
if(mes==8)
cout<<"\n voce nasceu entre 24/08 a 23/09 e seu signo e: virgem" ;
if(dia==23)
if(mes==9)
cout<<"\n voce nasceu entre 24/08 a 23/09 e seu signo e: virgem" ;

if(dia==24)//libra
if(mes==9)
cout<<"\n voce nasceu entre 24/09 a 23/10 e seu signo e: libra" ;
if(dia==23)
if(mes==10)
cout<<"\n voce nasceu entre 24/09 a 23/10 e seu signo e: libra" ;

if(dia==24)//escorpiao
if(mes==10)
cout<<"\n voce nasceu entre 24/10 a 22/11 e seu signo e: escorpiao" ;
if(dia==22)
if(mes==11)
cout<<"\n voce nasceu entre 24/10 a 22/11 e seu signo e: escorpiao" ;

if(dia==23)//sagitario
if(mes==11)
cout<<"\n voce nasceu entre 23/11 a 21/12 e seu signo e: sagitario" ;
if(dia==21)
if(mes==11)
cout<<"\n voce nasceu entre 23/11 a 21/12 e seu signo e: sagitario" ;

if(dia==22)// capricornio
if(mes==12)
cout<<"\n voce nasceu entre 22/12 a 20/01 e seu signo e: capricornio" ;
if(dia==20)
if(mes==01)
cout<<"\n voce nasceu entre 22/12 a 20/01 e seu signo e: capricornio" ;

if(dia==21)// aquario
if(mes==01)
cout<<"\n voce nasceu entre 21/01 a 19/02 e seu signo e: aquario" ;
if(dia==19)
if(mes==02)
cout<<"\n voce nasceu entre 21/01 a 19/02 e seu signo e: aquario" ;

if(dia==20)// peixes
if(mes==02)
cout<<"\n voce nasceu entre 20/02 a 20/03 e seu signo e: peixes" ;
if(dia==20)
if(mes==03)
cout<<"\n voce nasceu entre 20/02 a 20/03 e seu signo e: peixes" ;

}
int main(){

datadenascimento();


}

 

 

 

como fazer agora para que ele entre com um numero que seria a data exemplo 22/12 a 20/01 entre 22/12 a 20/01 como ficaria ? por favor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.