Sujet : [DEPLACE] script shell calculatrice [ Linux / Unix / Divers ] (zakariah)


Informations & options

[DEPLACE] script shell calculatrice par : zakariah le 30/05/2011 17:15:33
Répondre Rép. Ecrire un message privé MP Voir les autres messages de ce membre 1 msg Voir les autres messages de ce membre sur tout CS 5 msg CS

rougefonce='\e[0;31m'
neutre='\e[0;m'
cyanclair='\e[0;34m'
compteur=1


debutv(){
esc="\033["
dv="42;31m"
dl=" ${esc}${dv} ${esc}0m"
dd=" ${esc}${dv} ${esc}0m ${cyanclair}bienvenue dans notre premier projet linux${neutre} ${esc}${dv} ${esc}0m"
dc=" ${esc}${dv} ${esc}0m ${esc}${dv} ${esc}0m"

echo -e "$dl"
echo -e "$dc"
echo -e "$dd"
echo -e "$dc"
echo -e "$dl"
}
premier(){
echo "entrer le nombre"
read n
if let $n 2>/dev/null
then
r=2
let d=$n%$r
if [ $d -ne 0 ]; then

for (( i=2 ; i<n ; i++ ))
do
let d=$n%$i
done
echo "le nombre $n est premier "
else
echo "le nombre $n est non premier "
fi
else
echo -e "$n ${rougefonce} non valide${neutre}"
fi
}
#in walo ri mhit mchaw li couleur fhad bloc note

pgcd ()
{ if let $a 2>/dev/null && let $b 2>/dev/null
then
N1=$a
N2=$b
let rest=$a%$b
while [ $rest -ne 0 ] ;do
a=$b
b=$rest
let rest=$a%$b
done
echo "le pgcd de $a et $b est =$b"
let d=$N1/$b
let m=$d*$N2
echo "le ppcm de $a et $b est =$m"
else
echo -e "$a ou $b ${rougefonce}non valide${neutre}"
fi

#dividende=$1
#diviseur=$2
# reste=1
#until [ "$reste" -eq 0 ]
#do
# let "reste = $dividende % $diviseur"
# dividende=$diviseur # Maintenant, répétez avec les deux plus
#+ petits nombres.
# diviseur=$reste
#done # Algorithme d'Euclide

} # Le dernier $dividende est le pgcd.
dec_to_binaire(){
echo "Entrez un nombre"
read num
if let $num 2>/dev/null
then
xv=`expr $num`
echo " " > db.txt
ix=0
while [ $num != 0 ]
do
rem=`expr $num % 2`
echo -n $rem >> db.txt
n1=`expr $num / 2`
num=`expr $n1`
ix=`expr $ix + 1`
done
echo -n $xv =
jj=`expr $ix`
while [ $jj != 0 ]
do
w=`cut -c $jj db.txt`
jj=`expr $jj - 1`
echo -n $w
done
echo
echo
else
echo -e "$num ${rougefonce}non valide${neutre}"
fi
}




affichage1(){
echo "donnez la première valeur : "
echo -n "==> "
read a
echo "donnez la deuxieme valeure : "
echo -n "==> "
read b
}
main(){
clear
debutv
echo ""
echo " ===================================="
echo " | MENU PRINCIPALE CALCULATRICE |"
echo " ------------------------------------"
echo " | donnez votre choix |"
echo -e " | ${cyanclair}<1>${neutre} Addition |"
echo -e " | ${cyanclair}<2>${neutre} Soustraction |"
echo -e " | ${cyanclair}<3>${neutre} Multiplication |"
echo -e " | ${cyanclair}<4>${neutre} Divesion |"
echo -e " | ${cyanclair}<5>${neutre} Modulo |"
echo -e " | ${cyanclair}<6>${neutre} Puissance |"
echo -e " | ${cyanclair}<7>${neutre} Multi calcule |"
echo -e " | ${cyanclair}<8>${neutre} Valeur absolue |"
echo -e " | ${cyanclair}<9>${neutre} pgcd & ppcm |"
echo -e " | ${cyanclair}<10>${neutre} n! |"
echo -e " | ${cyanclair}<11>${neutre} decimale to binaire |"
echo -e " | ${cyanclair}<12>${neutre} les nombre premier |"
echo -e " | ${cyanclair}<q>${neutre} Quitter |"
echo -e " | ${rougefonce}M.ZAYDI${neutre} |"
echo " ===================================="
echo ""
}
fin(){
echo -e "\n\n\n\n\n\n\n"
echo -e "${rougefonce} * * ***** *** **** *****"
echo " * * * * * * * * *"
echo " * * * *** ** * *"
echo " * * * * * * *"
echo -e " * * ***** * * **** *****${neutre}"
echo " ================================================"
echo -e " == ${cyanclair}Zakaria OUHROCHAN & Souhail MEZZIANE${neutre} =="
echo " ====================="
echo " ========"
}











