Nowe posty

Autor Wątek: Kalkulator w bashu  (Przeczytany 11680 razy)

matik28

  • Gość
Kalkulator w bashu
« dnia: 2012-11-30, 17:39:33 »
Witam
Chciałbym napisać w bashu kalkulator dodający kolejne cyfry w ciągu np: "./kalkulator 2468"
Po czym skrypt wyświetla sumę wpisanych cyfr ,czyli w tym przypadku 20. Pomyślałem aby zrobić to za pomocą reszty z dzielenia przez 10 (let liczba=$1%10) a potem podzielić całą tak aby powstała liczba o 1 miejsce po przecinku mniejsza(let liczba=$1/10) , a następnie dodać te dwie powstałe wartości.Proszę o pomoc ponieważ nie wiem jak to zapętlić i pododawać wszystko. Z góry dziękuje za pomoc.

matik28

  • Gość
Kalkulator w bashu
« Odpowiedź #1 dnia: 2013-01-23, 18:28:29 »
Ta...Dzięki za odpowiedzi...

xavery

  • Gość
Kalkulator w bashu
« Odpowiedź #2 dnia: 2013-01-24, 12:53:40 »
Cytat: matik28
Ta...Dzięki za odpowiedzi...
Nie ma za co:)
Ja bym rozbił argument na pojedyncze cyfry i w pętli dodawał (akumulował) kolejne wartości do jednej zmiennej.

Offline vanhelzing

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 314
    • Zobacz profil
Kalkulator w bashu
« Odpowiedź #3 dnia: 2013-01-24, 13:53:30 »
foo="2468"
echo $((`echo $foo | sed 's/./&+/g'`0))

darkdancer

  • Gość
Kalkulator w bashu
« Odpowiedź #4 dnia: 2013-01-25, 15:36:59 »
A jeśli bez użycia zewnętrznych poleceń to coś jak:
#!/bin/bash

for ((i=0; i < ${#1}; i++))
do
  let result+=${1:$i:1}
done

echo $result

matik28

  • Gość
Kalkulator w bashu
« Odpowiedź #5 dnia: 2013-02-12, 17:06:24 »
dzięki , nie wiedziałem że można to zrobić przez "for" a co do czwartego postu - vanhelzing o co chodzi z tą zmienną foo, bo wydaje mi sie że ona ma jakąś głębszą funkcję ?

Offline vanhelzing

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 314
    • Zobacz profil
Kalkulator w bashu
« Odpowiedź #6 dnia: 2013-02-12, 21:16:27 »
Cytuj
o co chodzi z tą zmienną foo, bo wydaje mi sie że ona ma jakąś głębszą funkcję ?
To zmienna metasyntaktyczna służąca przechowywaniu wartości.

matik28

  • Gość
Kalkulator w bashu
« Odpowiedź #7 dnia: 2013-02-17, 10:32:57 »
Już rozumiem o co chodzi. Dziękuje za pomoc.

zielona22

  • Gość
Kalkulator w bashu
« Odpowiedź #8 dnia: 2013-11-23, 21:43:08 »
Witam :)

Chciałabym poprosić Was o pomoc odnośnie kalkulatora w bashu.
Mianowicie chodzi o to, że mam :

#!/bin/bash
echo "Podaj dane "
read inputvar
echo "Wynik :"
echo " $inputvar " | bc -l

To jeden program, ale nie działa mi, mam jakiś błąd, i nie mam pojęcia gdzie. Nie wiem czy dobrze zapisałam inputvar.

Drugi to :

#!/bin/bash

echo "Witaj w kalkulatorze!"
echo "1. "+""
echo "2. "-""
echo "3. "*""
echo "4. "/""
echo "Wybierz numer dzialania: ";
read dzialanie
echo "Podaj pierwsza liczbe (l1): "
read l1
echo "Podaj druga liczbe (l2):"
read l2


if [ $dzialanie == "1" ]; then
echo "Dodawanie:"
wynik=$[ $l1 + $l2 ];
echo "$l1 + $l2 = $wynik";
fi

if [ $dzialanie == "2" ]; then
echo "Odejmowanie:"
wynik=$[ $l1 - $l2 ];
echo "$l1 - $l2 = $wynik";
fi

if [ $dzialanie == "3" ]; then
echo "Mnozenie:"
wynik=$[ $l1 * $l2 ];
echo "$l1 * $l2 = $wynik";
fi

if [ $dzialanie == "4" ]; then
echo "Dzielenie:"
wynik=$[ $l1 / $l2 ];
echo "$l1 / $l2 = $wynik";
fi

Czy mam tutaj wszystko dobrze?