Linux/Unix Shell Scripting - Arrays en bash, cuenta de supermercado

 
Vista:

Arrays en bash, cuenta de supermercado

Publicado por David (1 intervención) el 31/05/2020 10:46:01
Creo que tengo que usar arrays pero no estoy seguro, explico lo que quiero hacer y hasta donde he llegado. Es un programa para un supermercado donde se nos preguntará el producto, su precio y la cantidad que deseamos comprar. Después nos preguntará si deseamos seguir comprando, si contestamos afirmativamente vuelve a hacer la misma pregunta anterior pero cuando se conteste negativamente se pasa al siguiente paso, en el cual se preguntará si la compra es individual o colectiva. Si la compra es individual termina ahí, sino dará otro mensaje que dirá, por ejemplo: Hay que pagar 27 euros por cada persona.

Lo que no se como hacer es que se vayan sumando todos los productos que vamos introduciendo para que al final se de un total correcto y se pueda hacer la división de todo entre los pagadores.

Esto es lo que tengo:

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
clear
echo "-----Bienvenido al Supermercado Cojonudo------"
 
read -p "¿Que producto va a comprar? " producto
read -p "¿Cual es el precio de este producto?: " precio
read -p "¿Que cantidad se llevará de este producto?: " cantidad
 
let total=`expr $precio\*$cantidad`
 
echo "$producto ($precio €) X $cantidad = $total€"
 
read -p "¿Desea seguir comprando?: " respuesta
 
 
         while [ $respuesta == "si" ]
   do
        read -p "¿Que producto va a comprar? " producto
        read -p "¿Cual es el precio de este producto?: " precio
        read -p "¿Que cantidad se llevará de este producto?: " cantidad
 
        let total=`expr $precio\*$cantidad`
 
        echo "$producto ($precio €) X $cantidad = $total€"
 
        read -p "¿Desea seguir comprando?: " respuesta
        if [ $respuesta == "no" ]
    then
        break
    fi
   done
 
         read -p "¿La compra es individual o colectiva?: " pago
         echo "El precio total de la compra es $total €."
           case $pago in
            individual)
            ;;
            colectiva)
            read -p "¿Entre cuantas personas se divide el pago?: " pagadores
            let division=`expr $total/$pagadores`
            echo "Corresponde pagar $division € a cada uno de los $pagadores pagadores."
            ;;
           esac
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