بوابة الثانوية العامة المصرية

بوابة الثانوية العامة المصرية (https://www.thanwya.com/vb/index.php)
-   كليات المجموعة الرياضية (https://www.thanwya.com/vb/forumdisplay.php?f=1688)
-   -   برمجة " دروس البرمجة مع ++c " محمد القبانى (https://www.thanwya.com/vb/showthread.php?t=71843)

msamido 10-10-2008 12:55 AM


بسم الله الرحمن الرحيم

ازيكم يا جماعه بسم الله ما شاء الله يوم عن يوم عدد المتابعين بيقل بس ومالوواا بإذن الله أنا هكمل لو فى واحد بس متابع معايا.
المهم ندخل فى درسنا علطول النهارده هنقول مثال تانى فى الـ conditionl statement IF مثال بسيط هنكمل بيه المثال السابق
لو قلنا لليوزر دخل عمرك ودخل عمر واحد صاحبك وإحنا هنقولك من الكبير فيكم " كلام فاضى أنا عارف بس أنا بس بوضح إزاى نستخدم الـ IF STATEMENT " المهم هيكون الكود بالشكل ده

كود:


#include <iostream.h>
#include <conio.h>
 
void main()
{
cout<<"please Enter Your Age : ";
int x;
cin>>x;
cout<<"please Enter Your Friend Age : ";
int y;
cin>>y;
if(x>y)
{
cout<<" You Are Older than your firend";
}
else if(x>y)
{
cout<<"Your Friend is oder than you";
}
else if(x==y)
{
cout<<"you and your frind is the same age";
}
getch();
}


الكود محتاج شرح ؟؟؟
اعتقد لا إحنا كبرنا بقى على الكلام الفاضى ده صح ؟؟؟

ندخل بقى فى حاجه جديدة النهارده
هى بردوه conditional Statement بس مختلفة شوية وهى switch case بنسميها كده وهنشوف بنستخدمها إزاى وليه ؟
بنقول إن switch case دى تعتبر دى للـ long if ... يعنى ايه تعتبر بديل للبتاعه اللى قولتها دى ؟؟
يعنى لو عندنا احتمالات كتير باستخدام if هنعملها ازاى هنقعد نقول if مش عارف ايه else if مش عارف ايه تانى else if مش عارف إيه كمان وهكذا وهكذا صح ؟؟؟
طيب ازاى بقى switch case تحل محل الكلام ده ؟؟
نقول إن switch case معناها إننا بنعمل switch على varable معين وبنقول الـ variable ده فى الـ case الفلانيه أعمل كذا وفى الـ case الفلانيه أعمل كذا وهكذا وهكذا ... إلخ
طيب نشوف مثال زى ما اتعودنا ؟؟
اتعودنا نرغى الأول وبعدين نقول مثال صح ؟؟
المثال على نفس الحالات اللى ماشيين عليها هنقول لليوزر دخل رقمين ونقوله لو عايز نتيجة الجمع اضغط 1 لو عايز نتيجة الطرح دخل 2 لو عايز نتيجة الضرب دخل 3 لو عايز نتيجة القسمة دخل 4 اوك ؟؟؟
ونشوف هو طلب إيه وننفذ على اساسه العمليه اللى طلبها
قبل ما حد يتنرفز ويقول فين الكود يا عمنا الكود أهوه :

كود:


#include <iostream>
#include <conio.h>

void main()
{
  int input;
int FrstNo;

int SecondNo;
int Result;
 
cout<<"Enter First No. : ";
cin>>FrstNo;
cout<<"\nEnter Second No. : ";
cin>>SecondNo;
 
 
  cout<<"\n For Sum (+) Enter 1";

  cout<<"\n For Sutract (-) Enter 2";
  cout<<"\n For Multiply (*) Enter 3";
  cout<<"\n For Division (/) Enter 4";
  cout<<"Selection: ";
  cin>> input;
  switch ( input ) {
  case 1:            // Note the colon, not a semicolon

{
Result = FrstNo + SecondNo;
cout<<" The Result = "<<Result;
    break;

}
  case 2:            // Note the colon, not a semicolon

{
Result = FrstNo - SecondNo;
cout<<" The Result = "<<Result;
    break;

}
 

  case 3:            // Note the colon, not a semicolon
{
Result = FrstNo * SecondNo;
cout<<" The Result = "<<Result;
    break;

}

  case 4:            // Note the colon, not a semicolon
{
Result = FrstNo / SecondNo;
cout<<" The Result = "<<Result;
    break;

}
  default:            // Note the colon, not a semicolon

{
    cout<<"Error, bad input";
    break;

}
  }
getch()

}


نبدأ شرح الكود
فى البداية libraries عادى جدا وبعدين الـ main metod واللى جواها أول حاجه بنعرف شوية variables هنستعملها بعد كده وبعدين بنطلب من اليوزر يدخل رقمين وبعدين بنشرحله لو عايز ايه يختار ايه وهكذا وبعدين بنطلب منه يدخل اختياره وبعدين بنستقبله ونحطه فى المتغير input لغاية هنا كلام عادى ومفيش جديد صح ؟؟؟
وبعدين بقى بنقول switch ونفتح قوسين () ونحط جواهم المتغير اللى عايززين نعرف حالات قيمته يعنى فى حالة إن القيمة كذا نعمل كذا وفى حاله إن القيمة كذا نعمل كذا إلخ وبعدين بنفتح اقواس مجموعه من دى {} وجواها بنحط الحالات بتاعتنا زى ما أول واحده أنا هشرحها بيقوله case 1: يعنى فى حالة إن الـ varible input يساوى 1 هنتنفذ الكود اللى جوه القوسين اللى بعدها وهو بيجمع قيمة الرقمين ويطلع النتيجة وبعدين يعمل break ودى معناها خلاص ما تدخلش فى الحالات اللى بعد كده لاننا خلصنا عرفنا الحاله هى ايه ودى مهمة جدا جدا جدا ودايما بتتنسى خدوا بالكم منها
وكذلك فى كل الـ cases اللى بعد كده 2 ,3 , 4 وفى الحالة الأخيرة اللى اسمها default دى أيضا بتعتبر حاله هى الاخرى ولكن هى دايما بنحطها فى النهاية ومعناها إن لو كان المتغير اللى احنا عاملين عليه switch مش بيساوى حالة من الـ cases بتاعتنا يبقى تنفذ الكود اللى جاى بعد كلمة default
وبكده تكون انتهت قصة طنط switch case ونتمنى يكون الشرح وافى ومفهوم وندخل بقى على الواجب والتطبيق
الكود السابق هو مثال لآله حاسبه صغيرة لكن زى ما قولنا هو بسيط أوى لدرجة إنه ممكن يكون فيه أخطاء زى مثلا لو كان الرقم التانى أكبر من الرقم الأول فى عمليه الطرح وكده زى ما قلنا فى مثال سابق
انا عايز بقى نطبق المثال الأخير ده ونتعامل فيه مع الغلطات اللى زى غلطة الطرح دى أكيد فى غلطات تانيه مش هقول عليها فكروا فيها وتعاملوا معاها وابعتولى نتايج وكود بس مش صور زى ما اتعودنا ياريت تعملوا save لملف البرنامج بتاعكم وتعملوله إرفاق وتبعتهولى أحسن ؟
يلا ربنا معاكم وربنا يوفقكم بإذن الله
...

همس 10-10-2008 05:12 AM

كمل وانا معاك يا باشمهندس تأكد من كدا

انا قرأت اول كلمتين بس من الموضوع

وانا ان شاء الله هقرا الدرس واطبقه ان شاء الله

همس 10-10-2008 06:42 AM

انا حاليا بطبق الدرس اهو ومشيت تمام لحد الكود الاول وطبقته

هو فيه غلطة بسيطة كدا
انا عملت التصحيح باللون الاحمر

اقتباس:

المشاركة الأصلية كتبت بواسطة msamido (المشاركة 823424)



كود:


 
#include <iostream.h>
#include <conio.h>

void main()
{
cout<<"please enter your age : ";
int x;
cin>>x;
cout<<"please enter your friend age : ";
int y;
cin>>y;
if(x>y)
{
cout<<" you are older than your firend";
}
else if(x<y)
حضرتك في الكود الاصلي كاتب else if (x>y)
{
cout<<"your friend is oder than you";
}
else if(x==y)
{
cout<<"you and your frind is the same age";
}
getch();
}





انا لحد هنا تمام .. جيت بقى ادخل على الجزء الجديد حسيت اني تايهة شوية :(:(

بس همشي للآخر .. ان شاء الله ربنا هيفتح عليا ...

شكرا ليك على المجهود الي بتبذله معانا

جزاك الله خيرا

ahmed abobakr 10-10-2008 11:26 AM

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

اسيبكم يومين اجى الاقى القطر فاتنى كده .والله ظروف الدراسة والسفر هيا السبب بس ان شاء الله احاول اوصل فى اليومين دول .

msamido 10-10-2008 02:32 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة همس المشاعر (المشاركة 823631)
كمل وانا معاك يا باشمهندس تأكد من كدا

انا قرأت اول كلمتين بس من الموضوع

وانا ان شاء الله هقرا الدرس واطبقه ان شاء الله

إن شاء الله أنا مكمل بإذن الله يا همس

msamido 10-10-2008 06:54 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة ahmed abobakr (المشاركة 823848)
السلام عليكم ....

اسيبكم يومين اجى الاقى القطر فاتنى كده .والله ظروف الدراسة والسفر هيا السبب بس ان شاء الله احاول اوصل فى اليومين دول .


حمدا الله على السلامه يا أبو حميد
تابع وأنا معاك إن شاء الله

اقتباس:

المشاركة الأصلية كتبت بواسطة همس المشاعر (المشاركة 823658)
انا حاليا بطبق الدرس اهو ومشيت تمام لحد الكود الاول وطبقته

هو فيه غلطة بسيطة كدا
انا عملت التصحيح باللون الاحمر


الله ينور يا همس معلش أنا بس بكتب كده من دماغى ومكنتش بطبق لأن الجهاز اللى أنا شغال عليه مفيش borland c
شكرا ليكى التصحيح

انا لحد هنا تمام .. جيت بقى ادخل على الجزء الجديد حسيت اني تايهة شوية :(:(

بس همشي للآخر .. ان شاء الله ربنا هيفتح عليا ...

شكرا ليك على المجهود الي بتبذله معانا

جزاك الله خيرا

خير بقى ايه اللى مش واضح ؟؟
وليه توهتى
قوليلى لو فى جزء مش واضح اقوله بشكل تانى
إن شاء الله
.
.

ahmed abobakr 10-10-2008 08:11 PM

الحمد لله وصلت وفهمت والتطبيق تمام بس فاضل الجزء الاخير ده هحاول معاه تانى وان شاء الله هافهمه واطبقه تمام .

msamido 10-10-2008 08:31 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة ahmed abobakr (المشاركة 824762)
الحمد لله وصلت وفهمت والتطبيق تمام بس فاضل الجزء الاخير ده هحاول معاه تانى وان شاء الله هافهمه واطبقه تمام .


واضح إن أنا مشرحتوش بوضوح

طيب ياريت بس حد يقولى إيه اللى مش واضح علشان اوضحه

ananoo 10-10-2008 11:43 PM

السلام عليكم

انا طبقت الكود الاول و كله تمام

و الكود تاني بقى الحمد لله فهمته بس في سؤال
يعني ايه الجملة ديه // Note the colon, not a semicolon

بالنسبة للواجب صعب اوي بصراحة في حكاية التغلب على مشكلة القسمة

هوة المفروض نستخدم حاجة غيرint تكون نافعة لكل الارقام مش الصحيحة بس
لو مش كدة يبقى مش نافع خالص

بس حكاية الطرح مش مشكلة لانه بيطلع بالسالب عادي و ممكن نكتب في الاول ان الرقم الاول لازم يكون اكبر من التاني

اما حكاية القسمة ديه بقى ملهاش حل (على حد علمي)
عموما انا بفكر فيها لو لقيت حاجة هبقى اقول ان شاء الله

بس يعني هوة اكيد الاجابة في اللي احنا اخدناه؟؟؟؟؟؟؟؟؟؟؟!!!!!!

msamido 11-10-2008 03:51 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة ananoo (المشاركة 825153)
السلام عليكم

انا طبقت الكود الاول و كله تمام

و الكود تاني بقى الحمد لله فهمته بس في سؤال
يعني ايه الجملة ديه // Note the colon, not a semicolon

بالنسبة للواجب صعب اوي بصراحة في حكاية التغلب على مشكلة القسمة

هوة المفروض نستخدم حاجة غيرint تكون نافعة لكل الارقام مش الصحيحة بس
لو مش كدة يبقى مش نافع خالص

بس حكاية الطرح مش مشكلة لانه بيطلع بالسالب عادي و ممكن نكتب في الاول ان الرقم الاول لازم يكون اكبر من التاني

اما حكاية القسمة ديه بقى ملهاش حل (على حد علمي)
عموما انا بفكر فيها لو لقيت حاجة هبقى اقول ان شاء الله

بس يعني هوة اكيد الاجابة في اللي احنا اخدناه؟؟؟؟؟؟؟؟؟؟؟!!!!!!

بالنسبة للكود الأول تمام

بالنسبة للكود التانى الحمد لله إنك فهمتيه
بالنسبة للجملة المذكورة أعلاه إنتى عارفه زى ما قلنا قبل كده إن اللى بيجى بعد العلامه دى // معناه إنه مجرد توضيح
والتوضيح المكتوب عايز يقول خد بالك إن بعد case 1 هى العلامه دى : واللى اسمها colone مش العلامه اللى اتعودنا ننهى بيها كل سطر واللى هى دى ; واللى اسمها semicolon

بالتسبة للواجب كلام جميل إنا كده ضمنت تطبيقك وضمنت تفكيرك بالشكل المطلوب متتعبيش نفسك بقى وتفكرى فى الحل لحين ما اقوله
إنتى بالفعل قولتيه وهو وهو إن يكون فى حاجه غير int تكون صالحة للأرقام غير الصحيحة
إنتظرينى مع الدرس القادم اللى هنتكلم فيه عن أكتر من data type بإذن الله

well done ananoo
.
.

msamido 14-10-2008 05:56 PM

ازيكم يا جماعه أنا مش عارف أبدأ درس جديد ولا فى حاجه فى الدرس اللى فات مش مفهومه ولا ايه بالظبط ؟؟
.
.

همس 14-10-2008 07:13 PM

لا لا الله يكرمك استنى بس النهاردة كدا

نزله يوم الخميس هيكون كويس ان شاء الله

وجزاك الله خيرا

انا بجد تايهة جدا

وبلف حوالين نفسي اصلا

وبرجع متأخر

بس ان شاء الله يوم الخميس حضرتك تنزل الموضوع الجديد

جزاك الله خيرا

msamido 14-10-2008 07:16 PM

طيب يا همس ما تقوليلى بس انتى تايهه فى إيه وأنا أوضح أكتر
.
.

همس 14-10-2008 07:46 PM

لا لا في الكلية يعني

والواحد تايه شوية

ويفهم دي ومش يفهم مليون غيرها

ووائل فتحي واجع اعصابنا

وبيقولنا خدوا كورس مات لاب قال

اختي قالتلي صعب عليكم دلوقتي ومش هتفهموه

وبعدين انا هلحق ايه ولا ايه

؟؟

مذاكرة ولا كورسات ؟؟

الله المستعان

msamido 15-10-2008 11:48 AM

ربنا يوفقك يا همس ومعلش فى البداية هى الكلية كده صعبة فى بدايتها بس لكن هتتعودى على نظامها والدنيا هتمشى إن شاء الله

بالنسبة للمات لاب لا لا لا لسه بدرى أوى عليه سيبك منه دلوقتى وإذا قررتى أصلا تاخدى track الـ programming فى حياتك بعد كده يبقى المات لاب مش ليه لازمه دلوقتى خالص واحتمال ولا بعدين

بالنسبة بقى للموضوع أنا بعلن إنه متوقف الآن وربما يكون للأبد هنا بس هو مش هيقف نهائى أنا هرجع أجمعه من الأول فى ملف وورد واكمله وإن شاء الله الاقيله مكان انزله فيه وهقولكم عليه بإذن الله
.
.


جميع الأوقات بتوقيت GMT +2. الساعة الآن 11:34 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.