wallydosantos
Power Member
sou novo nestas coisas, e estou a fazer um conversor de bases...mas isto esta dar me um erro quando o abro, nem chega a executar.podem me ajudar..j
aqui esta o codigo
#!/bin/bash
while true
do
clear
echo "-------------------------------------------------------"
echo "| Escolha uma das seguintes opções: |"
echo "| |"
echo "| 1) Introduzir numero na base decimal |"
echo "| 2) Introduzir numero na base octal |"
echo "| 3) Introduzir numero na base hexadecimal |"
echo "| 4) Introduzir numero na base binária |"
echo "| |"
echo "| Para sair prima qualquer outra tecla |"
echo "| (Após a introdução do numero prima Enter) |"
echo "-------------------------------------------------------"
echo "opcao: "
read opcao
clear
case $opcao in
1)base_entrada=10;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 9";
echo "Numero: ";
read numero;;
2)base_entrada=8;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 7";
echo "Numero: ";
read numero;;
3)base_entrada=16;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 9 e letras de A a F";
echo "Numero: ";
read numero;;
4)base_entrada=2;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 1";
echo "Numero: ";
read numero;;
*)break;;
esac
clear
echo "-------------------------------------------------------"
echo "| Escolha uma das seguintes opções: |"
echo "| |"
echo "| 1) Converter numero na base decimal |"
echo "| 2) Converter numero na base octal |"
echo "| 3) Converter numero na base hexadecimal |"
echo "| 4) Converter numero na base binária |"
echo "| |"
echo "| Para sair prima qualquer outra tecla |"
echo "| (Após a introdução do numero prima Enter) |"
echo "-------------------------------------------------------"
echo "opcao: "
read opcao2
case $opcao2 in
1)base_saida=10;;
2)base_saida=8;;
3)base_saida=16;;
4)base_saida=2;;
*)break;;
esac
clear
case $base_saida in
10) resultado=$(bc <<< "ibase=$base_entrada ; $numero");
echo "O seu numero na nova base é: $resultado";
echo "para continuar prima enter";;
*) resultado=$(bc <<< "ibase=$base_entrada ; obase=$base_saida ; $numero");
echo "O seu numero na nova base é: $resultado";
echo "para continuar prima enter";;
esac
done
ja agora ideias pra melhorar
aqui esta o codigo
#!/bin/bash
while true
do
clear
echo "-------------------------------------------------------"
echo "| Escolha uma das seguintes opções: |"
echo "| |"
echo "| 1) Introduzir numero na base decimal |"
echo "| 2) Introduzir numero na base octal |"
echo "| 3) Introduzir numero na base hexadecimal |"
echo "| 4) Introduzir numero na base binária |"
echo "| |"
echo "| Para sair prima qualquer outra tecla |"
echo "| (Após a introdução do numero prima Enter) |"
echo "-------------------------------------------------------"
echo "opcao: "
read opcao
clear
case $opcao in
1)base_entrada=10;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 9";
echo "Numero: ";
read numero;;
2)base_entrada=8;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 7";
echo "Numero: ";
read numero;;
3)base_entrada=16;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 9 e letras de A a F";
echo "Numero: ";
read numero;;
4)base_entrada=2;
echo "Após a introdução do numero prima Enter";
echo "Nesta base só são aceitáveis numeros de 0 a 1";
echo "Numero: ";
read numero;;
*)break;;
esac
clear
echo "-------------------------------------------------------"
echo "| Escolha uma das seguintes opções: |"
echo "| |"
echo "| 1) Converter numero na base decimal |"
echo "| 2) Converter numero na base octal |"
echo "| 3) Converter numero na base hexadecimal |"
echo "| 4) Converter numero na base binária |"
echo "| |"
echo "| Para sair prima qualquer outra tecla |"
echo "| (Após a introdução do numero prima Enter) |"
echo "-------------------------------------------------------"
echo "opcao: "
read opcao2
case $opcao2 in
1)base_saida=10;;
2)base_saida=8;;
3)base_saida=16;;
4)base_saida=2;;
*)break;;
esac
clear
case $base_saida in
10) resultado=$(bc <<< "ibase=$base_entrada ; $numero");
echo "O seu numero na nova base é: $resultado";
echo "para continuar prima enter";;
*) resultado=$(bc <<< "ibase=$base_entrada ; obase=$base_saida ; $numero");
echo "O seu numero na nova base é: $resultado";
echo "para continuar prima enter";;
esac
done
ja agora ideias pra melhorar