Dev - C++ - Inventario de un almacén, ayuda.

 
Vista:

Inventario de un almacén, ayuda.

Publicado por Javier Salgado (1 intervención) el 11/12/2020 21:50:08
Realice un programa que permita administrar el inventario de productos en una mueblería. Implemente las siguientes funcionalidades utilizando arreglos de estructuras.

1) Crear una estructura Producto que permita almacenar los siguientes datos: nombre del producto, precio y existencia (cantidad).

2) Declarar la variable listaProductos del tipo arreglo de estructuras Producto que permita almacenar hasta 10 productos.

3) Debe declarar la variable contProductos para contar los productos que existen actualmente en el arreglo.

4) Crear la función altaProducto que reciba como parámetros el arreglo de estructuras (listaProductos) y contProuctos. En esta función se debe hacer lo siguiente:

Si existe espacio en el arreglo, solicitar los datos del producto y guardarlos en la siguiente posicion vacia en el arreglo.

Si ya no existe espacio en el arreglo, enviar mensaje de espacio insuficiente.

* La función debe regresar la nueva cantidad de productos en el arreglo, para que en el main() se pueda actualizar rl valor de la variable contProductos.

5) Crear la función ventaProducto que reciba como parámetros el arreglo de estructuras (listaProductos). En la función se debe solicitar el número de producto que se desea comprar y la cantidad a comprar.

Si la existencia del producto es mayor o igual a la cantidad a comprar, reducir la cantidad existente del producto.

Si la existencia del producto es menor a la cantidad a comprar, indicar el mensaje de existencia insuficiente.

6) Crear la función imprimeInventario que reciba como parámetros el arreglo de estructuras (listaProductos) y contProuctos. La función debe imprimir la lista de productos en el arreglo en formato de columnas.

7) Deberá realizar un menú con las tres opciones disponibles (alta de producto, venta de producto y impresión de inventario), más la opción Salir. El programa debe permitir solicitar la opción deseada mediante un ciclo indefinido. Deberá salir del ciclo cuando se seleccione Salir.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Inventario de un almacén, ayuda.

Publicado por Alfil (1444 intervenciones) el 12/12/2020 21:19:35
En la función ventaProducto la variable numero representa el índice del vector, es decir, los productos se buscan de acuerdo con el índice del vector, empezando por 0.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <iostream>
#include <iomanip>
 
using namespace std;
 
struct Producto
{
    char nombre[20];
    float precio;
    int cantidad;
};
 
void menu();
int altaProducto(Producto p[], int cont);
void ventaProducto(Producto p[], int cont);
void imprimeInventario(const Producto p[], const int cont);
 
int main()
{
    Producto listaProductos[10];
    int contProducto = 0;
    char opcion;
 
    do {
        menu();
        cin >> opcion;
 
        switch (opcion)
        {
            case '1':
                contProducto = altaProducto(listaProductos, contProducto);
                break;
 
            case '2':
                ventaProducto(listaProductos, contProducto);
                break;
 
            case '3':
                imprimeInventario(listaProductos, contProducto);
                break;
 
            case '4':
                cout << "\n\nFIN DEL PROGRAMA" << endl;
                break;
 
            default:
                cout << "\n\nOPCION NO VALIDA" << endl;
                break;
        }
 
    } while (opcion != '4');
 
    return 0;
}
 
void menu()
{
    cout << "\n         MUEBLES"
         << "\n==========================="
         << "\n1.- Alta Producto "
         << "\n2.- Venta Producto"
         << "\n3.- Impresion de Inventario"
         << "\n4.- Salir"
         << "\n==========================="
         << "\nOPCION (1-4): ";
}
 
int altaProducto(Producto p[], int cont)
{
    if (cont < 10)
    {
        cin.ignore(80, '\n');
        cout << "\nNombre: "; cin.getline(p[cont].nombre, 50);
        cout << "Precio: "; cin >> p[cont].precio;
        cout << "Cantidad: "; cin >> p[cont].cantidad;
 
        cont++;
    }
    else
        cout << "\n\nESPACIO INSUFICIENTE" << endl;
 
    return cont;
}
 
void ventaProducto(Producto p[], int cont)
{
    int numero, cantidad;
 
    cout << "\nNumero o Codigo del Producto: ";
    cin >> numero;
 
    if (numero >= cont)
        cout << "\n\nEL PRIDUCTO NO EXISTE" << endl;
    else
    {
        cout << "Cantidad: "; cin >> cantidad;
 
        if (cantidad > p[numero].cantidad)
            cout << "\n\nEXISTENCIA INSUFICIENTE" << endl;
        else
        {
            p[numero].cantidad -= cantidad;
 
            cout << endl << p[numero].nombre << " " << cantidad << " vendido" << endl;
            cout << "Existencias: " << p[numero].cantidad << endl;
        }
 
    }
}
 
void imprimeInventario(const Producto p[], int cont)
{
    cout << "\n             INVENTARIO"
         << "\n========================================="
         << "\n" << setw(20) << "NOMBRE" << setw(10) << "PRECIO" << setw(10) << "CANTIDAD"
         << "\n=========================================" << endl;
 
 
    for (int i = 0; i < cont; i++)
    {
        cout << resetiosflags(ios::right);
        cout << setiosflags(ios::left) << setw(20) << p[i].nombre;
        cout << setiosflags(ios::right) << setw(8) << p[i].precio << setw(8) << p[i].cantidad << endl;
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar