Jump to content

Professora não sabe


fabmelboy

Recommended Posts

#include<iostream>
using namespace std;
class gato{
private:
	char*nome;
	//char raca[40];
public:
	float peso;
	int idade;
	void setnome(char*n){nome=n;}
	//void setraca(char c){raca=c;}
	char*getnome() { return nome;}
	//getraca() { return raca;}
	void mostra();
} g1,g2;

main() {
//strcpy (g1.nome,"oscar");
g1.setnome("tareco");
/*	g1.raca,"refeiro";
	g2.nome,"Tareco";
	g2.raca,"persa";
	cout<<"Insira o peso do animal oscar\n";
	cin>>g1.peso;
	cout<<"insira a idade do animal oscar\n";
	cin>>g1.idade;
	cout<<"Insira o peso do animal tareco\n";
	cin>>g2.peso;
	cout<<"insira a idade do animal tareco\n";
	cin>>g2.idade;*/
	g1.mostra();
}
void gato::mostra(){
		cout<<"O nome do cao é "<<g1.nome;
			//<<" a raca "<<g1.raca<<" o peso "<<g1.peso<<" a idade: "<<g1.idade<<"\n";
		//cout<<"O nome do cao é "<<g2.nome<<" a raca "<<g2.raca<<" o peso "<<g2.peso<<" a idade: "<<g2.idade<<"\n";
}

a profe deu este enunciado:

cria um novo programa em c++

criar classe com os os seguintes campos

privados:

nome

raça

publicos:

peso,idade

cria dois objectos da classe gato g1,g2

dentro da classe gato cria duas funçoes que permitam aceder ao campo nome fora da classe

uma do tipo set e outra do tipo get

dentro de uma classe gato

dentro da classe gato cria duas funçoes que permitam aceder ao campo raça fora da classe

uma do tipo set e outra do tipo get

preencha os seguintes campos

g1 nome oscar raça rafeiro

g2 nome tareco raça persa

o programa deve pedir ao user para pedir o peso e a idade de cada um dos animais

criar uma funçao membro fora da classe gato com o nome mostra .

esta funçao deve imprimir todos os campos da classe gato

utiliza a funçao mostra para imprimir os dados do objecto g1 e g2

___________________________________________________________________

nos fizemos o que soubemos

a profe quando chegou pos tudo a comentario e pouco mais ajudou..

podiam ajudar?

abraço

Fábio Rosa

Link to comment
Share on other sites

Deves ter faltado a algumas aulas importantes. Ou então estavas distraído.

char raca[40]; -> compara com a maneira como declaraste o nome.

void setraca(char c){raca=c;} -> compara o tipo do parâmetro com o do setnome.

Falta ali qualquer coisa no cabeçalho do método getraca... compara com o getnome e descobre o que é 😄

strcpy (g1.nome,"oscar"); -> não podes aceder a campos privados de uma classe. Dica: tens métodos setnome e e setraca, utiliza-os! O mesmo se aplica ao seguinte:

g1.raca,"refeiro";

g2.nome,"Tareco";

g2.raca,"persa";

cin>>g1.peso;

cin>>g1.idade;

cin>>g2.peso;

cin>>g2.idade;

e também aos comentários no método mostra.

Desaparecido.

Link to comment
Share on other sites

Ninguem gosta de trabalhar para os outros mas é Natal...

#include <iostream.h>
#include <stdlib.h>

class gato
{
private:
char nome[40];
char raca[40];
public:
float peso;
int idade;

//Funções para atribuir
void setnome(char *novo_nome)
      {
      strcpy(nome,novo_nome);
      }
void setraca(char *nova_raca)
      {
      strcpy(raca,nova_raca);
      }
//Funções para ler
char *getnome()
      {
      return nome;
      }
char *getraca()
      {
      return raca;
      }
};

void mostra (gato o1, gato o2)
{
//Output do objecto o1
cout << "O animal " << o1.getnome() << " da raca " << o1.getraca() << '\n';
cout << "pesa " << o1.peso << " kg\n";
cout << "tem " << o1.idade << " anos\n\n";
//Output do objecto o2
cout << "O animal " << o2.getnome() << " da raca " << o2.getraca() << '\n';
cout << "pesa " << o2.peso << " kg\n";
cout << "tem " << o2.idade << " anos\n\n";
}


void main()
{
//criação dos objectos g1 e g2 apartir da classe gato
gato g1,g2;

//objecto g1, nome="oscar" e raca="rafeiro"
g1.setnome("oscar");
g1.setraca("rafeiro");
//objecto g2, nome="tareco" e raca="persa"
g2.setnome("tareco");
g2.setraca("persa");

//Pedido de input da idade e do peso

//objecto g1
//peso
cout << "Insira o peso do animal " << g1.getnome() << ": ";
cin >> g1.peso;
//idade
cout << "Insira a idade do animal " << g1.getnome() << ": ";
cin >> g1.idade;

//objecto g2
//peso
cout << "Insira o peso do animal " << g2.getnome() << ": ";
cin >> g2.peso;
//idade
cout << "Insira a idade do animal " << g2.getnome() << ": ";
cin >> g2.idade;

//Vamos chamar a função mostra para onde iremos enviar os objecto g1 e g2
mostra(g1,g2);

//um comando de sistema para o programa não sair rapidamente depois do output
system("pause");

}

So o fiz porque não tenho nada mesmo pra fazer 🙂

Melhor browser game do Mundo!---> Travian Regista-te!

Link to comment
Share on other sites

Com char *get.. o tipo de retorno é um apontador para um caracter. Neste caso esse caracter é o 1º de vários, mas o que importa é que retorna o endereço de um caracter.

Se fosse char get.., o valor retornado seria o valor do próprio caracter, e não seria possível aceder ao resto do array.

Por isso acho que tens a ideia correcta 😄

Desaparecido.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.