Ir para conteúdo

POWERED BY:

Arquivado

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

Glaucco

[Código] Automovel

Recommended Posts

#include<iostream>

using namespace std;

 

class Automovel {

public:

string tipo; // tipo do veículo: passeio, carga, utilitario, onibus etc...

int porta; // quantidade de portas

string cor; // cor do veículo

float capacidade; // capacidade máxima do tanque de combustível

float tanque; // quantidade de combustível no tanque

float consumo; // consumo médio do veículo em km/l

 

Automovel() {

cout << "Construindo o objeto...\n";

}

Automovel(string ti, int p, string c, float t, float cons) {

tipo = ti;

porta = p;

cor = c;

tanque = capacidade = t;

consumo = cons;

}

void print() {

cout << "----------------\n"

<< "Dados do veiculo\n"

<< "----------------"

<< "\nTipo: " << tipo

<< "\nPortas: " << porta

<< "\nCor: " << cor

<< "\nTanque: " << tanque << " litros"

<< "\nConsumo: " << consumo << " km/l\n"

<< "----------------\n";

}

float autonomia() {

return tanque*consumo;

}

bool ande(float distancia) {

if (distancia/consumo > tanque) {

return false;

}

tanque-=distancia/consumo;

return true;

}

bool abastece(float litros) {

if ((tanque+litros) > capacidade) {

return false;

}

tanque+=litros;

return true;

}

};

 

int main() {

Automovel gol("passeio",4,"preta",45,18);

bool abasteceu;

bool andou;

float km, l;

int menu;

 

gol.print();

system("pause");

system("cls");

do {

cout << "---- MENU ----\n"

<< "0: Sair\n"

<< "1: Abastecer\n"

<< "2: Andar\n"

<< "--------------\n";

cout << "-> Autonomia atual: " << gol.autonomia() << "km\n";

cout << "Sua opcao: ";

cin >> menu;

switch (menu) {

case 0:

break;

case 1:

do {

cout << "Quantos litros deseja abastecer? ";

cin >> l;

abasteceu = gol.abastece(l); // chamada do método uma única vez!

if (abasteceu) {

cout << "\n***INFO: Voce abasteceu " << l << " litros.\n"

<< " Voce possui agora " << gol.tanque << " litros de combustivel no tanque.\n\n";

} else {

cout << "\n***AVISO: Seu tanque aceita somente " << gol.capacidade-gol.tanque << " litros.\n"

<< " Abastecimento nao realizado!\n\n";

}

} while (!abasteceu);

break;

case 2:

do {

cout << "Quantos km deseja rodar? ";

cin >> km;

if (andou = gol.ande(km)) {

cout << "\n***INFO: Voce percorreu " << km << "km.\n"

<< " Voce possui agora " << gol.tanque << " litros de combustivel no tanque.\n\n";

} else {

cout << "\n***AVISO: Voce nao tem autonomia para essa distancia!\n"

<< " Sua autonomia atual com " << gol.tanque << " litros eh de " << gol.autonomia() << " km.\n\n";

}

} while (!andou);

break;

}

system("pause");

system("cls");

} while (menu != 0);

system("pause");

}

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.