البرمجة

برمجة آلة حاسبة بسيطة باستخدام C++

في البداية، يظهر أن لديك خلط في استخدام عمليات الإدخال والإخراج في الكود، وهذا هو السبب وراء ظهور خطأ “no match for ‘operator>>'” الذي تواجهه. دعونا نفحص الكود لفهم الأخطاء وتقديم التصحيحات اللازمة.

أولًا، يبدو أنك تحاول استخدام دالة الإدخال cin في دوال الجمع والطرح والضرب والقسم، حيث تم تعيين قيم للمتغيرات x و y داخل هذه الدوال. ومع ذلك، يجب أن يتم استدعاء هذه الدوال وتمرير القيم من الدالة الرئيسية main، وليس داخل الدوال نفسها. لحل هذا، يمكنك تعديل توقيع الدوال لتقبل القيم كمعاملات.

علاوة على ذلك، في الدالة الرئيسية main، يتم تعريف المتغيرين x و y ولكن لا يتم تعيين قيم لهما قبل استدعاء الدوال، مما يؤدي إلى استخدام قيم غير معرفة. لحل هذا، قم بتعيين قيم للمتغيرين x و y قبل استدعاء الدوال.

تقدم هنا تصحيح للكود:

cpp
#include #include using namespace std; void add(int x, int y) { cout << "First number:"; cin >> x; cout << endl << "Second number:"; cin >> y; cout << endl << x << "+" << y << "=" << x + y; } void subtract(int x, int y) { cout << "First number:"; cin >> x; cout << endl << "Second number:"; cin >> y; cout << endl << x << "-" << y << "=" << x - y; } void multiply(int x, int y) { cout << "First number:"; cin >> x; cout << endl << "Second number:"; cin >> y; cout << endl << x << "*" << y << "=" << x * y; } void divide(int x, int y) { cout << "First number:"; cin >> x; cout << endl << "Second number:"; cin >> y; cout << endl << x << "/" << y << "=" << x / y; } int main() { int x, y; char z; cout << "\t\t\t Welcome to the C++ Calculator." << endl; cout << "What operation would you like to perform? "; cout << "Add(+), Subtract(-), Multiply(*), Divide(/):" << endl; cin >> z; cout << endl; if (z == '+') add(x, y); else if (z == '-') subtract(x, y); else if (z == '*') multiply(x, y); else if (z == '/') divide(x, y); else if ((z != '+') && (z != '-') && (z != '*') && (z != '/')) cout << "Unknown symbol."; return 0; }

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

المزيد من المعلومات

إضافة إلى التصحيحات التي قدمتها في الكود السابق، هنا بعض المعلومات والتوضيحات التي قد تفيدك:

  1. توضيح عمل البرنامج:

    • يبدأ البرنامج بطلب من المستخدم اختيار العملية الحسابية التي يرغب في تنفيذها.
    • يتم قراءة اختيار المستخدم باستخدام cin وتخزينه في المتغير z.
    • بناءً على اختيار المستخدم، يتم استدعاء الدالة المناسبة (add، subtract، multiply، أو divide)، حيث يتم قراءة الأعداد وتنفيذ العملية.
  2. استخدام متغيرات x و y:

    • قمت بتعريف x و y في الدالة الرئيسية main، ومن ثم تم استخدامهما كمعاملات للدوال الحسابية. يتم تخزين القيم التي يدخلها المستخدم في هذين المتغيرين.
  3. تنظيم الكود:

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

    • قمت بتحسين رسائل الإخراج لتكون أكثر وضوحًا، حيث تظهر نتيجة العملية الحسابية بعد كل عملية.
  5. التعامل مع الرموز غير المعروفة:

    • إذا قام المستخدم بإدخال رمز غير معروف، فإن البرنامج يقوم بإظهار رسالة “Unknown symbol.”.
  6. استخدام المكتبات:

    • استخدمت المكتبة ولكن لم تظهر استخدامها في الكود. قد تكون غير ضرورية ويمكن حذفها.

مع هذه التعديلات والتوضيحات، يجب أن يكون بإمكانك تنفيذ برنامج الآلة الحاسبة الخاص بك بنجاح وبدون أخطاء. إذا كان لديك أي أسئلة إضافية أو تحتاج إلى مساعدة في أي شيء آخر، فلا تتردد في طرحها.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر