Sistema de Gestión de Inventario en C++

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,97 KB

#include<iostream>
#include<fstream>
#include<string>

using namespace std;

string token(string, string, int); void agregar(); void agregaringre(); void listar(); void listar2();

int main() { int menu;

cout &lt;&lt; "\tmenu\n1.Salir\n2.Agregar un nuevo producto al inventario\n3.Listar";
cin &gt;&gt; menu;

switch (menu) {
    case 1:
        system("pause");
        return 0;
        break;
    case 2:
        system("cls");
        agregar();
        system("pause");
        break;
    case 3:
        system("cls");
        int submenu;
        cout &lt;&lt; "Listar\n1.Listar todos los productos (nombre y la existencia)\n2.Listar todos los productos (nombre del pdt, nombre de ingre)\n3.Listar un producto por el usuario\n4.Regresar al menu";
        cin &gt;&gt; submenu;
        switch (submenu) {
            case 1:
                system("cls");
                listar();
                system("pause");
                break;
            case 2:
                system("cls");
                listar2();
                system("pause");
                break;
            case 3:
                break;
        }
        break;
}
system("pause");
return 0; 

}

void agregar() { ofstream inventario; inventario.open("Producto.txt", ios::app); int codigo, precio, peso, existe; string nombre, ingre_1, ingre_2; int calorias; string sabor;

cout &lt;&lt; "Introduzca el codigo del producto: ";
cin &gt;&gt; codigo;
cout &lt;&lt; "Introduzca el nombre del producto: ";
cin &gt;&gt; nombre;
cout &lt;&lt; "Introduzca el peso del producto: ";
cin &gt;&gt; peso;
cout &lt;&lt; "Introduzca el precio del producto: ";
cin &gt;&gt; precio;
cout &lt;&lt; "Introduzca el primer ingrediente: ";
cin &gt;&gt; ingre_1;
cout &lt;&lt; "Introduzca el segundo ingrediente: ";
cin &gt;&gt; ingre_2;
cout &lt;&lt; "Introduzca el sabor: ";
cin &gt;&gt; sabor;
cout &lt;&lt; "Introduzca las calorias: ";
cin &gt;&gt; calorias;
cout &lt;&lt; "Introduzca el inventario: ";
cin &gt;&gt; existe;

inventario &lt;&lt; codigo &lt;&lt; ";" &lt;&lt; nombre &lt;&lt; ";" &lt;&lt; peso &lt;&lt; ";" &lt;&lt; precio &lt;&lt; ";" &lt;&lt; ingre_1 &lt;&lt; "," &lt;&lt; ingre_2 &lt;&lt; ";" &lt;&lt; existe &lt;&lt; "!" &lt;&lt; sabor &lt;&lt; "," &lt;&lt; calorias &lt;&lt; endl;
inventario.close();
system("pause");

}

void agregaringre() { ofstream ingre; ingre.open("Producto.txt", ios::app); int calorias; string sabor;

cout &lt;&lt; "Introduzca el sabor: ";
cin &gt;&gt; sabor;
cout &lt;&lt; "Introduzca las calorias: ";
cin &gt;&gt; calorias;

ingre &lt;&lt; sabor &lt;&lt; "," &lt;&lt; calorias &lt;&lt; endl;
ingre.close();
system("pause");

}

void listar() { fstream leer; string l; leer.open("Producto.txt"); while (!leer.eof()) { getline(leer, l); cout << token(l, ";", 2) + " " + token(l, ";", 7) << endl; } leer.close(); system("pause"); }

void listar2() { fstream leer; string l; leer.open("Producto.txt"); while (!leer.eof()) { getline(leer, l); cout << token(l, ";", 2) + " " + token(l, ";", 5) + " " + token(l, ",", 6) << endl; } leer.close(); system("pause"); }

string token(string cadena, string divisor, int pos) { if (cadena.size() != 0) { char oracion[cadena.size()]; for (int i = 0; i <= cadena.size(); i++) { oracion[i] = cadena[i]; } char ptrtoken; int num = 1; const char d = divisor.c_str(); ptrtoken = strtok(oracion, d); while (ptrtoken) { if (num == pos) { return ptrtoken; } ptrtoken = strtok(NULL, d); num++; } return ""; } else { return ""; } }

Descripción del Código

Este código en C++ implementa un sistema básico de gestión de inventario. Permite al usuario agregar nuevos productos al inventario y listarlos de diferentes maneras.

Funcionalidades

El programa ofrece las siguientes funcionalidades a través de un menú:

  • **Agregar un nuevo producto al inventario:** Permite al usuario ingresar los detalles de un nuevo producto, como código, nombre, peso, precio, ingredientes, sabor, calorías y existencia. Estos datos se almacenan en un archivo de texto llamado "Producto.txt".
  • **Listar todos los productos (nombre y existencia):** Muestra el nombre y la existencia de todos los productos almacenados en el archivo "Producto.txt".
  • **Listar todos los productos (nombre, ingredientes):** Muestra el nombre del producto, los ingredientes y el sabor de todos los productos almacenados en el archivo "Producto.txt".

Conceptos Clave

  • **Archivos de Texto:** El programa utiliza un archivo de texto ("Producto.txt") para almacenar la información del inventario.
  • **Manipulación de Strings:** La función token se utiliza para dividir una cadena en partes (tokens) utilizando un delimitador específico. Esto es útil para extraer información específica de las líneas del archivo de texto.
  • **Flujos de Entrada/Salida:** Se utilizan flujos de entrada (cin) para obtener información del usuario y flujos de salida (cout) para mostrar información en la consola. Los flujos de archivo (ofstream, fstream) se utilizan para interactuar con el archivo de texto.

Entradas relacionadas: