Ir para conteúdo

POWERED BY:

Arquivado

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

Glaucco

[Resolvido] Algoritmo em C++

Recommended Posts

Pronto terminei código concluído. Pode por como resolvido. Muito obrigado as pessoas que me ajudaram.

 

#include<iostream> //directiva do pré processamento
#include<iomanip>
using namespace std;//directiva using
class Pessoa {
private:
	string nome,msg;
	double peso,altura;
	char sexo;
public:
	Pessoa() { //cria o construtor objeto
	}
	Pessoa(string no,double pe,double al,char se) {
		nome=no;
		peso=pe;
		altura=al;
		sexo=se;
	}
	bool setNome(string no) {
		int tam=no.size();
		if (tam<2)
			return false;
		nome=no;
		return true;
	}
	string getNome() {
		return nome;
	}
	bool setpeso (double pe) {
		if (pe < 0 || pe > 200) {
			cout<<"\nPeso incorreto. Digite o peso maior que 0 e menor que 200"<<endl<<endl;
			return false;
		}
		peso = pe;
		return true;
	}
	double getPeso() {
		return peso;
	}
	bool setAltura (double al) {
		if (al < 0.50 || al > 2.40) {
			cout<<"\nAltura incorreta. Digite a altura maior que 0.50 e menor que 2.40"<<endl<<endl;
			return false;
		}
		altura = al;
		return true;
	}
	double getaltura() {
		return peso;
	}
	bool setSexo (char se) {
		if (se != 'M' && se != 'F') {
			cout<<"\nSexo Incorreto. Digite o sexo com a letra M ou F"<<endl<<endl;
			return false;
		}
		sexo = se;
		return true;
	}
	char setsexo() {
		return sexo;
	}
	double pesoIdeal() {
		if (sexo=='M') {
			return(72.7*altura-58);
		}
		return(62.1*altura-44.7);
	}
	double pesoCerto() {
		if (peso>pesoIdeal()) {
			msg="Deve perder: ";
			return (peso-pesoIdeal());
		}
			msg="Deve ganhar: ";
		return (pesoIdeal()-peso);
	}

	string getmsg(){
	return msg;}


	double setImc() {
		return peso/(altura*altura);
	}
	void print() { //mostra o valor na tela
		cout << "-------------\n";
		cout << "Nome: "  <<nome<< endl;
		cout << "Peso: "  <<peso<<"Kg"<< endl;
		cout << "Altura: "<<altura<<"m"<< endl;
		cout << "Sexo: "  <<sexo<< endl;
		cout << "IMC: " <<setprecision(3)<<setImc()<<endl;
		cout << "PesoIdeal: "<<pesoIdeal()<<endl;
								cout <<getmsg()<<pesoCerto()<<endl;
	}
};
int main() {
	Pessoa p;
	string nome;
	double peso,altura;
	char sexo;
	do {//Repita
		cout << "Digite o nome: ";
		getline(cin,nome);
	} while (!p.setNome(nome));//Até
	do {//Repita
		cout << "Digite o peso: ";
		cin>>peso;
	} while (!p.setpeso(peso));//Até
	do {//Repita
		cout << "Digite a altura: ";
		cin>>altura;
	} while (!p.setAltura(altura));//Até
	do {//Repita
		cout << "Digite o sexo: ";
		cin>>sexo;
	} while (!p.setSexo(sexo));//Até
	p.print(); //enviar o resultado para void print()
	system("PAUSE");
	return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda bem que você conseguiu, ficamos felizes em saber disso!

 

Mas, Glauco, siga as regras do fórum cara, utilize as tags corretas....

Todos os seus posts foram editados por moderadores para inserção da tag [ code]

 

Mais atenção na próxima! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

[]

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.