Ir ao conteúdo

Posts recomendados

Postado

 

/* preciso mostrar o signo e uma característica*/

 

 

#include <iostream>

 

using namespace std;

class Signo

{

private:

int dia_do_nascimento;

int mes_do_nascimento;

 

public:

Signo()

{

this ->dia_do_nascimento = 0,0;

this -> mes_do_nascimento = 0,0;

}

 

int getDia_do_nascimento()

{

return dia_do_nascimento;

}

int getMes_do_nascimento()

{

return mes_do_nascimento;

}

 

void setDia_do_nascimento(int dia_do_nascimento)

{

if ((dia_do_nascimento <0) || (dia_do_nascimento >31))

{

cerr << "Dia inválido" << endl;

return;

}

 

this ->dia_do_nascimento = dia_do_nascimento;

}

void setMes_do_nascimento(int mes_do_nascimento)

{

if ((mes_do_nascimento <0) || (mes_do_nascimento >12))

{

cerr << "Mes inválido" << endl;

return;

this ->mes_do_nascimento = mes_do_nascimento;

}

}

 

Signo (int dia_do_nascimento, int mes_do_nascimento)

{

setDia_do_nascimento(dia_do_nascimento);

setMes_do_nascimento(mes_do_nascimento);

}

 

 

};

 

class Caracteristica

{

private:

string adjetivo;

 

public:

string getAdjetivo()

{

return adjetivo;

}

 

void setAdjetivo (string adjetivo)

{

this -> adjetivo = adjetivo;

}

 

 

};

 

int main()

{

Signo s;

int dias[13]={0,21,20,21,21,21,21,22,23,23,23,22,22};

string signos[13][12]={"Capricornio", "Aquario", "Peixes", "Aries", "Touro", "Gemeos", "Cancer", "Leao", "virgem", "libra", "Escorpiao", "Sagitario", "Capricornio"};

 

int dia_do_nascimento;

int mes_do_nascimento;

 

cout << "Qual o dia do seu nascimento: " << endl;

cin >> dia_do_nascimento;

s.setDia_do_nascimento(dia_do_nascimento);

 

cout << "Qual o mes do seu nascimento: " << endl;

cin >> mes_do_nascimento;

s.setMes_do_nascimento(mes_do_nascimento);

 

 

 

if (dia_do_nascimento < dias[mes_do_nascimento])

mes_do_nascimento = mes_do_nascimento-1;

 

cout << "Seu signo é " << signos [mes_do_nascimento] << endl;

 

 

 

 

return 0;

}

Postado

Pelo que eu entendi, você vai precisar de três arquivos:

main.cpp: É a sua classe principal.

Signo.h: Possui os protótipos dos métodos da classe Signo.

Signo.cpp: Possui a implementação de todos os métodos declarados na classe Signo.h.

 

Vamos aos códigos:

Signo.h

#include <iostream>

class Signo {
private:
    std::string nome;
    std::string qualidade;

public:
    Signo();

    Signo(std::string nome, std::string qualidade);

    std::string getNome();

    void setNome(std::string nome);

    std::string getQualidade();

    void setQualidade(std::string qualidade);
};

Signo.cpp

#include "Signo.h"

Signo::Signo() {
    setNome("");
    setQualidade("");
}

Signo::Signo(std::string nome, std::string qualidade) {
    setNome(nome);
    setQualidade(qualidade);
}

std::string Signo::getNome() {
    return nome;
}

void Signo::setNome(std::string nome) {
    this->nome = nome;
}

std::string Signo::getQualidade() {
    return qualidade;
}

void Signo::setQualidade(std::string qualidade) {
    this->qualidade = qualidade;
}

main.cpp

#include <iostream>
#include "Signo.h"

int main() {
    // Relaciona o mês com a quantidade de dias
    int relacaoDiaMes[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

    // Cria a coleção de signos disponíveis
    Signo signos[12] = {
            Signo("Capricórnio", "Bonito"), Signo("Aquário", "Molhadinho"),
            Signo("Peixes", "Medroso"), Signo("Áries", "Cornélio"),
            Signo("Touro", "Chifrudo"), Signo("Gêmeos", "Plagiador"),
            Signo("Câncer", "Doente"), Signo("Leão", "Nervoso"),
            Signo("Virgem", "Raro"), Signo("Libra", "Justo"),
            Signo("Escorpião", "Perigoso"), Signo("Sagitário", "Não sei")
    };

    int dia;
    int mes;

    std::cout << "Dia de nascimento: ";
    std::cin.ignore(0, '\n');       // Limpa o buffer para evtar erros de leitura
    std::cin >> dia;

    std::cout << "Mês de nascimento: ";
    std::cin.ignore(0, '\n');
    std::cin >> mes;

    if (mes < 0 || mes > 12) {
        std::cerr << "[ E ]: O mês de nascimento não é válido." << "\n";
        return 1;   // Qualquer coisa diferente de 0 indica algum tipo de problema
    }

    if (dia <= 0 || dia > relacaoDiaMes[mes - 1]) {
        std::cerr << "[ E ]: O dia de nascimento não é válido." << "\n";
        return 2;
    }

    std::cout << "---------------------------------------" << "\n"
              << "    Seu signo é: " << signos[mes - 1].getNome() << "\n"
              << "Sua qualidade é: " << signos[mes - 1].getQualidade() << "\n"
              << "---------------------------------------" << "\n";
    return 0;
}

Veja se isso atende à suas necessidades.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...