الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أرجو مساعدتي في برنامج CLASS

مغلق
بدأه bebe في 22 فبراير 2005 · 2 رد · 421 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

write a programme that converts a number entered in roman numerals to decimal. your programme should consist class .say roman type.an object of the type roman type should do the following:

1-store the number as a roman numeral

2-convert and stor the number into decimal

3-print the number as a roman numeral or decimal number as requested by the user

the decimal valus of the roman numerals are

M 1000

D 500

C 100

L 50

X 10

V 5

1 I

ارجو الرد علي في اقرب وقتتتت ممكن.... البرنامج غير مفهوم ارجووو شرح لي طريقة حله

#2

السلام عليكم

سوف أعطي لك إيحاء بالحل لا الحل كله ، لأن في هذا ضرر عليك

سوف تستخدمي التعليمة define# لتعرفي تلك الحروف M,L,X,V,I

إذا أردت أن تأخذي من المستخدم أرقاما بالرمانية فلا بد أن تكون الحروف capital ، ويجب أن يتم تخزينهم في مصفوفة حروف.

ثم بعد ذلك تختبري هذه المصفوفة ، وتحسبي كام مرة وجدتي حرف M وهكذا بالنسبة لباقي الحروف، وباستخدام define# ، تستطيع أن تجد الحل.

أما لو كنت تريد أن تأخذ من المستخدم رقما عشريا وتحوله إلى روماني فذلك يتم من خلال عملية mod .

بمعنى، نفرض أنه يوجد لديك رقما ما ،ستقوم بعمل عملية قسمة على أكبر رقم وهو M حيث أنه يمثل ألف ، وهذا الناتج سيقل لك كام مرة ستكرر الحرف ، أما باقي القسمة ستستخدمه في قسمته على باقي الحروف ، ولكن احذر لو ظهر معك ناتج القسمة على أحد الحروف أقل من الواحد ، فجرب الحرف الذي بعده.

نأخذ مثالا:

نفرض أن لديك الرقم 56 ، فلو قمت بقسمة 56 على M سيظهر معك الناتج أقل من الواحد ، وبالتالي عليك أن تجرب في الحرف الذي يليه ، إلى أن تجد الحرف المناسب وهو L ، حيث أن ناتج قسمة 56 على L يساوي 1 (أقصد العدد الصحيح الذي سينتج ولا يهمني الكسور) وبالتالي سيكون عندي حرف L واحد فقط ، أما باقي القسمة سيساوي 6 ، وهذا الناتج أي (6) أجرب معه نفس الطريقة التي فعلتها مع 56 ، إلى أن يصبح معي ناتج باقسي القسمة يساوي صفرا.

أظن أن هذا كافي، حتى تعتمد على نفسك.

والسلام عليكم.

System Engineer

Red Hat Certified Engineer

Red Hat Certificate Number

805010381752078

#3

مشكور جززاك الله خييير.....ولكن هل يمكنك ان توضح لي اكثثر وذالك بعطائي مثل اخرررر واوضضح..

هذا الموضوع مغلق.

مواضيع مشابهة