Código supermercado

Iniciado por Emmet01921, 23 Noviembre 2021, 02:59 AM

0 Miembros y 1 Visitante están viendo este tema.

Emmet01921

m

@XSStringManolo

Cuando publiques código en el foro, tienes un botoncito que pone Código GeSHi. Si le haces click, te muestra los lenguajes disponibles y ahí puedes seleccionar C++ para que te muestre las etiquetas en las que tienes que meter tu código para que se lea bien en el foro.

No hace falta que abras un nuevo tema para preguntar cosas relacionadas con un tema por el que ya preguntaste. Al tener ya un tema abierto para este ejercicio, lo lógico es que respondas en él todas las cuestiones relacionadas con el mismo para no llenar el foro con 20 temas sobre la misma cuestión cuando puede estar todo organizado en uno.



Citarc. Cada departamento es una función que recibe un cliente, lo saluda "hola Pedrito,
bienvenido" y pregunta al cliente cuánto gastó. La cantidad que responda el
cliente deberá sumarse al atributo total gastado de cada cliente.


Tus funciones no están recibiendo un cliente. Te dice claramente que reciben un cliente.

Tus funciones no están saludándo al cliente por su nombre. Tienes que pasarle el cliente como argumento/parámetro de función e imprimir el nombre de cliente dentro de la función como te indica el enunciado. Tu los estás saludando en main, no en las funciones de los departamentos.

Ya no necesitas acumuladores. Al pasar el cliente por arguemento a la función, puedes modificar el totalGastado para añadirle lo que gaste en el departamente en cuestión.

El apartado d:
Citard. Crea una función que imprima el total gastado por los clientes que visitaron hoy el
supermercado (la función recibe como parámetro el arreglo de clientes y suma el
total gastado por cada uno. Al final la función imprime "hola, soy Shedrawiwi y
hoy gane xxxxx pesos con n clientes"
Lo has ignorado completamente y te has puesto a hacerlo en el main. Te dice que necesitas crear una función. Y a demas que esta función recibe como parámetro el array de clientes. Y que a demas muestra las suma de lo gastado por todos los clientes.

Extra: Yo también haría una función extra para pasar al cliente por todos los departamentos sin necesidad de hacer tanto copia y pega de código en el main. Siempre que estés haciendo copia y pega, seguramente estés haciendo algo mal y probablemente deberías utilizar una función o un bucle en su lugar.
La función podría ser algo tal que:
Citarvoid irATodosLosMercados (Cliente * clienteActual) {
  frutasYVerduras(clienteActual);
  carnesYCongelados(clienteActual);
}

Así en lugar de hacer:
Código (cpp) [Seleccionar]
dulceria(&acumulador);
    frutas_verduras(&acumulador);
    carnes_congelados(&acumulador);
    vinos_licores(&acumulador);
    articulos_limpieza(&acumulador);

    dulceria(&acumulador2);
    frutas_verduras(&acumulador2);
    carnes_congelados(&acumulador2);
    vinos_licores(&acumulador2);
    articulos_limpieza(&acumulador2);

    dulceria(&acumulador3);
    frutas_verduras(&acumulador3);
    carnes_congelados(&acumulador3);
    vinos_licores(&acumulador3);
    articulos_limpieza(&acumulador3);


Solo tendrías que hacer:
Código (cpp) [Seleccionar]
irATodosLosMercados(&clientes[0]);
irATodosLosMercados(&clientes[1]);
irATodosLosMercados(&clientes[2]);


Ya casi lo tienes! :D