Función "modificar" en C para la gestión de inventario

Clasificado en Informática

Escrito el en español con un tamaño de 2,26 KB

Función modificar en C para la gestión de inventario

Esta función en C permite modificar los datos de un producto dentro de un sistema de inventario. La función busca un producto por su nombre y permite al usuario actualizar sus datos.

Código

void modificar(){
    char nombre_modif[60];
    char nuevo_lab[60];
    char nuevo_nom[60];
    int nueva_cant;
    float nuevo_prec;
    char nueva_recet[60];
    int i = 0;
    int op = 0;

    printf("Escribe el nombre del producto que desea cambiar: ");
    fflush(stdin);
    gets(nuevo_nom);
    sscanf(nuevo_nom, "%s", nombre_modif);

    while (strcmp(nombre_modif, lista.cajon[i].nombre) != 0) {
        i = i + 1;
        if (i >= lista.cursor) {
            break;
        }
    }

    if (i >= lista.cursor) {
        printf("No hay ningun producto con ese nombre\n");
    } else {
        while (op != 6) {
            printf("Que dato quieres modificar?\n1-Laboratorio \n2-Nombre \n3-Cantidad \n4-Precio \n5-Receta \n6-Terminar\n");
            scanf("%d", &op);

            switch (op) {
                case 1:
                    printf("Escribe el nombre del laboratorio: ");
                    fflush(stdin);
                    gets(nuevo_lab);
                    sscanf(nuevo_lab, "%s", lista.cajon[i].laboratorio);
                    break;
                case 2:
                    printf("Escribe el nombre del producto: ");
                    fflush(stdin);
                    gets(nuevo_nom);
                    sscanf(nuevo_nom, "%s", lista.cajon[i].nombre);
                    break;
                case 3:
                    printf("Escribe la cantidad: ");
                    scanf("%d", &lista.cajon[i].cantidad);
                    break;
                case 4:
                    printf("Escribe el precio del producto: ");
                    scanf("%f", &lista.cajon[i].precio);
                    break;
                case 5:
                    printf("Seguridad social?:  o \n");
                    fflush(stdin);
                    gets(nueva_recet);
                    sscanf(nueva_recet, "%s", lista.cajon[i].receta);
                    break;
                case 6:
                    break;
            }
        }
    }
}

Entradas relacionadas: