Generation

generate functionSat, 01 Feb 2025

1. Se desea desarrollar una aplicación para la gestión de los vehículos de un concesionario. Para cada vehículo se almacenará la siguiente información: ○ Marca: cadena de caracteres (longitud máxima 20 y mínima 3). ○ Modelo: cadena de caracteres (longitud máxima 30 y mínima 1). ○ Matrícula: cadena de caracteres (longitud 6). ○ Año de fabricación: entero. ○ Precio: float (>0). Define un struct llamado Vehiculo para representar esta información.

Aquí te muestro la definición del struct `Vehiculo` en C++: ```cpp #include <string> #include <stdexcept> struct Vehiculo { std::string marca; // cadena de caracteres (longitud máxima 20 y mínima 3) std::string modelo; // cadena de caracteres (longitud máxima 30 y mínima 1) std::string matricula; // cadena de caracteres (longitud 6) int añoFabricacion; // entero float precio; // float (>0) // Constructor para inicializar los atributos del vehículo Vehiculo(const std::string& marca, const std::string& modelo, const std::string& matricula, int añoFabricacion, float precio) : marca(marca), modelo(modelo), matricula(matricula), añoFabricacion(añoFabricacion), precio(precio) { // Verificar que la longitud de la marca sea válida if (marca.length() < 3 || marca.length() > 20) { throw std::invalid_argument("La longitud de la marca debe ser entre 3 y 20 caracteres."); } // Verificar que la longitud del modelo sea válida if (modelo.length() < 1 || modelo.length() > 30) { throw std::invalid_argument("La longitud del modelo debe ser entre 1 y 30 caracteres."); } // Verificar que la longitud de la matrícula sea válida if (matricula.length() != 6) { throw std::invalid_argument("La longitud de la matrícula debe ser 6 caracteres."); } // Verificar que el precio sea positivo if (precio <= 0) { throw std::invalid_argument("El precio debe ser mayor que 0."); } } }; ``` En este código, se define un struct `Vehiculo` con los atributos solicitados. Se incluye un constructor para inicializar los atributos del vehículo y realizar las validaciones correspondientes. Es importante destacar que se utiliza la clase `std::string` para representar las cadenas de caracteres, y se utiliza la clase `std::invalid_argument` para lanzar una excepción cuando se detecta un error en la validación de los atributos. También se puede agregar métodos para obtener y modificar los atributos del vehículo, si es necesario.

Questions about programming?Chat with your personal AI assistant