V=""
main
while [ "$V" = "" ];
do


echo "entrez votre choix :"
echo -n "==> "
read choix
case $choix in

"3")
echo -e " ${cyanclair}-----------Multiplication-----------${neutre} "
affichage1
#resul=$(($a * $b))
resul=`echo "scale=2; $a * $b" | bc`
echo "$a * $b = " $resul

;;
"4")
echo -e " ${cyanclair}-----------Divesion-----------${neutre} "
affichage1
if (test $b -ne 0)
then
resul=`echo "scale=2;$a/$b" | bc`
echo "$a / $b = " $resul
else echo -e "${rougefonce}impossible de diveser par 0${neutre}"
fi

;;
"2")
echo -e " ${cyanclair}-----------Soustraction------------${neutre} "
affichage1
resul=`echo $a - $b| bc`
echo "$a - $b = " $resul

;;
"1")
echo -e " ${cyanclair}-----------Addition-----------${neutre} "
affichage1
resul=`echo $a + $b| bc`
echo "$a + $b = " $resul

;;
'5')
echo -e " ${cyanclair}-----------Modulo-----------${neutre} "
affichage1
if let $b 2>/dev/null && let $a 2>/dev/null
then
resul=$(($a % $b))
echo "$a%$b = " $resul
else
echo -e "$a ou/et $b ${rougefonce}non valide${neutre}"
fi
;;
'6')
echo -e " ${cyanclair}-----------Puissance-----------${neutre} "
affichage1
if let $b 2>/dev/null && let $a 2>/dev/null
then
resul=$(($a ** $b))
echo "$a^$b = " $resul
else
echo -e "$var ${rougefonce}non valide${neutre}"
fi
;;
'7')
echo -e " ${cyanclair}-----------Multi calcule-----------${neutre} "
echo "donnez une operation Exemple: 1 + 2 - 3 / 5 * 6 "


read ve vf vj vh vi vg vk vl vm vn vo vp vq vr vs vt vw

resul=`echo "scale=2;$ve $vf $vj $vh $vi $vg $vk $vl $vm $vn $vo $vp $vq $vr $vs $vt $vw" | bc`
echo $resul
;;
"8")
echo -e " ${cyanclair}-----------Valeur absolue-----------${neutre} "
echo "donnez un nombre"
read abs

if (test $abs -lt 0)
then
abs=$(($abs * -1))
fi
echo $abs

;;
"9")
echo -e " ${cyanclair}-----------pgcd & ppcm-----------${neutre} "
affichage1
pgcd $a $b
#echo; echo "PGCD de $a et $b = $dividende"; echo

;;
"10")
echo -e " ${cyanclair}-----------n!-----------${neutre} "
echo "donnez un nembre : "
echo -n "==>"
read fact
if let $fact 2>/dev/null
then
result=1
i=1
if [ $fact -ne 0 ];
then
while [ "$i" != "$fact" ];
do
let result=$(($result * $i))
i=$(($i + 1 ))
done
result=$(($result * $fact))
fi

echo "$fact! = "$result
else
echo -e "$fact ${rougefonce}non valide${neutre}"
fi

;;
"11")
echo -e " ${cyanclair}-----------decimale to binaire-----------${neutre} "
dec_to_binaire
;;
"12")
echo -e " ${cyanclair}-----------les nombre premier-----------${neutre} "
premier
;;
"q")
echo "voulez vous vraimment quitter[o/n]"
read rep
if [ "$rep" = "o" ];
then
clear
fin
read pause
clear
break
fi

;;

*)
echo -e "${rougefonce}choix non valide${neutre}"
esac
echo "**********************************************************"
compteur=$(($compteur + 1))
if [ "$compteur" = "3" ];
then
read zzz
clear
main
compteur=1
fi
done
Re : script shell calculatrice par : buno (Admin) le 30/05/2011 17:18:03
Répondre Rép. Ecrire un message privé MP Voir les autres messages de ce membre 9 msg Voir les autres messages de ce membre sur tout CS 3323 msg CS
euh...42?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Re : script shell calculatrice par : sebmafate (1/1 Membre Club 1/1) (Admin) le 31/05/2011 09:26:29
Répondre Rép. Ecrire un message privé MP Voir les autres messages de ce membre 3 msg Voir les autres messages de ce membre sur tout CS 4193 msg CS
Super !
Et le rapport avec C# ?


Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo



Participer à cet échange

Pour participer aux échanges, vous devez vous authentifier.
Login et mot de passe que vous avez sur
CodeS-SourceS/TechnoS-SourceS




Mot de passe oublié ? / Activation de compte
Créer un compte