Está en la página 1de 12

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS


ESCUELA DE INFORMATICA

LABORATORIO 3

ESTRUCTURA DE DATOS

DOCENTE:

• ING. CRUZ FLORIÁN, IRIS AUREA

ALUMNO:

• ASUNCION VELASQUEZ, LUIS ENRIQUE

CICLO: II

TRUJILLO - PERU

2022
I. Usando arreglos de estructuras o registros, Desarrolle un programa para registrar
datos de 5 alumnos (código, nombre, nota1, nota2). El programa debe mostrar:
a. La relación de alumnos con sus respectivos datos
b. La relación de alumnos con sus respectivos promedios.
c. Pedir un código de alumno y si se encuentra, visualizar código,
nombre y promedio. Caso contrario indicar "Alumno no existe"
d. Pedir el código de un alumno y si este se encuentra, eliminarlo del arreglo.
Visualizar el reporte actualizado.

#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
struct alumnos
{
float nota[2],prom;
string nombre,codigo;
};
struct alumnos nalumnos[5];

int main()
{
setlocale(LC_CTYPE,"Spanish");
int n=5,i,m;
int op=0;
bool verifica;
string eliminar, buscar;
do
{
cout<<"\n\n\t\t\tPROGRAMA NOTAS\n";
cout<<"\t\t=======================================\n";
cout<<" \t\t1. Agregue los alumnos"<<endl;
cout<<" \t\t2. Mostrar los alumnos"<<endl;
cout<<" \t\t3. Buscar un alumno"<<endl;
cout<<" \t\t4. Eliminar un alumno"<<endl;
cout<<" \t\t5. Salir"<<endl;
cout<<"\t\t=======================================\n";
cout<<"\t\tIngrese opción : ";
cin>>op;
switch (op)
{
case 1:
{
system("cls");
for (i=0; i<n; i++)
{
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t\tAÑADIENDO NUEVO USUARIO\n";
cout<<"\t\t===============================================\n\n";
cout<<"\t\tIngrese el nombre del alumno: ";cin>>nalumnos[i].nombre;
cout<<"\n\t\tIngrese el código del alumno: ";cin>>nalumnos[i].codigo;
cout<<"\n\t\tIngrese la nota 1: ";cin>>nalumnos[i].nota[0];
cout<<"\n\t\tIngrese la nota 2: ";cin>>nalumnos[i].nota[1];
nalumnos[i].prom=(nalumnos[i].nota[0]+nalumnos[i].nota[1])/2;
cout<<"\n\t\t===============================================\n\n";
system("cls");
}
break;}
case 2:
{
system("cls");
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t\tRELACIÓN DE ALUMNOS\n";
cout<<"\t\t===============================================\n\n";
for(i=0; i<n; i++)
{
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t1. Nombre: "<<nalumnos[i].nombre;
cout<<"\n\t\t2. Codigo: "<<nalumnos[i].codigo;
cout<<"\n\t\t3. Promedio: "<<nalumnos[i].prom;
cout<<"\n\t\t===============================================\n\n";
}
break; }
case 3:
{
system("cls");
verifica=0;
cout<<"\n\n\t\t=====================================\n";
cout<<"\t\t\tBUSCAR UN ALUMNO\n";
cout<<"\t\t=====================================\n";
cout<<"\n\t\tIngrese código de alumno: ";cin>>buscar;
for(i=0;i<n;i++)
{
if (nalumnos[i].codigo == buscar)
{
verifica=1;
m=i;
}}
if (verifica==1)
{
i=m;
cout<<"\n\n\t\t=====================================\n";
cout<<"\t\t\tALUMNO ENCONTRADO!\n";
cout<<"\t\t=====================================\n";
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t1. Nombre: "<<nalumnos[i].nombre;
cout<<"\n\t\t2. Codigo: "<<nalumnos[i].codigo;
cout<<"\n\t\t3. Promedio: "<<nalumnos[i].prom;
cout<<"\n\t\t===============================================\n\n";
}
else
{
cout<<"\n\n\t\t=====================================\n";
cout<<"\t\t\tALUMNO NO EXISTE!\n";
cout<<"\t\t=====================================\n";
}
break;
}
case 4:
{
system("cls");
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t\tELIMINAR UN ALUMNO\n";
cout<<"\t\t===============================================\n";
cout<<"\n\t\tIngrese código de alumno: ";cin>>eliminar;
for(i=0;i<n;i++)
{
if(nalumnos[i].codigo==eliminar)
{
verifica=1;
n=n-1;
cout<<"\n\n\t\tAlumno Eliminado...";
}
if(verifica==1)
{
for(i=0; i<n; i++)
{
nalumnos[i]=nalumnos[i+1];
}

cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t\tLISTA ACTUALIZADA\n";
cout<<"\t\t===============================================\n\n";
for(i=0; i<n; i++)
{
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t1. Nombre: "<<nalumnos[i].nombre;
cout<<"\n\t\t2. Codigo: "<<nalumnos[i].codigo;
cout<<"\n\t\t3. Promedio: "<<nalumnos[i].prom;
cout<<"\n\t\t===============================================\n\n";
}
}
break;
}
case 5:
{
system("cls");
cout<<"SALIENDO DEL PROGRAMA...\n";
break;
}
}
cout<<endl<<endl;
system("pause");
system("cls");
}
while(op!=5);
getch();
}
II. Debo registrar vendedores (dni, nombres, apellidos, dirección (calle, numero,
urbanización) ); además registrar sus respectivos productos vendidos (dni, producto,
cantidad, precioventa). Implementa el sistema usando registros y funciones. El sistema
debe permitir:

a. Registrar “N” vendedores; Registrar “P” productos vendidos

b. Mostrar todos los vendedores con sus datos personales

c. Mostrar los datos personales de un vendedor específico (ingresando su número de


orden) d) Mostrar los productos vendidos de un vendedor específico (ingresando su
dni): producto, cantidad, precioventa, Subtotal. y finalmente el Total
Subtotal=cantidad * precioventa Total = sumatoria de los subtotales

