Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aluno #166 #166

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 54 additions & 13 deletions Cliente.cpp
Original file line number Diff line number Diff line change
@@ -1,13 +1,54 @@
#include <iostream>
#include <string>
#include "Cliente.hpp"

void Cliente::print(){

std::cout << " Nome: " << NOME << endl
<< " Endereço: " << endereco << endl
<< " Cidade: " << CIDADE << endl
<< " Estado: " << ESTADO << endl
<< " CEP: " << cep << endl;

}

#include <iostream>
#include <string>
#include "Cliente.hpp"

void Cliente::print(){

std::cout << " Nome: " << this->getNome() << std::endl;
std::cout << " Endereço: " << this->getEndereco() << std::endl;
std::cout << " Cidade: " << this->getCidade() << std::endl;
std::cout << " Estado: " << this->getEstado() << std::endl;
std::cout << " CEP: " << this->getCEP() << std::endl;

}

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

void Cliente::setEndereco(std::string endereco){
this->endereco = endereco;
}

void Cliente::setCidade(std::string cidade){
this->cidade = cidade;
}

void Cliente::setEstado(std::string estado){
this->estado = estado;
}

void Cliente::setCEP(std::string cep){
this->cep = cep;
}

std::string Cliente::getNome(){
return this->nome;
}

std::string Cliente::getEndereco(){
return this->endereco;
}

std::string Cliente::getCidade(){
return this->cidade;
}

std::string Cliente::getEstado(){
return this->estado;
}

std::string Cliente::getCEP(){
return cep;
}
53 changes: 33 additions & 20 deletions Cliente.hpp
Original file line number Diff line number Diff line change
@@ -1,21 +1,34 @@
#ifndef CLIENTE_H
#define CLIENTE_H

#include <string>
using namespace std;

class Cliente{

public:

string NOME;
string endereco;
string CIDADE;
string ESTADO;
string cep;

void print(); // imprime na tela os dados de um cliente cadastrado

};

#ifndef CLIENTE_H
#define CLIENTE_H

#include <string>

class Cliente{

public:

std::string nome;
std::string endereco;
std::string cidade;
std::string estado;
std::string cep;

void print(); // imprime na tela os dados de um cliente cadastrado

//funções que definem atributos ('sets')
void setNome(std::string nome);
void setEndereco(std::string endereco);
void setCidade(std::string cidade);
void setEstado(std::string estado);
void setCEP(std::string cep);

//funções que retornam atributos ('gets')
std::string getNome();
std::string getEndereco();
std::string getCidade();
std::string getEstado();
std::string getCEP();

};

#endif
56 changes: 56 additions & 0 deletions Encomenda.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#include <iostream>
#include "Encomenda.hpp"

double Encomenda::calcula(){

return this->getPeso() * this->getCusto();

}

void Encomenda::print(){

std::cout << "[Remetente]" << std::endl;
remetente.print();
std::cout << "[Destinatário]" << std::endl;
destinatario.print();
}

void Encomenda::setPeso(double peso){
this->peso = peso;
}

void Encomenda::setCusto(double custo_kg){
this->custo_kg = custo_kg;
}

void Encomenda::setTaxa(double taxa){
this->taxa = taxa;
}

void Encomenda::setRemetente(Cliente c){
this->remetente = remetente;
}

void Encomenda::setDestinatario(Cliente c){
this->destinatario = destinatario;
}

double Encomenda::getPeso(){
return peso;
}

double Encomenda::getCusto(){
return custo_kg;
}

double Encomenda::getTaxa(){
return taxa;
}

Cliente Encomenda::getRemetente(){
return remetente;
}

Cliente Encomenda::getDestinatario(){
return destinatario;
}
57 changes: 31 additions & 26 deletions Encomenda.hpp
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
#ifndef Encomenda_H
#define Encomenda_H

#include "Cliente.hpp"
using namespace std;

class Encomenda{

public:

double PESO = 0.0;
double CUSTOkg = 0.0;
double T = 0.0;
Cliente remetente;
Cliente dest;

void print(){

std::cout << "[Remetente]" << endl;
remetente.print();
std::cout << "[Destinatário]" << endl;
dest.print();
}

};

#ifndef Encomenda_H
#define Encomenda_H

#include <iostream>
#include "Cliente.hpp"

class Encomenda{
private:
double peso = 0.0;
double custo_kg = 0.0;
double taxa = 0.0;
Cliente remetente;
Cliente destinatario;

public:
double calcula();
void print();

void setPeso(double peso);
void setCusto(double custo_kg);
void setTaxa(double taxa);
void setRemetente(Cliente c);
void setDestinatario(Cliente c);

double getPeso();
double getCusto();
double getTaxa();
Cliente getRemetente();
Cliente getDestinatario();
};

#endif
51 changes: 21 additions & 30 deletions EncomendaNormal.hpp
Original file line number Diff line number Diff line change
@@ -1,31 +1,22 @@
#ifndef EncomendaNormal_H
#define EncomendaNormal_H

#include "Encomenda.hpp"
#include "Cliente.hpp"
using namespace std;

class EncomendaNormal: public Encomenda{

public:

double calcula(){

double x = PESO * CUSTOkg;

return x;
}

void print(){

Encomenda::print();
std::cout << "[Encomenda Normal]" << endl;
std::cout << " Peso: " << PESO << endl
<< " Custo por kg: " << CUSTOkg << endl
<< " Custo total: " << T << endl;

}

};

#ifndef EncomendaNormal_H
#define EncomendaNormal_H

#include <iostream>
#include "Encomenda.hpp"
#include "Cliente.hpp"

class EncomendaNormal: public Encomenda{

public:
void print(){

Encomenda::print();
std::cout << "[Encomenda Normal]" << std::endl;
std::cout << " Peso: " << this->getPeso() << std::endl;
std::cout << " Custo por kg: " << this->getCusto() << std::endl;
std::cout << " Custo total: " << this->getTaxa() << std::endl;

}
};

#endif
64 changes: 32 additions & 32 deletions EncomendaRelampago.hpp
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
#ifndef EncomendaRelampago_H
#define EncomendaRelampago_H

#include "Encomenda.hpp"
#include "Cliente.hpp"
using namespace std;

class EncomendaRelampago: public Encomenda{

public:

double calcula(){

double x = PESO * CUSTOkg;
x += x * 0.25;

return x;
}

void print(){

Encomenda::print();
std::cout << "[Encomenda Relâmpago]" << endl;
std::cout << " Peso: " << PESO << endl
<< " Custo por kg: " << CUSTOkg << endl
<< " Taxa adicional: " << 0.25 << endl
<< " Custo total: " << T << endl;

}

};

#ifndef EncomendaRelampago_H
#define EncomendaRelampago_H
#include <iostream>
#include "Encomenda.hpp"
#include "Cliente.hpp"
class EncomendaRelampago: public Encomenda{
public:
double calcula(){
double x = Encomenda::calcula();
x += x * 0.25;
return x;
}
void print(){
Encomenda::print();
std::cout << "[Encomenda Relâmpago]" << std::endl;
std::cout << " Peso: " << this->getPeso() << std::endl;
std::cout << " Custo por kg: " << this->getCusto() << std::endl;
std::cout << " Taxa adicional: " << 0.25 << std::endl;
std::cout << " Custo total: " << this->getTaxa() << std::endl;
}
};
#endif