Você está na página 1de 20

1. Crie uma classe para representar uma pessoa, com os atributos privados de nome, idade e altura.

Crie os métodos públicos necessários para sets e gets e também um


métodos para imprimir os dados de uma pessoa.

RESPOSTA
#include<iostream> //biblioteca
using namespace std;

class Pessoa {
private:
float peso,altura; //variável
char sexo;
string nome;
public:
Pessoa(){ //cria o construtor objeto

}
void setNome(string n,float p,float a,char s){ //recebe o valor do int main
nome = n;
peso = p;
altura = a;
sexo = s;
}

string getNome(){
return nome;
}

void print(){ //mostra o valor na tela


cout << "-------------\n";
cout << "Nome: " << nome << endl;
cout << "sexo: " << sexo << endl;
cout << "Peso: " << peso << endl;
cout << "Altura: " << altura << endl;
}

};

int main(){
Pessoa p; // chama o construtor-padrão
float peso,altura;
char sexo;
string nome;

cout << "Digite o nome: ";


getline(cin,nome);
cout << "Digite o sexo: ";
cin >> sexo;
cout<< "Digite a altura: ";
cin >> altura;
cout << "Digite o peso: ";
cin >> peso;
p.setNome(nome,peso,altura,sexo); //envia o valor para void setNome
p.print(); //enviar o resultado para void print()
} //fim

2. Crie uma classe denominada Elevador para armazenar as informações de um elevador dentro de um prédio.

A classe deve armazenar o andar atual (0=térreo), total de andares no prédio, excluindo o térreo, capacidade do elevador, e quantas pessoas estão presentes nele.

A classe deve também disponibilizar os seguintes métodos:

inicializa: que deve receber como parâmetros: a capacidade do elevador dada em número de pessoas e o total de andares no prédio (os elevadores sempre começam no térreo
e vazios);
entra: para acrescentar uma pessoa no elevador (só deve acrescentar se ainda houver espaço);

sai: para remover uma pessoa do elevador (só deve remover se houver alguém dentro dele);

sobe: para subir um andar (não deve subir se já estiver no último andar);

desce: para descer um andar (não deve descer se já estiver no térreo);

get....: métodos para obter cada um dos os dados armazenados.

RESPOSTA:

1. #include <cstdlib>
2. #include <iostream>
3.
4. using namespace std;
5.
6. class elevador {
7. public:
8. elevador();
9. elevador(int, int);
10. int setInicializa(int, int);
11. int getEntra();
12. int setEntra(int);
13. int getSai();
14. int setSai(int);
15. int getSobe();
16. int setSobe(int);
17. int getDesce();
18. int setDesce(int);
19.
20. private:
21.
22. int capacidade;
23. int capacidadeTotal;
24. int andares;
25. int totalAndares;
26. int andarAtual;
27.
28. };
29.
30. elevador::elevador(int c, int a)
31. {
32. capacidade=c;
33. andarAtual=a;
34. }
35.
36. int elevador::setInicializa(int c,int a)
37. {
38. capacidadeTotal=c;
39. andares=a;
40. capacidade=c;
41. return 0;
42.
43. }
44.
45.
46. int elevador::getEntra()
47. {
48. return capacidade;
49. }
50.
51. int elevador::setEntra(int c)
52. {
53. if(capacidade>0)
54. {
55. capacidade = capacidade-1;
56.
57. cout << "O elevevador possui " << capacidadeTotal-capacidade << " passageiro(s) de um total de no
maximo " << capacidadeTotal << " e esta no andar " << andarAtual << endl;
58.
59. }
60. else
61. {
62. cout << "Capacidade do elevador excedida" << endl;
63. }
64.
65. return capacidade;
66. }
67.
68. int elevador::getSai()
69. {
70. return capacidade;
71. }
72.
73. int elevador::setSai(int c)
74. {
75. if(capacidade<=capacidadeTotal)
76. {
77. capacidade = capacidade+1;
78.
79. cout << "O elevevador possui " << capacidadeTotal-capacidade << " passageiro(s) de um total de no
maximo " << capacidadeTotal << " e esta no andar " << andarAtual << endl;
80.
81. }
82. else
83. {
84. cout << "O elevador esta vazio" << endl;
85. }
86.
87. return capacidade;
88. }
89.
90. int elevador::getSobe()
91. {
92. return andarAtual;
93. }
94.
95. int elevador::setSobe(int a)
96. {
97. if(andarAtual<=totalAndares)
98. {
99. andarAtual = andarAtual+1;
100.
101. cout << "O elevevador possui " << capacidadeTotal-capacidade << " passageiro(s) de um total de no
maximo " << capacidadeTotal << " e esta no andar " << andarAtual << endl;
102.
103. }
104. else
105. {
106. cout << "O elevador chegou ao ultimo andar" << endl;
107. }
108. return andarAtual;
109. }
110.
111. int elevador::getDesce()
112. {
113. return andarAtual;
114. }
115.
116. int elevador::setDesce(int a)
117. {
118. if(andarAtual>=0)
119. {
120. andarAtual = andarAtual-1;
121.
122. cout << "O elevevador possui " << capacidadeTotal-capacidade << " passageiro(s) de um total de no
maximo " << capacidadeTotal << " e esta no andar " << andarAtual << endl;
123.
124. }
125. else
126. {
127. cout << "O elevador chegou ao terreo" << endl;
128. }
129. return andarAtual;
130. }
131.
132.
133.
134. int main()
135. {
136. int var, c, a;
137.
138. elevador e1(0, 0);
139. cout << "Informe o numero de andares do predio e a capacidade maxima do elevador" << endl;
140. cin >> a >> c;
141. e1.setInicializa(c, a);
142.
143.
144. do {
145. cout << "Informe qual ação do elevador:" << endl << "1. para entrar um passageiro" << endl << "2.
para sair um passageiro" << endl << "3. para subir um andar" << endl << "4. para descer um andar" << endl
<< endl;
146. cin >> var;
147.
148. if(var==1)
149. {
150. e1.setEntra(c);
151. }
152.
153. if(var==2)
154. {
155. e1.setSai(c);
156. }
157.
158. if(var==3)
159. {
160. e1.setSobe(a);
161. }
162.
163. if(var==4)
164. {
165. e1.setDesce(a);
166. }
167. }while (var==1 || var==2 || var==3 || var==4);
168.
169. system("PAUSE");
170. return EXIT_SUCCESS;
171. }

