0% encontró este documento útil (0 votos)
27 vistas10 páginas

Gestión de Productos y Estudiantes en C++

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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas10 páginas

Gestión de Productos y Estudiantes en C++

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 DOCX, PDF, TXT o lee en línea desde Scribd

Ejercicio 1

#include <iostream>

#include <string>

using namespace std;

struct Producto {

string tipo;

string marca;

float precio;

};

void ordenarProductos(Producto productos[], int numProductos) {

for (int i = 0; i < numProductos - 1; ++i) {

for (int j = 0; j < numProductos - i - 1; ++j) {

if (productos[j].precio > productos[j + 1].precio) {

Producto temp = productos[j];

productos[j] = productos[j + 1];

productos[j + 1] = temp;

void mostrarProductosPorTipo(Producto productos[], int numProductos, string tipo) {

cout << "Productos de tipo " << tipo << ":" << endl;

for (int i = 0; i < numProductos; ++i) {

if (productos[i].tipo == tipo) {
cout << "Tipo: " << productos[i].tipo << ", Marca: " << productos[i].marca << ", Precio: " <<
productos[i].precio << endl;

int main() {

int opcion;

const int numProductos = 30;

Producto productos[numProductos] = {

// Laptops

{"Laptop", "HP", 3500.0},

{"Laptop", "DELL", 6500.0},

{"Laptop", "Lenovo", 4500.0},

{"Laptop", "Asus", 4000.0},

{"Laptop", "HP", 5000.0},

{"Laptop", "APPLE", 25000.0},

{"Laptop", "ACER ", 75000.0},

{"Laptop", "SAMSUNG", 6600.0},

{"Laptop", "DELL", 2200.0},

{"Laptop", "APPLE", 24000.0},

// Impresoras

{"Impresora", "EPSON", 1000.0},

{"Impresora", "HP", 450.0},

{"Impresora", "CANON", 1500.0}, {

"Impresora", "EPSON", 350.0},

{"Impresora", "BROTHER", 600.0},

{"Impresora", "CANON", 2900.0},

{"Impresora", "DELL", 1200.0},


{"Impresora", "DELL", 190.0},

{"Impresora", "SANSUNG", 2000.0},

{"Impresora", "DELL", 2300.0},

// Tel�fonos

{"Telefono", "HONOR 70", 3500.0},

{"Telefono", "APPLE", 8500.0},

{"Telefono", "XIAMI", 1100.0},

{"Telefono", "LG", 3200.0}, {

"Telefono", "MOTOROLA", 900.0},

{"Telefono", "SANSUNG", 4500.0},

{"Telefono", "OPPO", 1500.0},

{"Telefono", "HUAEWI", 1900.0},

{"Telefono", "HONOR", 5200.0},

{"Telefono", "BLACKBERRY", 700.0}

};

ordenarProductos(productos, numProductos);

do {

cout << "\nMenu:\n1. Mostrar Laptops\n2. Mostrar Impresoras\n3. Mostrar Telefonos\n4.


Salir\nSeleccione una opcion: ";

cin >> opcion;

switch (opcion) {

case 1:

mostrarProductosPorTipo(productos, numProductos, "Laptop");

break;

case 2:

mostrarProductosPorTipo(productos, numProductos, "Impresora");


break;

case 3:

mostrarProductosPorTipo(productos, numProductos, "Telefono");

break;

case 4:

cout << "Saliendo del programa." << endl;

break;

default:

cout << "Opcion invalida. Por favor, seleccione una opcion valida." << endl;

} while (opcion != 4);

return 0;

}
Ejercicio 2

#include <iostream>

#include <string>

#include <vector>

#include <algorithm>

using namespace std;

struct Estudiante {

string nombre;

int grado;

float nota1Parcial;

float nota2Parcial;

float notaFinal;

};

bool compararNotas(const Estudiante &a, const Estudiante &b) {

return a.notaFinal > b.notaFinal;

void mostrarEstudiantesPorGrado(const Estudiante alumnos[], int numAlumnos, int


gradoSeleccionado) {

cout << "\nListado de alumnos del grado " << gradoSeleccionado << ":\n";

bool encontrado = false;

for (int i = 0; i < numAlumnos; ++i) {

if (alumnos[i].grado == gradoSeleccionado) {

encontrado = true;

cout << "Nombre: " << alumnos[i].nombre << ", Nota Final: " << alumnos[i].notaFinal <<
endl;

}
if (!encontrado) {

cout << "No hay alumnos registrados en el grado " << gradoSeleccionado << endl;

void buscarEstudiantePorGradoYNota(const Estudiante alumnos[], int numAlumnos) {

int gradoBuscado;

cout << "Ingrese el grado del estudiante que desea buscar: ";

cin >> gradoBuscado;

float notaBuscada;

cout << "Ingrese la nota del estudiante que desea buscar: ";

cin >> notaBuscada;

bool encontrado = false;

cout << "\nEstudiantes encontrados para el grado " << gradoBuscado << " y nota " <<
notaBuscada << ":\n";

for (int i = 0; i < numAlumnos; ++i) {

if (alumnos[i].grado == gradoBuscado && alumnos[i].notaFinal == notaBuscada) {

encontrado = true;

cout << "Nombre: " << alumnos[i].nombre << ", Nota Final: " << alumnos[i].notaFinal <<
endl;

if (!encontrado) {

cout << "No se encontraron estudiantes para el grado " << gradoBuscado << " y nota " <<
notaBuscada << endl;

}
int main() {

const int numAlumnos = 30;

Estudiante alumnos[numAlumnos] = {

{"Juan", 1, 15, 20, 30},

{"Marta", 3, 18, 25, 32},

{"Andres", 3, 20, 22, 28},

{"Luis", 21, 17, 23, 31},

{"Isabella", 3, 16, 21, 29},

{"Carlos", 1, 19, 24, 30},

{"Lesly", 2, 18, 23, 29},

{"Angel", 11, 20, 25, 35},

{"Marcela", 10, 17, 22, 28},

{"Antoni", 11, 18, 23, 30},

{"Frida", 10, 19, 24, 31},

{"Emily", 11, 16, 21, 27},

{"Sandra", 10, 18, 23, 30},

{"Jose", 1, 19, 24, 32},

{"Paola", 10, 20, 25, 33},

{"Daniela", 2, 15, 20, 28},

{"Carlos", 1, 18, 23, 31},

{"katerine", 12, 19, 24, 32},

{"Pablo", 3, 16, 21, 29},

{"Nancy", 3, 17, 22, 30},

{"Luciana", 1, 19, 24, 32},

{"Adrian", 2, 18, 23, 31},

{"Martina", 2, 20, 25, 33},

{"Jose", 1, 17, 22, 29},

{"Carolina", 3, 16, 21, 28},


{"David", 1, 18, 23, 31},

{"Valeria", 1, 19, 24, 32},

{"Fernando", 2, 20, 25, 33},

{"Juliana", 3, 15, 20, 27}

};

int opcion;

cout << "Seleccione una opcion:" << endl;

cout << "1. Ver estudiantes por grado" << endl;

cout << "2. Buscar estudiante por grado y nota" << endl;

cout << "Opcion: ";

cin >> opcion;

if (opcion == 1) {

int gradoSeleccionado;

cout << "Ingrese el grado que desea ver: ";

cin >> gradoSeleccionado;

mostrarEstudiantesPorGrado(alumnos, numAlumnos, gradoSeleccionado);

} else if (opcion == 2) {

buscarEstudiantePorGradoYNota(alumnos, numAlumnos);

} else {

cout << "Opcion no valida." << endl;

return 0;

También podría gustarte