0% encontró este documento útil (0 votos)
17 vistas3 páginas

Estructura Carros - CPP

Cargado por

Ian Chasipanta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas3 páginas

Estructura Carros - CPP

Cargado por

Ian Chasipanta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

#include <iostream>

#include <vector>
#include <string>
#include <algorithm>

using namespace std;

// Definici�n de la estructura
struct carros {
string marca;
int alo;
float precio;
};

// Declaraci�n de funciones
void crearcarro(vector<carros>& datos, const string& marca, int alo, float precio);
void imprimir_Datos(const vector<carros>& datos);
void buscar_carro(const vector<carros>& datos, const string& dato_buscar);
void eliminar_carro(vector<carros>& datos, const string& marca);

int main() {
// Crear un vector de structura carros
vector<carros> carro;
int opcion, alo;
float precio;
string marca;

// Crear algunas instancias de carros


crearcarro(carro, "ferrari", 2006, 12000);
crearcarro(carro, "lamborghini", 2015, 45000);
crearcarro(carro, "nissan", 2010, 15000);
crearcarro(carro, "chevrolet", 2014, 18000);
crearcarro(carro, "pichirilo", 2000, 1000);

while (true) {
cout << "Elija una opcion:" << endl
<< "1. Mostrar" << endl
<< "2. Buscar" << endl
<< "3. Eliminar" << endl
<< "4. Crear carro" << endl
<< "5. Salir" << endl;
cin >> opcion;
[Link](); // Para ignorar el salto de l�nea despu�s de la selecci�n

switch (opcion) {
case 1:
cout << "Carros:" << endl;
imprimir_Datos(carro);
break;

case 2:
cout << "Ingrese la marca del carro a buscar: ";
getline(cin, marca);
buscar_carro(carro, marca);
break;

case 3:
cout << "Ingrese la marca del carro a eliminar: ";
getline(cin, marca);
eliminar_carro(carro, marca);
break;

case 4:
cout << "Ingrese la marca del carro: ";
getline(cin, marca);
cout << "Ingrese el a�o del carro: ";
cin >> alo;
cout << "Ingrese el precio del carro: ";
cin >> precio;
crearcarro(carro, marca, alo, precio);
break;

case 5:
cout << "Saliendo..." << endl;
return 0;

default:
cout << "Opci�n no v�lida. Intente de nuevo." << endl;
break;
}
}

return 0;
}

void crearcarro(vector<carros>& datos, const string& marca, int alo, float precio)
{
carros carro;
[Link] = marca;
[Link] = alo;
[Link] = precio;
datos.push_back(carro);
}

void imprimir_Datos(const vector<carros>& datos) {


for (size_t i = 0; i < [Link](); ++i) {
cout << "Marca: " << datos[i].marca << ", A�o: " << datos[i].alo << ",
Precio: " << datos[i].precio << endl;
}
}

void buscar_carro(const vector<carros>& datos, const string& dato_buscar) {


bool encontrado = false;
for (size_t i = 0; i < [Link](); ++i) {
if (datos[i].marca == dato_buscar) {
cout << "Marca: " << datos[i].marca << ", A�o: " << datos[i].alo << ",
Precio: " << datos[i].precio << endl;
encontrado = true;
break;
}
}

if (!encontrado) {
cout << "No se encontr� el carro con marca " << dato_buscar << "." << endl;
}
}

void eliminar_carro(vector<carros>& datos, const string& marca) {


vector<carros>::iterator it = [Link]();
bool encontrado = false;

while (it != [Link]()) {


if (it->marca == marca) {
it = [Link](it);
encontrado = true;
cout << "Carro con marca " << marca << " eliminado." << endl;
} else {
++it;
}
}

if (!encontrado) {
cout << "No se encontr� un carro con marca " << marca << endl;
}
}

También podría gustarte