اذهب إلى المحتوى

السؤال

نشر

باستخدام لغة ++C مطلوب عمل برنامج آلة حاسبة بسيطة ، حيث يظهر للمستخدم في بداية البرنامج قائمة بارقام العمليات الحسابية المطلوبة كالتلي:

رقم 1  لعملية الجمع (Add)  

رقم 2 لعملية الطرح(Subtract) 

رقم 3 لعملية الضرب(Multiplication) 

رقم 4 لعملية القسمة(Division) 

رقم 5 لعملية باقي القسمة(Rest of division) 

رقم 0 للخروج من البرنامج (Exit) 

سيقوم المستخدم بإدخال رقم العملية الحسابية من لوحة المفاتيح (من 1 الى 5)  على سبيل المثال اذا اراد المستخدم  أن يجمع رقمين فإنه سيدخل الرقم 1 وهو الرقم الخاص بعملية الجمع من القائمة  ، ومن ثم سيطلب البرنامج من  المستخدم إدخال رقمين من لوحة المفاتيح ليقوم البرنامج بتنفيذ عملية الجمع عليهم وطباعة ناتج الجمع ، ستظهر القائمة للمستخدم من جديد تطلب منه إدخال رقم عملية حسابية جديدة (من 1 الى 5)  وستكرر العملية الى ان يدخل المستخدم الرقم صفر لانهاء البرنامج.

 

ملاحظات / 

لتكرار العملية استخدم الحلقة التكرارية while .

في حالة قام المستخدم بادخال رقم خارج الارقام من 0 الى 5 أظهر له رسالة خطأ(Error Operation)


قمت بكتابة البرنامج على هدا النمط .. ولكني تفاجءت بأن المعطيات (سكربت) ليس صحيحاً ..
 

#include <iostream>
using namespace std;
int main()
{
float num1 , num2;     // i need number 1.0 ...
char m;
cout <<"Enter the first number : ";    
cin >> num1;
cout <<"Enter secand number  :";
cin >> num2;
cout << "Enter the Hisbah  (+ or - or *  or /  )";
cin >> m;
   while (m=='+'){
    
    cout << " the Hisba(Add+) is ";
    cout <<num1+num2<< endl;
   break;    // dont stop the resulting i dont now that i do add break 
}

    while  (m=='-'){
    
    cout << " the Hisba(Subtract-) is ";
    cout <<num1-num2<< endl;
    break;    // dont stop the resulting i dont now that i do add break 
    }
    
    while  (m=='*'){
        
        
        cout << " the Hisba(Multiplication*) is ";
    cout <<num1*num2<< endl;
    break; // dont stop the resulting i dont now that i do add break 
    }
    
    while  (m=='/'){
        
        
        cout << " the Hisba(Division/) is ";
    cout <<num1/num2<< endl;
    break;  // dont stop the resulting i dont now that i do add break 
    }
    
    
return 0;
    
}

 

Recommended Posts

  • 0
نشر

مرحبًا @Abdulhadi A Abou Samra,

يمكنك عمل ذلك بهذه الشيفرة :

#include <iostream>
#include <stdexcept>

using namespace std;

int main()
{
    int num1, num2;
    int oper;
    
  	// عملية التكرار , تتوقف في حال ادخل المستخدم رقم 0
    while(true){
      
        cout << "Type a number of your operation.\nAdd : (1)\nSubtract : (2)\nMutliply : (3)\nDivide : (4)\nRest Of Division : (5)\nExit : (0)\noperation = ";
        cin >> oper;
        
      	// نتأكد اذا قيمة العملية بين رقم 0 و 5
        if(!(oper >= 0 && oper <= 5)){
          	// نقوم برفع خطأ اذا قيمة العملية ليست بين 0 و 5
            throw std::invalid_argument( "operation number shall be from 0 to 5" );
        }else
        {
          	// تتوقف عملية التكرار
            if(oper == 0){
                break;
            }
            
            cout <<"Enter the first number : ";    
            cin >> num1;
            
            cout <<"Enter the second number : ";    
            cin >> num2;
            
            cout << "Result is : ";  
            
            if(oper == 1){
                cout << num1+num2;
            }
            else if(oper == 2){
                cout << num1-num2;
            }
            else if(oper == 3){
                cout << num1*num2;
            }
            else if(oper == 4){
                cout << num1/num2;
            }
            else if(oper == 5){
                cout << num1%num2;
            }
             cout << "\n\n";
        }
    }
    


    return 0;
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...