Me guia como hacer un inventario en C

Hola estoy haciendo un programa pero no domino bien el C me podrian guia a como hacer la parte del inventario por funcionario? tambien tengo problema para hacer la parte para capturar el genero
aquí el enunciado y parte del código que tengo:
Esto no es una tarea

Crear un programa que registre el inventario de cada funcionario del departamento de ventas de la empresa Computer

  • El programa registrara el inventario máximo de 5 funcionarios de la empresa.
  • Las marcas de los equipos de tecnología pueden ser DELL, ASUS, ACER, HP, SAMSUNG.
  • El proyecto presentara un menú de opciones las cuales serán:
    • Introduzca los datos necesarios para ejecutar el programa.
    • Introduzca el nombre y apellido del empleado
    • Introduzca el número de cédula
    • Introduzca la edad del empleado
    • Introduzca el género del empleado
    • Introduzca el número de activo del CPU.
    • Introduzca la marca del CPU.
    • Inventario de la empresa, Muestra la tabla de inventario
    • Inventario por funcionario, Ingrese el número del funcionario
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include <iostream>
#include<string.h>

int main(void)

{
    int opc1, opc2, opc3, i=0, j, edad, cedula, ncpu;
    char marca(5)(10), genero(5), nombre(5)(20), mcpu(5)(10); 
    
    do
    {
        system("cls");
        printf(">>>MENU DE LA EMPRESA<<<nn");
        printf("1. Ingresar datosn");
        printf("2. Inventario de la empresan");
        printf("3. Cantidad de funcionarios menores de 25 anosn");
        printf("4. Cantidad de funcionarios mayores de 40 anosn");
        printf("5. Promedio de edad de los funcionariosn");
        printf("6. Cantidad de funcionarios mujeresn");
        printf("7. Cantidad de funcionarios homresn");
        printf("8. Inventario por funcionarion");
        printf("9. Mostrar las provincias de los funcionarios y numeros de cedulan");
        printf("10. Salirnn");
        printf("Elija una Opcion:");
        scanf("%d",&opc1);
        switch(opc1)
        {
            case 1:
                system("cls");
                switch(opc2);
                {
                    for (i=0; i<5; i++)
                    {
                        printf("Introduzca Nombre y Apellido del funcionario %dn",i + 1);
                        scanf("%s",&nombre(i));
                        printf("Genero del funcionario: %sn",n(i));
                        scanf("%s",&genero(i));

                        if(g(i) == 'm') {  
                            strcpy(h(i),n(i));
                            c = c + 1;
                            }
                             else if(g(i) == 'f')
                              {
                                strcpy(d(i),n(i));
                                p = p + 1;    
                            }
                        printf("Introduzca numero de Cedula del funcionario: ");
                        scanf("%d",&cedula);
                        printf("Introduzca Edad del funcionario: " );
                        scanf("%d",&edad);
                        printf("Marca CPU: " );
                        scanf("%d",&mcpu);
                        printf("Numero activo de CPU: " );
                        scanf("%d",&ncpu);
                    }
                }
                break;
            case 2:
                system("cls");
                printf("");
                getch();
                break;
            case 3:
                system("cls");
                printf("");
                getch();
                break;
            case 4:
                system("cls");
                printf("");
                getch();
                break;
            case 5:
                system("cls");
                printf("");
                getch();
                break;
            
            case 6:
                system("cls");
                printf("");
                getch();
                break;
            case 7:
                system("cls");
                printf("");
                getch();
                break;
            case 8:
                system("cls");
                switch(opc3);
                {
                    
                }
            case 9:
                system("cls");
                printf("");
                getch();
                break;      
            case 10:
                break;
            default:
                system("cls");
                printf("opcion incorrecta, presiona enter");
                getch();
                break;  
        }
    }while(opc1 !=10);
    return 0;
}

unity2d – Creación de Inventario c#

Hola estoy tratando de hacer un inventario 2D siguiendo un video, pero me da este error al tratar de spawnear los objetos por el mundo. Creo que tengo el codigo igual que en el video pero quizas hay algo que no estoy viendo.