4. Crie uma classe em C++ chamada Relogio para armazenar um horário, composto por hora, minuto e segundo. A classe deve representar esses componentes de horário e
deve apresentar os métodos descritos a seguir:

um método chamado setHorario, que deve receber o horário desejado por parâmetro (hora, minuto e segundo);
um método chamado getHorario para retornar o horário atual, através de 3 variáveis passadas por referência;

um método para avançar o horário para o próximo segundo (lembre-se de atualizar o minuto e a hora, quando for o caso).

#include <iostream>

#include <stdio.h>

#include <conio.h>

#include <string.h>

using namespace std;

class relogio
{

private:

int hora, minutos, segundos;

public:

void set_hora(int, int, int);

void get_hora(int *, int *, int *);

void avanca();

};

void relogio::set_hora(int hor, int min, int seg)


{

if(seg>=60)

seg-=60;

min+=1;

if(min>=60)

min-=60;
hor+=1;

if(hor>=24)

hor-=24;

hora=hor;

minutos=min;

segundos=seg;

void relogio::get_hora(int *hor, int *min, int *seg)

{
*hor=hora;

*min=minutos;

*seg=segundos;

void relogio::avanca()

segundos+=1;

if(segundos>=60)

{
segundos-=60;

minutos+=1;

if(minutos>=60)

minutos-=60;

hora+=1;

if(hora>=24)

hora-=24;
}

int main()

relogio rel;

char op;

rel.set_hora(0,0,0);

do

{
cout<<"\n\n\t\tHORA(H) \n\t\MOSTRA(M)\n\t\tAVANCAR(A)\n\n\t\tOPCAO [ ]\b\b";

cin>>op;

switch(op)

case'H': case'h':

int hora, minuto, segundo;

cout<<"\n\n\t\tQUE HORAS SAO: "; cin>>hora;

cout<<"\n\t\tQUE MINUSTOS SAO: "; cin>>minuto;

cout<<"\n\t\tQUE SEGUNDOS SAO: "; cin>>segundo;


rel.set_hora(hora, minuto, segundo);

break;

case'M': case'm':

rel.get_hora(&hora, &minuto, &segundo);

cout<<"\n\n\t\tHora: "<<hora<<":"<<minuto<<":"<<segundo;

getch();

break;

case'A': case'a':

rel.avanca();
break;

default:

return 0;

break;

}while(1!=0);

5. Definir uma classe que represente um círculo.

Esta classe deve possuir métodos Privados para:


calcular a área do círculo;
calcular a circunferência do círculo.
E métodos Públicos para:
definir o raio do círculo, dado um número real;
aumentar o raio do círculo, dado um percentual de aumento;
definir o centro do círculo, dada uma posição (X,Y);
imprimir o valor do raio;
imprimir o centro do círculo.
imprimir a área do círculo.
Criar um programa principal para testar a classe.

Class Circulo {
double x;
double y;
double R;
//metodos
//...
};

Você também pode gostar