Mohamed Ahmed181 نشر 12 فبراير أرسل تقرير نشر 12 فبراير #include <iostream> using namespace std; int calcspecial(int num1, int num2){ if(num1 == num2){ cout << "First = Second -> "; cout << num1 << " + " << num2 << " = " << num1 + num2 << endl; }else { if(num1 > num2){ cout << "First > Second -> "; cout << num1 << " - " << num2 << " = " << num1 - num2 << endl; }if(num1 < num2){ cout << "First < Second -> "; cout << num2 << " - " << num1 << " = " << num2 - num1 << endl; }} } int main() { cout << calcspecial(40, 40) << "\n"; // First = Second -> 40 + 40 = 80 cout << calcspecial(200, 50) << "\n"; // First > Second -> 200 - 50 = 150 cout << calcspecial(100, 300) << "\n"; // First < Second -> 300 - 100 = 200 return 0; } 1 اقتباس
1 Chihab Hedidi نشر 12 فبراير أرسل تقرير نشر 12 فبراير المشكلة هي أن الدالة في تعريفها تقوم بإرجاع عدد، بينما داخلها لا توجد أي قيمة مرجعة، كما أنك تقوم بطباعة النتيجة داخلها لذا لا تحتاج على إعادة الطباعة في ال main، و الأفضل أن تقوم بتعديل الدالة لتصبح void بالشكل التالي: #include <iostream> using namespace std; void calcspecial(int num1, int num2){ if(num1 == num2){ cout << "First = Second -> "; cout << num1 << " + " << num2 << " = " << num1 + num2 << endl; } else { if(num1 > num2){ cout << "First > Second -> "; cout << num1 << " - " << num2 << " = " << num1 - num2 << endl; } if(num1 < num2){ cout << "First < Second -> "; cout << num2 << " - " << num1 << " = " << num2 - num1 << endl; } } } int main() { calcspecial(40, 40); // First = Second -> 40 + 40 = 80 calcspecial(200, 50); // First > Second -> 200 - 50 = 150 calcspecial(100, 300); // First < Second -> 300 - 100 = 200 return 0; } 1 اقتباس
1 Mahmoud Hassan19 نشر 12 فبراير أرسل تقرير نشر 12 فبراير حل اخر لهذه المشكلة انك ممكن ان تستخدم الدالة ترجع string مثل هذا وسوف تعمل معك #include <iostream> #include <string> using namespace std; string calcspecial(int num1, int num2) { string result; if (num1 == num2) { result = "First = Second -> " + to_string(num1) + " + " + to_string(num2) + " = " + to_string(num1 + num2); } else if (num1 > num2) { result = "First > Second -> " + to_string(num1) + " - " + to_string(num2) + " = " + to_string(num1 - num2); } else { result = "First < Second -> " + to_string(num2) + " - " + to_string(num1) + " = " + to_string(num2 - num1); } return result; } int main() { cout << calcspecial(40, 40) << "\n"; cout << calcspecial(200, 50) << "\n"; cout << calcspecial(100, 300) << "\n"; return 0; } 1 اقتباس
السؤال
Mohamed Ahmed181
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.