Ir ao conteúdo

Posts recomendados

Postado

Segue o exercício proposto, eu iniciei criando um header para a classe Automóvel( está logo em baixo do enunciado), daí surgiu dúvidas na letra d) alguém poderia me ajudar a resolver não entendi muito bem como eu faço para criar uma lista em uma nova classe.


 

 

1- Faça um programa para registro e consulta de veículos novos ou usados. 

a) Defina uma classe Automovel, que tem as seguintes informações:

- marca 

- ano 

- status (que pode ser vendido ou disponível)

- cor 

- preco 

- modelo

- estado

 

b) Defina um método construtor para a classe Automovel que inicializa os valores dos atributos através da passagem de argumentos definidos.

c) Defina os métodos get e set para todos os atributos e métodos.

d) Elabore outra classe (UsaAutomovel) para testar a classe Automovel onde: 

- Deve ser criado uma lista de automóveis, através da criação de objetos da classe Automovel. 

- Defina um método para preenchimento de dados sobre um automóvel e vá adicionando na lista. 

e) Faça um método para procurar veículos por marca procuraMarca – lista o automóvel de uma determinada marca.

f) faça um método que permita a realização de venda de um veículo.

g) Defina ainda na classe principal (UsaAutomovel) as seguintes opções: Listar automóveis e total de vendas.

 

2- Crie duas classes que herdem as características da classe automóvel.

 

 

 

Automóvel.h

 

<>

#ifndef AUTOMOVEL_H
#define AUTOMOVEL_H


class Automovel
{
    int ano;
    string marca, modelo, cor, estado, status;
    float preco;

    public:
    Automovel(void){
    }
    //consulta
    Automovel(string marca, int ano, string status, string cor, float preco, string modelo, string estado){
        this->marca = marca;
        this->ano = ano;
        this->status = status;
        this->cor = cor;
        this->preco = preco;
        this->modelo = modelo;
        this->estado = estado;
    }
    string getMarca(void){
        return this->marca;
    }
    int getAno(void){
        return this->ano;
    }
    string getStatus(void){
        return this->status;
    }
    string getCor(void){
        return this->cor;
    }
    float getPreco(void){
        return this->preco;
    }
    string getModelo(void){
        return this->modelo;
    }
    string getEstado(void){
        return this->estado;
    }
    void setMarca(string marca){
        this->marca = marca;
    }
    void setAno(int ano){
        this->ano = ano;
    }
    void setStatus(string status){
        this->status = status;
    }
    void setCor(string cor){
        this->cor = cor;
    }
    void setPreco(float preco){
        this->preco;
    }
    void setModelo(string modelo){
        this->modelo;
    }
    void setEstado(string estado){
        this->estado;
    }
    void toString(){
        cout << "Marca: " << this->getMarca() <<" Ano: " << this->getAno() << " Status: " << this->getStatus()<< " Cor: " << this->getCor()<< " Preco: " << this->getPreco() << " Modelo: " << this->getModelo() << " Estado: " << this->getEstado();
    }
};
class UsaAutomovel
{

};
#endif // AUTOMOVEL_H

Postado

Poste algo completo, que se possa compilar.

 

No caso da lista não parece algo formal. Não pode usar algum container da linguagem, como o óbvio list ou vector?

Postado
agora, arfneto disse:

Poste algo completo, que se possa compilar.

 

No caso da lista não parece algo formal. Não pode usar algum container da linguagem, como o óbvio list ou vector?

#include  <iostream>
#include <list>
using namespace std;
#include "Automovel.hpp"

void procuraMarca(list<Automovel *> ListaAutomoveis, string marca){
    int achou = 0;
    float ptotal = 0;
    for (Automovel* var : ListaAutomoveis){
        if (var->getMarca() == marca){
            var->toString();
            achou = 1;
            ptotal++;
        }
    }
    if (achou == 0){
        cout << "Essa Marca nao consta na lista" << endl;
    }
    else
        cout << endl << "Total de Automoveis listados com a mesma Marca: " << ptotal << endl;
}


void venderAutomovel(list<Automovel *> &lista){
    string marca, cor, status, modelo, estado, venda, vendido;
    float preco;
    int ano;

    cout << "Marca: ";
    cin >> marca ;
    cout << "Ano: ";
    cin >> ano ;
    cout << "Status: ";
    cin >> status;
    cout << "Cor: ";
    cin >> cor;
    cout << "Preco: ";
    cin >> preco;
    cout << "Modelo: ";
    cin >> modelo;
    cout << "Estado: ";
    cin >> estado;
    if( status == vendido){
       cout <<"Este automovel ja foi vendido"<< endl;
    }
    else
    cout << "Este automovel ainda nao foi vendido";

    }
    void incluir(list<Automovel *> &lista){
    string marca, cor, status, modelo, estado;
    float preco;
    int ano;
    char tipo;

    cout << "Tipo (l para carros, 2 para motos): ";
    cin >> tipo;
    cout << "Marca: ";
    cin >> marca ;
    cout << "Status: ";
    cin >> status ;
    cout << "Cor: ";
    cin >> cor;
    cout << "Preco: ";
    cin >> preco;
    cout << "Ano: ";
    cin >> ano;
    cout << "Modelo: ";
    cin >> modelo;
    cout << "Estado: ";
    cin >> estado;

    Automovel* cole = new Automovel(ano, estado, tipo, marca, status, cor, modelo, preco);
    lista.push_back(cole);
    cout << "Automovel inserido com sucesso" <<endl;
}

void listarTodos(list<Automovel *> lista){
    cout << "Lista de Automoveis " << endl;
    cout << endl << "==============================" << endl;
    for (Automovel* var : lista)
    {
         var->toString();
    }
    cout << endl << "==============================" << endl;
}


void menu(){
    cout << endl << "1 - Incluir " << endl;
    cout << "2 - Listar " << endl;
    cout << "3 - Procurar marca " << endl;
    cout << "4 - Total de Vendas " << endl;
    cout << "5 - Vender " << endl;
    cout << "0 - Sair " << endl;
    cout << "===============" << endl;
    cout << "Opcao: ";
}

int main(){
    list<Automovel *> ListaAutomoveis;
    list<Automovel *>::iterator p;
    int op;
    string marca;
    float venda;

    do{
            menu();
            cin >> op;
            switch(op){
                case 0 : break;
                case 1 : incluir(ListaAutomoveis);
                    break;
                case 2 : listarTodos(ListaAutomoveis);
                    break;
                case 3 :  cout << "Informe a marca: ";
                     cin >> marca;
                      procuraMarca(ListaAutomoveis, marca);
                     break;
               case 4 : listarTodos2(ListaAutomoveis);
                     break;
               case 5 :  cout << "Informe o automovel : ";
                     cin >> venda;
                     venderAutomovel(ListaAutomoveis, venda);
                     break;
                default : cout << "Opcao invalida" << endl;
            }
    }while (op != 0);
}
 

 

Esse no caso seria meu arquivo cpp para compilar juntamente com o meu arquivo hpp que mandei anteriormente, mas nao estou conseguindo executar esta apresentado alguns erros, se puder me ajudar vou agradecer muito.

Postado
3 horas atrás, Brenno Pedroso disse:

No caso da lista não parece algo formal. Não pode usar algum container da linguagem, como o óbvio list ou vector?

 

E sobre isso? Pode ou não pode usar algum container da linguagem? Tem que programar sua própria lista?

Postado
agora, arfneto disse:

 

E sobre isso? Pode ou não pode usar algum container da linguagem? Tem que programar sua própria lista?

Creio que pode ser utilizado sim, nao foi especificado nada sobre isso pelo professor

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

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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!