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

سؤال عن معاني بعض مفردات السي بلس بلس

بدأه Dnawi في 4 مايو 2012 · 8 رد · 916 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

انا مبتدئه في لغه السي بلس بلس ولدي تساؤلات عن معاني بعض مفرداتها

اولا :

enum

مثال : enum state

{state_black,state_white,state_board_m,state_board_im,state_black_k,state_white_k};

ثانيا :

try_again:

....................

goto try_again;

ثالثا :

system("cls");

ما معنى هذه المصطلحات وهل يمكنني استخدام مصطلحات آخرى ابسط ؟

ارجوا المساعده واكون شاكره لكم

..

#2

اولا التعديد enumeration عبارة عن بديل لاستخدام الثوابت

فمثلا بدلا من ان تكتب

const int sat =0;
const int sun =1;
const int mon = 2;
...
.
..

يمكنك عمل تعديد

enum WeekDays {SAT, SUN, MON, ...};

الليبل Label

كما اسلفت انت في try_again هو تسمية لسطر يستطيع البرنامج العودة لتنفيذه وكانت هذه الطريقة مستخدمه في بعض اللغات مثل basic و Assembly

هذه الطريقه مكافئة لــ

for(int i =0; i<10; i++)
..
...
..

يمكنك عمل

int i = 0;
do_it:
..
..
i++;
if(i<10)
goto:do_it

ولكن هذه الطريقه غير منصوح بها لانها تخالف مبدأ الstructured code

في حال كنت تتسال كيف يستطيع البرنامج العود الى الليبل ، فان اسم الليبل مثلا try_again يعطي قيمه هي عنوان هذا الكود في الذاكرة وبهذه الطريقه كلما وجد المعالج كلمة goto يتم تحميل مؤشر الاوامر بهذا الموقع

بالنسبة للسؤال الاخير الدالة system تقوم بعمل امر وكانك تكتب الامر في سطر الاوامر على سبيل المثال الدوز في الويندوز والترمينال في لينكس

مثلا في ويندوز يمكنك كتابة التالي في موجه الاوامر

C:\>cd Users

المكافئ لها هو

system("cd Users");

تم تعديل هذه المشاركة بواسطة mental-driller في 4 مايو 2012 في 15:47

1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#3

لدي سوال بالنسبه للتعديد enumeration

اعيد تعريفه بـ ( const int ) كي استطيع كتابتها في الكونستركتر بشكل صحيح ؟

او كيف يمكنن كتابة enumeration في الكونستركتر ؟

ايضا بالنسبه لـ system

هل صحيح ان system("cls");

تعني تنظيف شاشه الـ Output

كي استطيع ان اخرج شيئا آخر على هذه الشاشه ؟

لك جزيل الشكر على مجهودك واسال الله ان يسهل لك جميع امورك

تم تعديل هذه المشاركة بواسطة Dnawi في 4 مايو 2012 في 16:49

#4

السلام عليكم

مرحبا أخي :)

اقتباس
بالنسبه لـ system

هل صحيح ان system("cls");

تعني تنظيف شاشه الـ Output

كي استطيع ان اخرج شيئا آخر على هذه الشاشه ؟

أظن أن هذا الكتاب سيجيب على جميع أسئلتك : الإستخدامات المتقدمة للدالة system

أترك بقية الأسئلة لبقية الأعضاء :happy:

أرجو لك التوفيق.

2
#5

شكراً لكم جميعاً

جعله الله في ميزان حسناتكم ...

#6

اختي الفاضلة لن اسرد عليكي شرحا لكن ادلك علي كتاب جميل جدااااا ويشرح ال"enumeration" بطريقة جميلة جداااا وسلسة جداا وان شاء الله ستفهمي كل هذه الاسئلة منه

رابط تحميل الكتاب هنا

ياريت تكوني استفدتي من مشاركتي هذه ولا نرجو منكم الا الدعاء

:) :) :) تحيااااااااتي :) :) :)

1
#7

كتاب كامل وشامل

تم حفظه :)

جزاك الله عني خيرا وجعله في ميزان حسناتك

شكرا جزيلا لكم

#8

الامر cls كما اسلفت اخي يقوم بتنظيف الشاشه

ولكن كنت مكانك كنت سوف اجربه في شاشة الدوز وارى ماذا يحدث !

بالنسبة للتعديد يمكنك استخدامه اينما اردت طالما انه معرف

تحياتي

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#9

لقد اتضح لي ماكنت ابحث عنه

وجدت ضالتي

جزاكم الله عني خير الجزاء

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…