0% acharam este documento útil (0 voto)
5 visualizações3 páginas

Sistema de Gerenciamento de Veículos

O documento apresenta um sistema de gerenciamento de veículos com classes abstratas e herança em Python. Ele define as classes 'Veiculo', 'Carro' e 'Motocicleta', incluindo métodos para cadastro, exibição de dados e cálculo de seguro. O sistema permite ao usuário cadastrar veículos, exibir informações e calcular seguros com base no valor do veículo.

Enviado por

alvesmatossinval
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações3 páginas

Sistema de Gerenciamento de Veículos

O documento apresenta um sistema de gerenciamento de veículos com classes abstratas e herança em Python. Ele define as classes 'Veiculo', 'Carro' e 'Motocicleta', incluindo métodos para cadastro, exibição de dados e cálculo de seguro. O sistema permite ao usuário cadastrar veículos, exibir informações e calcular seguros com base no valor do veículo.

Enviado por

alvesmatossinval
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

from abc import ABC, abstractmethod

# Classe Abstrata
class Veiculo(ABC):
def __init__(self, marca, modelo, ano, valor):
self.__marca = marca
self.__modelo = modelo
self.__ano = ano
self.__valor = valor

# Métodos getters e setters com encapsulamento


def get_marca(self):
return self.__marca

def set_marca(self, marca):


self.__marca = marca

def get_modelo(self):
return self.__modelo

def set_modelo(self, modelo):


self.__modelo = modelo

def get_ano(self):
return self.__ano

def set_ano(self, ano):


self.__ano = ano

def get_valor(self):
return self.__valor

def set_valor(self, valor):


self.__valor = valor

# Método abstrato para calcular seguro


@abstractmethod
def calcular_seguro(self):
pass

def exibir_dados(self):
return f"Marca: {self.__marca}, Modelo: {self.__modelo}, Ano: {self.__ano},
Valor: R${self.__valor:.2f}"

# Classe Carro que herda de Veiculo


class Carro(Veiculo):
def __init__(self, marca, modelo, ano, valor, portas):
super().__init__(marca, modelo, ano, valor)
self.__portas = portas

def get_portas(self):
return self.__portas

def set_portas(self, portas):


self.__portas = portas

def calcular_seguro(self):
# Seguro para carro = 5% do valor
return self.get_valor() * 0.05

def exibir_dados(self):
dados = super().exibir_dados()
return f"{dados}, Portas: {self.__portas}"

# Classe Motocicleta que herda de Veiculo


class Motocicleta(Veiculo):
def __init__(self, marca, modelo, ano, valor, cilindradas):
super().__init__(marca, modelo, ano, valor)
self.__cilindradas = cilindradas

def get_cilindradas(self):
return self.__cilindradas

def set_cilindradas(self, cilindradas):


self.__cilindradas = cilindradas

def calcular_seguro(self):
# Seguro para motocicleta = 3% do valor
return self.get_valor() * 0.03

def exibir_dados(self):
dados = super().exibir_dados()
return f"{dados}, Cilindradas: {self.__cilindradas}cc"

# Função para exibir o menu principal


def menu():
print("\n=== Sistema de Gerenciamento de Veículos ===")
print("1. Cadastrar Carro")
print("2. Cadastrar Motocicleta")
print("3. Exibir Veículos")
print("4. Calcular Seguro")
print("5. Sair")
return int(input("Escolha uma opção: "))

# Lista para armazenar os veículos


veiculos = []

# Loop principal do sistema


while True:
opcao = menu()

if opcao == 1:
# Cadastro de Carro
marca = input("Marca do carro: ")
modelo = input("Modelo do carro: ")
ano = int(input("Ano do carro: "))
valor = float(input("Valor do carro: "))
portas = int(input("Número de portas: "))
carro = Carro(marca, modelo, ano, valor, portas)
[Link](carro)
print("Carro cadastrado com sucesso!")

elif opcao == 2:
# Cadastro de Motocicleta
marca = input("Marca da motocicleta: ")
modelo = input("Modelo da motocicleta: ")
ano = int(input("Ano da motocicleta: "))
valor = float(input("Valor da motocicleta: "))
cilindradas = int(input("Cilindradas: "))
moto = Motocicleta(marca, modelo, ano, valor, cilindradas)
[Link](moto)
print("Motocicleta cadastrada com sucesso!")

elif opcao == 3:
# Exibir todos os veículos cadastrados
if not veiculos:
print("Nenhum veículo cadastrado.")
else:
print("\n=== Veículos Cadastrados ===")
for i, veiculo in enumerate(veiculos, start=1):
print(f"{i}. {veiculo.exibir_dados()}")

elif opcao == 4:
# Calcular seguro
if not veiculos:
print("Nenhum veículo cadastrado.")
else:
print("\n=== Cálculo de Seguro ===")
for veiculo in veiculos:
print(f"{veiculo.exibir_dados()} - Seguro: R$
{veiculo.calcular_seguro():.2f}")

elif opcao == 5:
# Sair do sistema
print("Saindo do sistema. Até mais!")
break

else:
print("Opção inválida. Tente novamente.")

Você também pode gostar