C/Visual C - estudiante de sitemas

 
Vista:

estudiante de sitemas

Publicado por luis (1 intervención) el 04/09/2001 07:34:39
hola que tal.....necesito alguna ayudita para una tarea que encuentro muy dificil....
tengo que llevarle mañana al profesor un analisis de como yo haria para controlar el inventario de una tienda (pequeña)....solo para incluir,eliminar o modificar articulos....
espero me puedan ayudar...
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Análisis para controlar el inventario de una tienda pequeña

Publicado por Alejandro (913 intervenciones) el 11/10/2024 23:30:30
Hola Luis,

Entiendo que controlar el inventario de una tienda pequeña puede ser un desafío, pero aquí te presento un análisis que te ayudará a estructurar tu tarea. Vamos a enfocarnos en cómo incluir, eliminar y modificar artículos en el inventario.

1. Estructura de datos



Primero, necesitas definir cómo almacenarás la información de los artículos. Una opción sencilla es usar una estructura de datos como una lista enlazada o un arreglo. Aquí te muestro un ejemplo usando una estructura en C:

1
2
3
4
5
6
7
typedef struct Articulo {
    int id;
    char nombre[50];
    int cantidad;
    float precio;
    struct Articulo *siguiente; // Puntero al siguiente artículo
} Articulo;

2. Funciones principales



A continuación, definimos las funciones que necesitarás para manejar el inventario:

- Incluir artículo

Esta función añadirá un nuevo artículo al inventario.

1
2
3
4
5
6
7
8
9
void incluirArticulo(Articulo **inventario, int id, const char *nombre, int cantidad, float precio) {
    Articulo *nuevo = (Articulo *)malloc(sizeof(Articulo));
    nuevo->id = id;
    strcpy(nuevo->nombre, nombre);
    nuevo->cantidad = cantidad;
    nuevo->precio = precio;
    nuevo->siguiente = *inventario;
    *inventario = nuevo;
}

- Eliminar artículo

Esta función eliminará un artículo del inventario basado en su ID.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void eliminarArticulo(Articulo **inventario, int id) {
    Articulo *actual = *inventario;
    Articulo *anterior = NULL;
 
    while (actual != NULL && actual->id != id) {
        anterior = actual;
        actual = actual->siguiente;
    }
 
    if (actual == NULL) return; // Artículo no encontrado
 
    if (anterior == NULL) {
        *inventario = actual->siguiente; // Eliminar el primer artículo
    } else {
        anterior->siguiente = actual->siguiente; // Eliminar artículo intermedio
    }
    free(actual);
}

- Modificar artículo

Esta función permitirá modificar la cantidad o el precio de un artículo existente.

1
2
3
4
5
6
7
8
9
10
11
12
void modificarArticulo(Articulo *inventario, int id, int nuevaCantidad, float nuevoPrecio) {
    Articulo *actual = inventario;
 
    while (actual != NULL) {
        if (actual->id == id) {
            actual->cantidad = nuevaCantidad;
            actual->precio = nuevoPrecio;
            return;
        }
        actual = actual->siguiente;
    }
}

3. Interfaz de usuario



Para interactuar con el usuario, puedes crear un menú simple en la consola que permita al usuario elegir entre incluir, eliminar o modificar artículos.

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
void menu(Articulo **inventario) {
    int opcion, id, cantidad;
    float precio;
    char nombre[50];
 
    do {
        printf("1. Incluir artículo\n");
        printf("2. Eliminar artículo\n");
        printf("3. Modificar artículo\n");
        printf("4. Salir\n");
        printf("Elige una opción: ");
        scanf("%d", &opcion);
 
        switch (opcion) {
            case 1:
                printf("ID: ");
                scanf("%d", &id);
                printf("Nombre: ");
                scanf("%s", nombre);
                printf("Cantidad: ");
                scanf("%d", &cantidad);
                printf("Precio: ");
                scanf("%f", &precio);
                incluirArticulo(inventario, id, nombre, cantidad, precio);
                break;
            case 2:
                printf("ID del artículo a eliminar: ");
                scanf("%d", &id);
                eliminarArticulo(inventario, id);
                break;
            case 3:
                printf("ID del artículo a modificar: ");
                scanf("%d", &id);
                printf("Nueva cantidad: ");
                scanf("%d", &cantidad);
                printf("Nuevo precio: ");
                scanf("%f", &precio);
                modificarArticulo(*inventario, id, cantidad, precio);
                break;
        }
    } while (opcion != 4);
}

Conclusión



Este análisis te proporciona una base sólida para controlar el inventario de una tienda pequeña. Puedes expandirlo según sea necesario, añadiendo características como la persistencia de datos (guardando el inventario en un archivo) o la visualización de artículos.

¡Buena suerte con tu tarea!
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