d. Eliminar un vendedor específico (ingresando su número de orden) y a la vez eliminar


sus productos vendidos, Cuando se elimina una fila o registro, el resto de filas que le
suceden bajan una posición de la “i” a la “i-1”

#include<iostream>
#include<conio.h>
#include<string.h>
#define MAX_V 100 // numero de vendedores
#define MAX_PV 100
using namespace std;

struct direccion
{
string calle,urbanizacion;
int numero;
};

struct unproducto
{
string producto;
int cantidad;
float precioventa;
float subtotal;
};

struct productos
{
int numprod;
unproducto vp[MAX_PV];
float preciototal;
};
struct vendedor
{
string dni,nombres,apellidos;
direccion dir_vendedor;
productos prod_vendedor;
};
struct vendedor lista[MAX_V];

int main()
{
setlocale(LC_CTYPE,"Spanish");
int n=0,i,m=0,p,j,x;
int op=0;
string buscar;
bool verifica;
do
{
cout<<"\n\n\t\t\tPROGRAMA VENDEDORES\n";
cout<<"\t\t=======================================\n";
cout<<" \t\t1. Agregar vendedores\n";
cout<<" \t\t2. Mostrar a todos los vendedores\n";
cout<<" \t\t3. Buscar a un vendedor\n";
cout<<" \t\t4. Buscar productos vendidos de un vendedor\n";
cout<<" \t\t5. Eliminar a un vendedor\n";
cout<<" \t\t6. Salir\n";
cout<<"\t\t=======================================\n";
cout<<"\t\tIngrese opción : "; cin>>op;
switch (op)
{
case 1:
{
system("cls");
cout<<"\n\n\t\t=========================================\n";
cout<<"\t\t ¿CUANTOS VENDEDORES DESEA INGRESAR?\n";
cout<<"\t\t===========================================\n\n";
cout<<"\t\tDeseo Ingresar a: "; cin>>n;
system("cls");
for (i=0; i<n; i++)
{
system("cls");
cout<<"\n\n\t\t==================================\n";
cout<<"\t\t\tAÑADIENDO A VENDEDOR "<<i+1<<"\n";
cout<<"\t\t========================================\n\n";
cout<<"\t\tDATOS PERSONALES: \n";
cout<<"\n\t\t Ingrese los nombres del vendedor: ";cin>>lista[i].nombres;
cout<<"\n\t\t Ingrese los apellidos del vendedor: ";cin>>lista[i].apellidos;
cout<<"\n\t\t Ingrese DNI del vendedor: ";cin>>lista[i].dni;
cout<<"\n\t\tDIRECCIÓN: \n";
cout<<"\n\t\t Ingrese calle: ";cin>>ista[i].dir_vendedor.calle;
cout<<"\n\t\t Ingrese número: ";cin>>lista[i].dir_vendedor.numero;
cout<<"\n\t\t Ingrese urbanización: ";cin>>lista[i].dir_vendedor.urbanizacion;
cout<<"\n\t\t===============================================\n\n";
system("cls");
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t ¿CUANTOS PRODUCTOS DESEA INGRESAR?\n";
cout<<"\t\t===============================================\n\n";
cout<<"\t\tDeseo Ingresar : ";cin>>lista[i].prod_vendedor.numprod;
system("cls");
for(j=0; j<lista[i].prod_vendedor.numprod; j++)
{
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t\tAÑADIENDO PRODUCTO "<<j+1<<"\n";
cout<<"\t\t===============================================\n\n";
cout<<"\n\t\tIngrese el nombre del producto: ";cin>>lista[i].prod_vendedor.vp[j].producto;
cout<<"\n\t\tIngrese la cantidad: ";cin>>lista[i].prod_vendedor.vp[j].cantidad;
cout<<"\n\t\tIngrese el precio del producto: ";cin>>lista[i].prod_vendedor.vp[j].precioventa;
lista[i].prod_vendedor.vp[j].subtotal = lista[i].prod_vendedor.vp[j].cantidad *
lista[i].prod_vendedor.vp[j].precioventa;

if(lista[i].prod_vendedor.vp[j].subtotal==0)
cout<<"Subtotal 0";

lista[i].prod_vendedor.preciototal=lista[i].prod_vendedor.preciototal + lista[i].prod_vendedor.vp[j].subtotal;
system("cls");
}
}
break;
}
case 2:
{
system("cls");
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t\tRELACIÓN DE VENDEDORES\n";
cout<<"\t\t===============================================\n";
for(i=0; i<n; i++)
{
cout<<"\n\t\t===============================================\n";
cout<<"\n\t\tDATOS PERSONALES: ";
cout<<"\n\t\t 1. Nombres: "<<lista[i].nombres;
cout<<"\n\t\t 2. Apellidos: "<<lista[i].apellidos;
cout<<"\n\t\t 3. DNI: "<<lista[i].dni;
cout<<"\n\n\t\tDIRECCIÓN: ";
cout<<"\n\t\t 4. Calle: "<<lista[i].dir_vendedor.calle;
cout<<"\n\t\t 5. Número: "<<lista[i].dir_vendedor.numero;
cout<<"\n\t\t 6. Urbanización: "<<lista[i].dir_vendedor.urbanizacion;
cout<<"\n\t\t===============================================\n";
}
break;
}
case 3:
{
system("cls");
cout<<"\n\n\t\t=====================================\n";
cout<<"\t\t\tBUSCAR UN VENDEDOR\n";
cout<<"\t\t=====================================\n";
cout<<"\n\t\tIngrese número de vendedor: ";cin>>x;
system("cls");
if(n>0)
{
x=x-1;
cout<<"\n\n\t\t=====================================\n";
cout<<"\t\t\tVENDEDOR ENCONTRADO!\n";
cout<<"\t\t=====================================";
cout<<"\n\t\tDATOS PERSONALES: ";
cout<<"\n\t\t 1. Nombres: "<<lista[x].nombres;
cout<<"\n\t\t 2. Apellidos: "<<lista[x].apellidos;
cout<<"\n\t\t 3. DNI: "<<lista[x].dni;
cout<<"\n\n\t\tDIRECCIÓN: ";
cout<<"\n\t\t 4. Calle: "<<lista[x].dir_vendedor.calle;
cout<<"\n\t\t 5. Número: "<<lista[x].dir_vendedor.numero;
cout<<"\n\t\t 6. Urbanización: "<<lista[x].dir_vendedor.urbanizacion;
cout<<"\n\t\t=====================================\n\n";
}
else
{
cout<<"\n\n\t\t=====================================\n";
cout<<"\t\t\tVENDEDOR NO EXISTE!\n";
cout<<"\t\t=====================================\n";
}
break;
}
case 4:
{
system("cls");
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t\tBUSCAR PRODUCTO\n";
cout<<"\t\t===============================================\n";
cout<<"\n\t\tIngrese DNI del vendedor: ";cin>>buscar;
for(i=0;i<n;i++)
{
if (lista[i].dni == buscar)
{
verifica=1;
m=i;
cout<<"\n\n\t\t==========================================\n";
cout<<"\t\t\tPRODUCTO ENCONTRADO!\n";
cout<<"\t\t===========================================\n";
cout<<"\t\tPRODUCTOS VENDIDOS POR: "<<lista[m].nombres<<" "<<lista[m].apellidos<<endl;
for(int j=0; j<lista[m].prod_vendedor.numprod;j++)
{
cout<<"\t\tPRODUCTO "<<j+1;
cout<<"\n\t\t1. Nombre: "<<lista[m].prod_vendedor.vp[j].producto;
cout<<"\n\t\t2. Cantidad: "<<lista[m].prod_vendedor.vp[j].cantidad;
cout<<"\n\t\t3. Precio Venta: "<<lista[m].prod_vendedor.vp[j].precioventa;
cout<<"\n\t\t4. SubTotal: "<<lista[m].prod_vendedor.vp[j].subtotal;
cout<<"\n\t\t===============================================\n";
}
cout<<"\n\t\tPRECIO TOTAL: "<<lista[m].prod_vendedor.preciototal;
}
}
break;
}
case 5:
{
system("cls");
cout<<"\n\n\t\t===============================================\n";
cout<<"\t\t\tELIMINAR A UN VENDEDOR\n";
cout<<"\t\t===============================================\n";
cout<<"\n\t\tIngrese número de vendedor: ";cin>>x;
for(i=x;i<n-1;i++)
{
lista[i]=lista[i+1];
}
n--;
break;
}
case 6:
{
system("cls");
cout<<"SALIENDO DEL PROGRAMA...\n";
break;
}
}
cout<<endl<<endl;
system("pause");
system("cls");
}
while(op!=6);
getch();
}

También podría gustarte