البرمجة

تحويل وجمع الكسور في C++

بما أنك ترغب في تحويل الأرقام من صيغة نصية إلى صيغة عددية لأداء عملية الجمع بالكسور، يمكنك استخدام دالة atoi() المتوفرة في لغة البرمجة C++ لتحويل النص إلى عدد صحيح.

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

إليك تعديلًا على الشفرة لتحقيق هذا الهدف:

cpp
#include #include // لاستخدام strtok() #include // لاستخدام atoi() using namespace std; int main() { char input[30]; cin.getline(input, 30); char *tok; int numerator = 0; // المقام int denominator = 0; // البسط bool isNumerator = true; // تحديد ما إذا كان الجزء الحالي هو البسط أم المقام tok = strtok(input, "+/ "); // يتم فصل النص باستخدام الفواصل والمسافات while (tok != NULL) { // التحويل من النص إلى عدد صحيح int num = atoi(tok); if (isNumerator) { numerator += num; } else { denominator += num; } // التبديل بين البسط والمقام في كل دورة isNumerator = !isNumerator; tok = strtok(NULL, "+/ "); } // عرض نتيجة الجمع cout << "Sum: " << numerator << "/" << denominator << endl; return 0; }

هذا التعديل يقوم بتحويل الأجزاء النصية من الكسر إلى أعداد صحيحة، ومن ثم يقوم بإجراء الجمع. بعد ذلك، يمكنك عرض النتيجة ككسر مجمع.

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

بالطبع! سنكمل المقال بإضافة بعض التوضيحات والتفاصيل حول العملية وكيفية تحسين الشفرة لتكون أكثر فعالية ومرونة.

تحويل الكسور من النصوص إلى أعداد صحيحة

في الشفرة المعدلة، قمنا بتقسيم النص الذي يمثل الكسر إلى جزئين باستخدام دالة strtok(). ثم قمنا بتحويل كل جزء من النص إلى عدد صحيح باستخدام دالة atoi().

  • البسط (العدد الأول بعد الفاصلة) يتم تخزينه في المتغير numerator.
  • المقام (العدد الثاني بعد الفاصلة) يتم تخزينه في المتغير denominator.

جمع الكسور

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

عرض النتيجة

بعد الانتهاء من جمع الكسور، يمكن عرض النتيجة بتنسيق كسر. يتم ذلك عن طريق طباعة قيمة البسط متبوعة بالفاصلة المائية وقيمة المقام.

تحسين الكود

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

كما يمكن استخدام هيكلة بيانات مختلفة مثل الفصولة (struct) لتمثيل الكسر بشكل أكثر تنظيمًا، مما يجعل الشفرة أكثر قابلية للفهم وإدارة.

الختام

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

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

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

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

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