العودة إلى موقع برمج

كيف أكتب برنامج بلغة c++ باستخدام while

#1

باستخدام لغة ++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
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;

}

#2

ان استخدامك لجملة الدوران بهذه الطريقة ستجعل اختيار المستخدم للجمع مثلا + سيؤدي لاستمرار تحقق شرط جملة الدوران وتكرارها واظهار ناتج الطباعة بشكل غير منتهي
الافضل ان تكون جملة الدوران لجميع العمليات معا في جملة دوران واحدة يتم التحقق ضمنه من قيمة محددة للخروج ويمكنك ان تطلبها من المتسخدم مثلا للخروج ادخل “q” وعند ادخال هذه القيمة تتوقف جملة الدوران ويخرج من البرنامج

داخل جملة الدوران ستستبدل جمل الدوران الحالية بجمل شرطية للتحقق من العملية التي يجب تنفيذها جمع او طرح …

اخيرا بهذه الحالة الافضل الطلب من المستخدم لادخال العددين والعملية المطلوبة في بداية جملة الدوران حتى تتم اعادة طلبهم من المتستخدم في كل عملية تكرار