Advertisement
winone1208

zad1

May 18th, 2013
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.47 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. i=n # Poczatkowa wartość zmiennej otwierająca pętle
  4. j=5 # Dokładność obliczen
  5.  
  6. while [ $i = n ]
  7. do
  8.  
  9.   clear
  10.   echo 'y=(a/b)'
  11.   echo 'Wpisz a'
  12.   read a
  13.   while [ $(echo "$a" | bc) =  ] # Petla zapobiega pozostawienu pustej zmiennej a
  14.   do
  15.     clear
  16.     echo 'y=(a/b)'
  17.     echo 'Nie wpisałeś a'
  18.     read a
  19.   done
  20.   clear
  21.   echo "y=($a/b)"
  22.   echo 'Wpisz b'
  23.   read b
  24.   while [ $(echo "$b" | bc) =  ] # Petla zapobiega pozostawienu pustej zmiennej b
  25.   do
  26.     clear
  27.     echo "y=($a/b)"
  28.     echo 'Nie wpisałeś b'
  29.     read b
  30.   done
  31.   clear
  32.  
  33.   echo "y=($a/$b)"
  34.  
  35.   if [ $(echo "$b" | bc) -ne 0 ] # Warunek sprawdza czy nie dzielimy przez 0
  36.   then
  37.  
  38.     y=$(echo "scale=$j; ($a/$b)" | bc) # Obliczenia
  39.  
  40.     if [ $(echo "$y<1 && $y>0" | bc) -ne 1 ] # bc nie dodaje 0 w przupadku $y<1 && $y>0
  41.     then
  42.       brakujace_zero=''
  43.     else
  44.       brakujace_zero=0
  45.     fi
  46.  
  47.     echo
  48.     echo "Wynik: $brakujace_zero$y"
  49.     echo "(z dokładnością do $j miejsc po przecinku):"
  50.   else
  51.     echo
  52.     echo 'Brak rozwiązania' # Komunikat pojawi się w przpadku kiedy dzielimy przez 0
  53.   fi
  54.  
  55.   echo
  56.   echo 'Wyjść? (t/n)'
  57.   echo 'u - ustawienia'
  58.   read i
  59.  
  60.   while [ $i = u ] # Ustawienia
  61.   do
  62.     echo ----------------------------------
  63.     echo 'Ustaw liczbe miejsc po przecinku'
  64.     read d
  65.     i=n # nadanie zmiennej 'i' litery 'n' otwiera program po zmienieniu ustawień
  66.     read -p 'Zapisano!' -s  -t 1
  67.   done
  68.  
  69.   clear
  70.  
  71. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement