Sunteți pe pagina 1din 3

Ejercitación:

1. Armar un menú que tenga la opción S-Salir que permita finalizar el programa. debe
controlar la entrada de muchos caracteres con sys::getline y mostrar un mensaje cuando
ingresa una opción no valida.

void menu()

2. Crear la estructura tProducto con los siguientes campos:


int id;
bool eliminado;
int precio;
char nombre[30];
int stock;

3. Crear una función que inicialice la estructura producto con los siguientes valores:
Campo Valor
Id 0
Eliminado False
Precio 0
Stock 0
Nombre '\0'

void InicializarProductos(tProducto *vec,int tam)

4. Crear una función que genere ids. El id se genera recorriendo un vector de estructuras.
Para obtener el id se debe realizar los siguientes pasos ordenados:
 Si la estructura dentro del vector que se está verificando se encuentra eliminada
(eliminado=true), se debe tomar el id de esa estructura y devolverlo.
 En caso que en la verificación no se encuentre eliminada se debe verificar si el id
es mayor a los antes verificados. Para este caso usar una variable auxiliar que
siempre guarde el id mas grande.
 Cuando se encuentra el id más grande del vector se le suma 1 y se devuelve como
resultado.
Ej.: si el id más grande encontrado es 3, la función debe devolver 4.

int obtenerId(tProducto *vec,int tam)

1
5. Crear una función que encuentre el primer lugar(indice)vacio dentro de un vector de
productos.
Un lugar vacio se da cuando el id del producto es 0 o cuando eliminado es true.
Si no se encontró un lugar vacio se debe devolver -1;
int obtenerLugar(tProducto *vec,int tam)

6. Crear una función que permita al usuario cargar una estructura.


Campo Modo de carga
Id Se recibe por parámetro
Eliminado False
Precio Lo debe ingresar el usuario, debe ser un valor mayor a 0.
Nombre Lo debe ingresar el usuario, no puede estar vacio.
Stock Lo debe ingresar el usuario, debe ser mayor igual a 0.

Validar los datos ingresado por el usuario, usar el cin.ignore en el caso que sea necesario.
No hace falta validar el ingreso de caracteres alfanuméricos para stock y precio.
void cargarProducto(tProducto *producto,int id)

7. Crear una función que muestre por pantalla la estructura tProducto.


debe mostrar id, nombre, precio y stock.
void mostrarProducto(tProducto producto);

8. Crear una función que muestre todos los productos que tengan id mayor a 0 y que el
campo eliminado sea = false. Para mostrar utilizar la función mostrarProducto del punto
anterior. Si no se encontró ningún producto debe mostrar un mensaje que indique que no
hay productos cargados en el sistema.

void mostrarProductos(tProducto *vec,int tam)

9. Crear una función que devuelva un bool indicando si el producto existe o no. La función
debe buscar el id dentro del vector y verificar que no esté eliminado. En caso de no
encontrar el id o que el mismo se encuentre eliminado debe devolver false.

bool existeProducto(tProducto *vec,int tam, int id)

10. Crear una función que devuelva el índice de un producto dentro del vector buscando por
id. Utilizar la función existeProducto del punto 9 para verificar si existe. si el producto no
se encuentra debe devolver -1.

int obtenerIndiceProducto(tProducto *vec, int tam, int id)

2
11. Crear una función que reciba el vector de productos
Luego le solicite al usuario un id de producto. No olvidar de usar el cin.ignore luego del
ingreso del id.
Valide que el producto exista, con la función existeProducto punto 9. Si no existe debe
indicar al usuario que el producto no existe y terminar la función.
Debe obtener la posición del producto dentro del vector con la función
obtenerIndiceProducto punto 10.
Y cargar los nuevos datos con la función utilizando la función cargarProducto del punto 6.

void modificarProducto(tProducto *vec, int tam);

12. Crear una función que reciba el vector de productos


Luego le solicite al usuario un id de producto. No olvidar de usar el cin.ignore luego del
ingreso del id.
Valide que el producto exista, con la función existeProducto punto 9. Si no existe debe
indicar al usuario que el producto no existe y terminar la función.
Debe obtener la posición del producto dentro del vector con la función
obtenerIndiceProducto punto 10.
Y modificar el campo eliminado del producto a true.

void elimiarProducto(tProducto *vec, int tam);

S-ar putea să vă placă și