El error es al saltar de un script a otro (Object reference not set to an instance of an object, ):
Me da el error en la función awake de la segunda imagen

Este seria el script del que cojo la información

Y este el que me da el problema en la función Awake

algoritmo para implementar inventario php

estoy desarrollando un sistema para veterinas en el cual tienen productos y vacunas, a ambos se les puede ingresar lotes, por ejemplo la vacuna se llama distemper y se registra con 100 unidades (lote 1) y despues de un mes puedo registrar 20 unidades mas(lote 2) esta ultima con una fecha de vencimiento diferente a la primera dandome esta estructura:

tabla mysql productos:
id_producto | producto | stock
00000001    | distemper| 120
-------------------------------
tabla lotes_productos:
id_lote | id_producto | unidades | unidades_disponibles | fecha_vencimiento
0000001 | 00000001    | 100      | 100                  | 10/01/2021
0000002 | 00000001    | 20       | 20                   | 17/01/2021

Al momento de hacer un pedido descuento el stock de la tabla productos segun el id_producto disminuyendole segun la cantidad que solicitaron del producto.

lo que yo deseo es descontarle el stock al ultimo lote
por ejemplo:
si pido 90 unidades de id_producto = 00000001 este descuente del primer lote y si solicito 110 unidades me descuente 100 (ya que solo tiene 100 unidades disponibles) del primer lote y 10 del segundo lote

Notas:
no quiero el codigo, lo que deseo es el algoritmo (logica)
o derrepente alguna sugerencia para una mejor gestion de este cardex

flutter – Firebase: Cómo actualizar el Inventario si hay usuarios Offline?

Tengo un App para el Agro construida con Flutter y Firebase. El App funciona de la siguiente forma:

  1. Tiene un Inventario de Alimento en Bodega
  2. Los usuarios salen a alimentar en modo Offline (están en una granja)
  3. Después regresan y la escritura de la base se ejecuta conforme las propiedades Offline de Firebase

Cuando los usuarios están online al momento de alimentar, todo funciona perfecto, pero cuando alimentan en modo Offline tengo un problema específicamente al momento de actualizar el inventario, dado que el inventario en caché del usuario Offline puede estar diferente del inventario real en bodega (ya sea porque ha entrado nuevo alimento o por las actualizaciones en línea de otros usuarios al momento de alimentar).

La forma como estoy escribiendo los datos en Firebase (usando patrón BLOC y PROVIDER) es la siguiente:

  Future<bool> actualizarCantidad(String idAlimento, double cantidadActualizada) async {
  try {
      db.child('alimento/$idAlimento').update({ "cantidad": cantidadActualizada});
    } catch (e) {
      print(e);
    }
    return true;
  }

La función donde se lee el inventario y se ordena la actualización de la base es la siguiente:

Future<void> _submit() async {

    _alimento = await alimentoBloc.cargarAlimento(alimentar.idAlimento); 
    //Lee el inventario para el tipo de alimento en específico (alimentar.idAlimento)

    final _cantAlimento = _alimento.cantidad - _consumoTotal; 
    //_alimento.cantidad es la cantidad de alimento en el inventario
    //_consumoTotal es la cantidad total consumida por los animales 

    _alimentoBloc.actualizarCantidad(alimentar.idAlimento, _cantAlimento);
    //Es la función que actualiza el inventario con la nueva cantidad (_cantAlimento)
}

Lo que quisiera hacer en Firebase es que en lugar de asignar _cantAlimento al Inventario, ejecute algo como “disminuya _consumoTotal del número en Inventario” y de esa forma no importaría si el usuario está Offline u Online. Es esto posible?

Otra alternativa que he revisado es usar Transacciones para asegurar que está usando el último dato, pero las transacciones se pierden cuando el usuario está offline, así que no es una posibilidad.

Cómo podría actualizar el Inventario de la forma correcta, teniendo en cuenta que mis usuarios muchas veces están Offline?