إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

سكربت Simple Calculator

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [سكربت] سكربت Simple Calculator

    السلام عليكم ورحمة الله وبركاته ...

    هذا السكربت هو عبارة عن آلة حاسبة بسيطة جداً ... تقوم بالجمع والطرح والضرب والقسمة ... أي أساسيات الرياضيات فقط ... لكن ممكن تستفيدو منها في تعلم الـ Variable Declaration ... وأيضاً تتعلمون منها الـ Case Statement ويمكن أمور أخرى ...

    كود:
    #!/bin/bash
    # A Simple Calculator
    declare -i VAL1
    declare -i VAL1
    declare -i SUM
    
    echo "Enter 'a' for Addition"
    echo "Enter 's' for Subtraction"
    echo "Enter 'd' for Devition"
    echo "Enter 'm' for Multiplication"
    read OPER
    
    echo "Enter Value #1: "
    read VAL1
    echo "Enter Value #2: "
    read VAL2
    
    case $OPER in
    a ) SUM=$[VAL1+VAL2];;
    s ) SUM=$[VAL1-VAL2];;
    d ) SUM=$[VAL1/VAL2];;
    m ) SUM=$[VAL1*VAL2];;
    esac
    
    echo "SUM= $SUM";
    exit 0;

    إن شاء الله تفيدكم ...
    التعديل الأخير تم بواسطة كريم عبد المجيد; الساعة 10-06-2008, 12:05 AM.
    إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

    إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
    ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
    فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
    إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
    ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
    وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

    [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]


  • #2
    لديك مشكل بسيط ﻻ أعرف كيفية الحل
    المشكل هو عند كتابة القيمة الأولى و القيمة الثانية ﻻ يعطيك النتيجة بل يعطيك العلاقة الحسابة

    تعليق


    • #3
      بإمكانك تجربة القوسين
      كود:
      sum=$(( a + b ))

      تعليق


      • #4
        تم التعديل على السكربت بعد إذنك علي

        وذلك:

        1- التعامل مع الأرقام العشرية
        2- تجاهل القسمة على صفر


        كود:
        #!/bin/bash
        # A Simple Calculator
        # Created By B!n@ry  25-10-2007 V 1.0
        # Edited By IraqiMousl 31-5-2008 V 1.1
        
        echo "Enter 'a' for Addition"
        echo "Enter 's' for Subtraction"
        echo "Enter 'd' for Devition"
        echo "Enter 'm' for Multiplication"
        read OPER
        
        echo "Enter Value #1: "
        read VAL1
        echo "Enter Value #2: "
        read VAL2
        
        if [ $VAL2 = 0 ] && [ $OPER = d ]; then  # to avoid divison by zero
        echo "can not divid by zero, try again please!!!"
        exit
        fi
        case $OPER in
        a ) SUM=$(echo "$VAL1+$VAL2" |bc);; # 'bc' is a calculator for integer and float variables
        s ) SUM=$(echo "$VAL1-$VAL2" |bc);;
        d ) SUM=$(echo "scale=3; $VAL1/$VAL2" |bc);; # 'scale' used to specify number of decimal places
        m ) SUM=$(echo "$VAL1*$VAL2" |bc);;
        esac
        
        echo "SUM= $SUM";
        exit 0;

        تحياتي لك علي,,,,

        قال سيدنا عمر بن الخطاب (رضي الله عنه) : "العراق جمجمة العرب وكنز الرجال ومادة الامصار ورمح الله في الارض فاطمئنوا فإن رمح الله لا ينكسر"

        مدونتي .... الإفتتاحية

        تعليق


        • #5
          هذا ما قصدته

          كود:
          #!/bin/bash
          # A Simple Calculator
          declare -i VAL1
          declare -i VAL1
          declare -i SUM
          
          echo "Enter 'a' for Addition"
          echo "Enter 's' for Subtraction"
          echo "Enter 'd' for Devition"
          echo "Enter 'm' for Multiplication"
          read OPER
          
          echo "Enter Value #1: "
          read VAL1
          echo "Enter Value #2: "
          read VAL2
          
          case $OPER in
          a ) SUM=$(( VAL1 + VAL2 ));;
          s ) SUM=$(( VAL1 - VAL2 ));;
          d ) SUM=$(( VAL1 / VAL2 ));;
          m ) SUM=$(( VAL1 * VAL2 ));;
          esac
          
          echo "SUM= $SUM";
          exit 0;

          تعليق


          • #6
            سكربت جميل
            شكرا أبو محمد
            فكرتنى بآله بسيطة كنت عاملها بالجامباس



            تحميل

            تحياتى لك

            تعليق


            • #7
              المشاركة الأصلية بواسطة B!n@ry مشاهدة المشاركة
              السلام عليكم ورحمة الله وبركاته ...

              هذا السكربت هو عبارة عن آلة حاسبة بسيطة جداً ... تقوم بالجمع والطرح والضرب والقسمة ... أي أساسيات الرياضيات فقط ... لكن ممكن تستفيدو منها في تعلم الـ Variable Declaration ... وأيضاً تتعلمون منها الـ Case Statement ويمكن أمور أخرى ...

              كود:
              #!/bin/bash
              # A Simple Calculator
              declare -i VAL1
              declare -i VAL1
              declare -i SUM
              
              echo "Enter 'a' for Addition"
              echo "Enter 's' for Subtraction"
              echo "Enter 'd' for Devition"
              echo "Enter 'm' for Multiplication"
              read OPER
              
              echo "Enter Value #1: "
              read VAL1
              echo "Enter Value #2: "
              read VAL2
              
              case $OPER in
              a ) SUM=$[VAL1+VAL2];;
              s ) SUM=$[VAL1-VAL2];;
              d ) SUM=$[VAL1/VAL2];;
              m ) SUM=$[VAL1*VAL2];;
              esac
              
              echo "SUM= $SUM";
              exit 0;

              إن شاء الله تفيدكم ...
              هوا كويس انك عملته بس ملهوش لزمه

              مش قصدي حاجه بس لزم يكون فيه مثلا انه يحديد ايه العمليه لي وحده

              مثلا
              ./cluc.sh 1 + 1
              2

              علشان الناس تقول انك فنان

              سلام

              تعليق


              • #8
                شكرا لتعديلات
                :argeeleh:
                Twitter
                : @Linux4SA

                تعليق


                • #9
                  مش قصدي حاجه بس لزم يكون فيه مثلا انه يحديد ايه العمليه لي وحده
                  تقصد هكذا

                  كود:
                  echo $(( 1 + 1 ))

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة Dj.r4iDeN مشاهدة المشاركة
                    هوا كويس انك عملته بس ملهوش لزمه

                    مش قصدي حاجه بس لزم يكون فيه مثلا انه يحديد ايه العمليه لي وحده

                    مثلا



                    علشان الناس تقول انك فنان

                    سلام
                    ما تنفعش دى


                    كود:
                    calc.gambas num1 operator num2

                    Gambas2/basic


                    كود:
                        IF Application.Args.Count <> 4 THEN ERROR.Raise
                        
                        SELECT CASE Application.Args[2]
                         CASE "+"
                          PRINT Application.Args[1] + Application.Args[3]
                         CASE "-"
                          PRINT Application.Args[1] - Application.Args[3]
                         CASE "*"
                          PRINT Application.Args[1] * Application.Args[3]
                         CASE "/"
                         PRINT Application.Args[1] / Application.Args[3]
                        END SELECT 
                        
                        CATCH 
                        PRINT "Error : \n" & error.Text
                        PRINT "Usage : calc.gambas num1 operator num2"

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة alsadi مشاهدة المشاركة
                      تقصد هكذا

                      كود:
                      echo $(( 1 + 1 ))

                      لا اصد انه يستخدم Args زي ما abom استخدمها

                      بس علشان تستخدم Args

                      في الباش بتكون اصعب بكتير

                      تعليق


                      • #12
                        المشاركة الأصلية بواسطة abom مشاهدة المشاركة
                        ما تنفعش دى


                        كود:
                        calc.gambas num1 operator num2

                        Gambas2/basic


                        كود:
                            IF Application.Args.Count <> 4 THEN ERROR.Raise
                            
                            SELECT CASE Application.Args[2]
                             CASE "+"
                              PRINT Application.Args[1] + Application.Args[3]
                             CASE "-"
                              PRINT Application.Args[1] - Application.Args[3]
                             CASE "*"
                              PRINT Application.Args[1] * Application.Args[3]
                             CASE "/"
                             PRINT Application.Args[1] / Application.Args[3]
                            END SELECT 
                            
                            CATCH 
                            PRINT "Error : \n" & error.Text
                            PRINT "Usage : calc.gambas num1 operator num2"
                        صح كده

                        عاوزنه بي الباش

                        تعليق


                        • #13
                          مشكور
                          مازلت مبدع بالـ bash
                          Fed0ra Y0u Ar3 1 oR 0
                          NRBG

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة Dj.r4iDeN مشاهدة المشاركة
                            صح كده

                            عاوزنه بي الباش
                            طيب دى محاولة بعد سرقة كود قراءة الargs
                            من رد استاذ مؤيد فى هذا الرد بس عدلت عليه
                            و كمان حتة الcase
                            من الآخر ما ليش فى الباش بس حاولت

                            كود:
                            [ $# -lt 3 ] && error "usage: calc.sh num1 operator num2"
                            num1=$1; shift
                            opr=$1 ;shift
                            num2=$1; shift
                            
                            case $opr in
                            '+' ) SUM=$[num1+num2];;
                            '-' ) SUM=$[num1-num2];;
                            '*' ) SUM=$[num1*num2];;
                            '/' ) SUM=$[num1/num2];;
                            esac
                            
                            echo "Sum is: $SUM"
                            التعديل الأخير تم بواسطة abom; الساعة 02-06-2008, 02:55 AM.

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة Dj.r4iDeN مشاهدة المشاركة
                              هوا كويس انك عملته بس ملهوش لزمه

                              مش قصدي حاجه بس لزم يكون فيه مثلا انه يحديد ايه العمليه لي وحده

                              مثلا



                              علشان الناس تقول انك فنان

                              سلام
                              أبــــو محـــــمــــــد طول عمره ((( فنــــــــــان ))) بهذه أو بدونها

                              قال سيدنا عمر بن الخطاب (رضي الله عنه) : "العراق جمجمة العرب وكنز الرجال ومادة الامصار ورمح الله في الارض فاطمئنوا فإن رمح الله لا ينكسر"

                              مدونتي .... الإفتتاحية

                              تعليق

                              يعمل...
                              X
                              😀
                              🥰
                              🤢
                              😎
                              😡
                              👍
                              👎