Ajuda com loop [RESOLVIDO]

1. Ajuda com loop [RESOLVIDO]

Antonio jose
antoniojose12

(usa Fedora)

Enviado em 26/09/2017 - 04:02h

gente estou batendo a cabeça na parede,eu preciso que a cada rodada do loop os inputs recebam um numero a mais ja que sera uam tabela por exemplo o usuario digitou na primeira passada na quantidade 12 ai é salvo como 1- 12 na proxima rodada o usuario digitou 547 ele salva como 2- 547.
Isso vai se repitir 12 vezes... pore mnao sei o que eu estou errando, ao chamar a variavel no echo ela não aparece q quantidade que o usario informou aparece somente o numero 2 que é do loop'em toda tabela!
me dem uma ajuda, mas nao quero o codigo pronto quero somente uma luz!



n=0
while [ "$sair" != "sair" ]; do

n=$((n+1))
qtda=$input_quantidade$n
input_produto=produto_$n
input_descricao=descricao_$n
input_valorunitario=valorunitario_$n
input_valortotal=valortotal_$n

echo "Quantidade"
read $input_quantidade

echo "Produto"
read $input_produto

echo "Descrição"
read $input_descricao

echo "Valor Unitário"
read $input_valorunitario

echo "Valor Total"
read $input_valortotal

echo "Para sair, digite sair. Para continuar, tecle qualquer tecla."

read sair

done



outra coisa,é normal se bater assim?faz 2 meses que estudo shell script.será que um dia vou aprender a ter um raciocionio rapido?=(


  


2. MELHOR RESPOSTA

Slackjeff
slackjeff

(usa Slackware)

Enviado em 26/09/2017 - 16:45h

Acho que o que ele quer é uma saida aleatoria, Segue!

i=0
while [ "$sair" != "sair" ]; do
i=$((i+1))
for filter in Produto Quantidade Descricao PrecoUnitario PrecoTotal; do
read -p "${filter}: " ${filter}$i
done
read -p "Para sair, digite sair. Para continuar, tecle qualquer tecla.: " sair
done


Depois é só chamar a váriavel de acordo com o que você quer, exemplo:
Produto1 Produto2 Produto3
Quantidade1 Quantidade2 Quantidade3
E assim por diante! em cada passada vale +1

GPG KeyId: <0xD9EC33CD>

Meu Site:
http://slackjeff.emmilinux.com.br/

[/code]





3. Re: Ajuda com loop [RESOLVIDO]

Antonio jose
antoniojose12

(usa Fedora)

Enviado em 26/09/2017 - 12:13h

nenhum ferinha?


4. Re: Ajuda com loop [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 26/09/2017 - 15:09h

Boa tarde Antonio.
Segue:
#!/bin/bash
tput clear
while [ "$sair" != "sair" ]; do
let COUNT+=1
read -p "Quantidade: " Qtdd
read -p "Produto: " Pdt
read -p "Descrição: " Desc
read -p "Valor Unitário: " VlUnit
Sub_Total=$(bc <<< "scale=2;${Qtdd}*${VlUnit}")
echo "${COUNT}:${Qtdd}:${Pdt}:${Desc}:${VlUnit}:${Sub_Total}" >> PRODUTOS.txt
echo -e "\nPara sair, digite sair. Para continuar, tecle qualquer tecla."
read sair
[ $sair = "sair" ] && awk -F: 'BEGIN{printf "Valor Total = ";}{TT+=$6}END {print TT}' PRODUTOS.txt |tee -a PRODUTOS.txt
done

O script calcula o sub_total para cada produto.
Quando sair, é calculado o Valor Total.
Mostra na tela e salva em "PRODUTOS.txt"

Se a RESPOSTA foi ESCLARECEDORA/SATISFATÓRIA, marque o Tópico como RESOLVIDO e escolha a RESPOSTA como A MELHOR . . . :)

Att.:
Marcelo Oliver








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts