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

تعليم c++

مغلق
بدأه حمزة أحمد في 2 مايو 2005 · 19 رد · 4,214 مشاهدة · في المواضيع والدروس
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الدرس الأول

: كيفية فتح c++ من لغة visual c++ 6.0

• قم بتثبيت visual studio 6.0

• افتح visual c++ 6.0 كما بالشكل

cpp1.gif

• افتح File ثمnew

cpp2.jpg

اختار كما بالشكل

cpp3.jpg

• ثم اضغط Ok

cpp4.jpg

cpp5.jpg

اضغط File – New مره أخري

سيظهر لك الآتي

cpp6.jpg

وبذلك تكون قد فتحت صفحة لل c++

cpp7.jpg

ملحوظة :

يمكن فتح الـ c++ من برنامجه الأصلي ألا وهو Borland c++

ويكون من المسار الآتي E:\BC\BIN\BC.EXE

وهذا البرنامج متوفر لدي

واذا لم تستطع الحصول علية يمكنك مراسلتي مساحته 2 ميجا فقط

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#2

الفصل الثاني: بداية المسير

سوف نعتمد في هذا الكتاب علي الشرح بالأمثلة ونبدأ بمثال بسيط جداً وهو برنامج يقوم بعرض هذه الجملة “Hello”

ويكون الكود كالآتي

#include<iostream.h>

void main( )
{
	cout<<”Hello”;
}

شرح الكود

1- main ( ) : هي أساس البرنامج ويبدأ البرنامج ببدايتها وينتهي بانتهائها

وبدايتها نعبر عنه بالقوس { ونعبر عن نهاية البرنامج بـ }

2- void : سوف يتم شرحها في درس الدوال ويمكن استبدالها بـint

ولكن يجب ان نضع في نهاية البرنامج جملة return;

ويكون الكود كالأتي

ويكون الكود كالآتي

#include<iostream.h>

void main( )
{
	cout<<”Hello”;
	return;
}

3- include<iostream.h>: تعني أن يرجع مترجم اللغة إلي الملف iostream.h بسبب استخدامك لأمر موجود فيه وهو cout<<

cout<<”Hello”;

4-

وهذا أمر معناه أن يطبع علي الشاشة كلمة Hello ويجب استخدام " تكتب هنا العبار"

علامتي التنصيص وإذا لم تستخدمها يعني أن Hello متغير ويقوم الحاسب بعرض قيمته وليس عرضه وهذا سوف يأتي ذكره في المتغيرات

أما بالنسبة -; - فيجب وضعها عند نهاية كل أمر ( ليدل علي انتهاء الأمر).

يجب حل هذه التمارين

• أكتب برنامج يعرض this is my first programe

• أكتب برنامج يقوم بعرض

WLLCOME

MY name is Hamzah Ahmed Aly

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#3

تنقسم المتغيرات إلى قسمين رئيسين :

1- متغيرات عدديه.

2- متغيرات نصيه.

أولاً:- المتغيرات العددية

أشهر هذه المتغيرات نوعان وهما

*متغيرات صحيحه integer

وتعرف في لغة السى كالأتي

int x ;

حيث x اسم المتغير

وهذه المتغيرات لا تحمل كسر

ومن أمثلتها 9 أو 8564 أو 10

ومن الأمثلة الخاطئة 10.25 أو 10/3

* متغيرات مزدوجة float

وتعرف في لغة السى كالأتي

float x ;

حيث x اسم المتغير

وهذه المتغيرات يمكن أن تحمل كسر

ومن أمثلتها 10.25 أو 10/3

ثانياً:- المتغيرات النصية

وتعرف في لغة السى كالأتي

char x ;

حيث x اسم المتغير

وهذه المتغيرات تحمل حرف أو رقم

مثل 5 أو d أو !

مثال علي المتغيرات

وهو برنامج يحسب مجموع رقمين

#include<iostream.h>
void main( )
{
	int x;
	int y; 
	int z;
	cout<<"enter the first number”;
	cin>>x;
	cout<<"enter the second number”;
	cin>>y;
	z=x+y;
	cout<<z;

}

ويتضح من هذا المثال أننا قد عرفنا ثلاث متغيرات رقميه صحيحه

وبالنسبة للأمرcin>> فإنه ينتظرمن المستخدم ادخال قيمه ووضعها داخل المتغير المكتوب بعدة وهذا الامر أيضاً موجود في ملف iostream.h

تمارين

• أكتب برنامج يحسب مربع رقم

• أكتب برنامج يأخذ عشر أرقام علي الأكثر ويحسب متوسطهم

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#4

مشكوووووووووووور اخي تابع

يعطيك الف عاااافية شرح ولا اسهل

تحياتي

52gv0m.gif
#5

• أكتب برنامج يأخذ عشر أرقام علي الأكثر ويحسب متوسطهم :( :(

#include <iostream.h>
#include <windows.h>
void welcome (void);
void bye (void);
int main ()
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED|FOREGROUND_INTENSITY);
	welcome ();
	cout << endl << endl;
	float ave , sum=0;
	int x[10];
	cout <<"    ENTER THE TEN  NUMBERS PLZ : "<< endl << endl ;
	for ( int i=0;i<10;i++)
	{
  cout << " Enter The Number " << i+1 << "=";
  cin>> x;
  cout << endl;
	}
	for ( int j=0;j<10;j++)
	{
  sum+=x[j];
	}

	ave=sum/10;
	cout << endl << endl;
    cout << " ^^^^^^^^^^^^^^^ " << endl;
    cout << "sum =" << sum <<endl<< endl;
	cout << " ^^^^^^^^^^^^^^^ " << endl;
	cout << "average ="<<ave << endl;
	cout << endl<< endl;
	bye ();
	cout << endl << endl;
	return 0;
}

void welcome (void)
{
	cout << "                           Welcome To My PrOgRaM : " << endl;
}
void bye(void)
{
	cout << "                           Thank You For USING My PrOgRaM " << endl;
}
52gv0m.gif
#6

• أكتب برنامج يحسب مربع رقم :rolleyes: :rolleyes:

#include<iostream.h>
int main ()
{
	int a,sum;
	cout << " enter the number :";
	cin>>a;
	sum=a*a;
	cout << sum<<endl;
	return 0;
}

في انتظار البقيه من الدروس :lol:

52gv0m.gif
#7

شكراً لك اخي

اكواد سليمة وكان يمكن تبسيطها اكثر

لان هذه الدروس للمبتدئين

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#8
حمزة أحمد كتب:
شكراً لك اخي

اكواد سليمة وكان يمكن تبسيطها اكثر

لان هذه الدروس للمبتدئين

:( :( :( :(

ارجو ان تتابع هذه السلسه المفيده من الدوروس

وبالنسبه للاكواد حابسطها :rolleyes: :rolleyes:

واضعها مع التمارين القادمه :lol:

تحياتي لالك

52gv0m.gif
#9

قاعدة if and if/else

وتستخدم هذه القاعده لتنفيذ أوامر معينة تحت شروط معينة

مثلاً ينفذ الامر

grad=100 اذا تحقق الشرط التالي وهو نجاح الطالب أي x='t'

وتكتب بتلك الصيغه

if(condition) statment;

أي

if (x=='t') grad=100;

أما بالنسبة لـ if/else

فيمكن إضافة أمر أخر يتحقق في حاله عدم صحة الشرط

وتكون بهذا الشكل


else
statment2;
[code]

ملحوظة
إذا أرت ان تضع عدة أوامر في حاله تحقيق الشرط أو في حالة عدم تحقيقه وبذلك بوضع أقواس مثل الأتي }{
[align=left][code]
if(condition) { statment1;
statment 2;
statment3;
}
else
{
    statment4;
    statment5;
}
 if (condition) statment1;

[/align]

ملحوظه

إذا أرت أن تكتب هذا الشرط و هو إذا تساوي المتغير x مثلاً بالقيمة 5 فتكتب بهذا الشكل x==5

أي هناك فرق بين = و ==

حيث أن

= تعني إجعل قيمةx ب 5

أما == فقارنها بها

ثانياً loops

ونعني بها تكرار تنفيذ أوامر معينة تحت شرط معين

وفي هذه اللغه أشكال ال loops ثلاثة وهم

* for

* while

* do while

ونبدأ بكفية كتابه صيغ كل منهما

أولاً for loop

وتكتب بهذه الصيغة


{
    statment1;
    statment2;
}
for(أمر أبتائي;condition;أمر ينفذ في كل مرة )


{
  grad=grad+6;  // يمكن ان نكتب هذا الامر بهذه الصيغه grad=+6

}
for( int i =0; i<5; i++)

[/align]

الامر الابتدائي وهو ان يحجز البرنامج متغير i ويجعله بـ 0

وهنا ينفذ البرنامج الأمر المكتوب في الاعلي وهو grad=+6;

ثم يلف مرة أخري ويصعد لأعلي وينفذ الامر المتغير وهو i++ والتي تعني i=i+1

ويتأكد من صحة الشرط ألا وهو i<5

فيجدة متحقق فيرجع وينفذ الامر مره أخري

وهكذا حتي تكون قيمة i اكبر من أو تساوي 5 أي لا يتحقق الشرط وهنا يخرج من loop

*while

وتكتب علي النحو التالي


{
statment1;
statment2;
}
while(conditon)

[/align]

وهنا لا يوجد أمر ابتدائي او امر متغير انما يوجد الشرط فقط *do while


{
  statment1;
  statment2;
}
while(condition)
do

]]]]س الرابع

تم تعديل هذه المشاركة بواسطة حمزة أحمد في 5 مايو 2005 في 18:25

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#10

قاعدة switch case

تعتمد هذه القاعد علي تغير متغير واحد فقط وليكن x

ويكون لكل قيمة انت تريدها للمتغير ( كشرط) اوامر

وتكون بالشكل التالي

 switch (x)

{ 
     case 1 : 

              statment 1;

               break;

        case 5 : 

               statment 2;
                 break;

 defult : 

        statment3;

}

وهكذا حيث 1 هي حالة ان يكون قيمة المنتغير واحد و5 عندما يكون قيمة المتغير 5

اما بالنسبة ل break فهي تعني بعد تحقق شرط الحالة وتنفيذ الاوامر المتعلقة بها ان يخرج البرنامج خارج قاعدة switch

وبالنسبة لـdefult اذا لم يتحقق اي شرط(لا توجد case تكون بقيمة المنتغير x )

فيحقق الاوامر المتعلقة بها زنحن لا نكتب break لانها عادةً ما تكون في أخر ال قاعدة SWITCH

* أكتب برنامج يحسب متوسط أرقام غير معلوم عددها ويحسب اصغر رقم واكبر رقم منهم :(

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#11

الفرق بين = و ==

اولاً: =

وظيفة = هي جعل المتغير الموجود في شمالها مساوياً للفيمة او المتغير الموجدو في يمينها

ولا نستطيع كتابة العكس اي وضع القيمة في شمال = لان هذا خطا يقع فيه كثير من الناس

مثل x=3

هنا يضع الكمبيوتر قيمة 3 في المتغير ولا نستطيع تبديل x بـ 3

ثانياً : ==

وهذه تعني المقارنه بين القيم الموجودة في جانبيها هل هي صحيحة ام لا اي انها جمله شرطيه

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

x==y هل قيمة x تساوي قيمة y ويمكن تبديلها بالاتي y==x

وهنا يقع كثير من الناس في خطأ و هو استخدام = بدلاً من ==

مثال

نعلم ان جمله == جمله شرطيه ان تستخدم في الشروط مثل > or <

ففي هذه الجمله

if( x==99) x= x*4;

هنا يتم الكمبيوتر بالنظر هل x تساوي 99 ام لا فان وجدها صحيحه ينفذ المر x= x*4

واما لا ينفذ

ومن الاخطاء الشائعة

كتابه الجمله ب =

if( x=99) x= x*4;

وهنا يكون الشرط صحيح دائماً

لان قيمة x ستتغير ال 99

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#12

شرح رائع .... استمر

موقعي :- www.gamesdevteam.com

#13

فعلا وبدون اي اي اي اي مجاملة او تشجيع .. الشرح رائع ومختصر .. ويؤدي الى تبسيط لغة السي ..

استمر على هذا النهج وعلى هذا التبسيط .. حتى لو لم تصل الا الى المصفوفات .. على كذا الكل رح يتعلم السي ... جزاك الله خير .

لكن اتمنى ان تضع امثلة جاهزة للتبسيط ... وان احتجت مساعدة نحن جاهزون .. مثلا في قاعدة switch case

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

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#14

السلام عليكم

اقتباس
2- void : سوف يتم شرحها في درس الدوال ويمكن استبدالها بـint

ولكن يجب ان نضع في نهاية البرنامج جملة return;

ويكون الكود كالأتي

ويكون الكود كالآتي

#include<iostream.h>

void main( )

{

cout<<”Hello”;

return;

}

لقد استخدمت أخي في الكود return مع void اعتقد انك اخطأت بكتابة الكود وقصدت استخدامها مع int

#include<iostream.h>

int main( )
{
cout<<”Hello”;
return;

بالتوفيق والى الأمام ...

#15

الأخت مبرمجـة فلسطينية ليس هـناك أي خطأ ...

استخدام الجملة return مع دالة من نـوع void بدون أن تعيد أي قيمـة تدل على انتهاء البرنـامج .... أي استخدامها هكذا:

 return;

وليس هـكذا:

 return 0;

مع أن الأمر غير عـملي وأنا أنصح دائماً بأن تكون الدالة main من نـوع int وليس void .....

أود أن أضيف هـنا حول الدالة main وما تعيد الشيء الكثير .. ولكني أخشى أن أقطع الدروس ... لذلك استمر يا أخ حـمزة وفقك الله

#16

فهمت انه يقصد من كلامه وجوب وضع return مع الدالة int وانه اخطأ الكود ..

اقتباس
ولكن يجب ان نضع في نهاية البرنامج جملة return;

ويكون الكود كالأتي

ويكون الكود كالآتي

#include<iostream.h>

void main( )

{

cout<<”Hello”;

return;

}

مع وجود void ليس من الضروري استخدام return ،، لن يحدث اي مشكلة اذا لم نستخدمها..

وكلامك صحيح أخي Sultan_Althibity ،، طبعا يجب ان نرجع قيمة عند استخدام int مع ال main او اي دالة أخرى

#include<iostream.h>

int main( )
{
cout<<”Hello”;
return 0;
}

كان فقط عدم تركيز مني عند اضافتي للرد ..

اعتذر لهذا الخطأ ..

تم تعديل هذه المشاركة بواسطة مبرمجة فلسطينية في 7 ديسمبر 2005 في 14:58

#17

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

شكراً لكم اخواني الكرام علي هذه المشاركات الجميله

وعلي هذه الحلول البسيطة

المفروض ان تعلموني :lol: :lol: :lol:

وساكمل باذن الله

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#18

:flwr:

* &&

هذه الاداه تقابل في اللغة كلمة " و" حيث تستخدم في الجمل الشرطية وكما تعلمون لكي تصبح الجمله كلها صحيحة يجب ان يكون الشرط الاول والثاني صحيحان معاً

مثلاً

الجملة الشرطية الاتية ( الشرط الاول و الشرط الثاني )

تكون صحيحة في حالة واحدة فقط وهي ان يكون كلا الشرطان صحيح

و بالتالي يكون جدول الاحتمالات لـ " و" truth table

الشرط الاول - الشرط الثاني : الجملة الشرطية

صحيح - صحيح : صحيح

صحيح - خطأ : خطأ

خطأ - صحيح : خطأ

حطأ - خطأ : خطأ

ونعطي الان مثالاً في لغة السي

if(condition1 && condition2)  statment;

يتحقق الstatment في حالة واحدة فقط وهي ان يكون كلاً من condition1 and condition2 صحيح

ويتعامل مترجم اللغة مع العبارة باختبار الشرط الاول فاذا كان صحيح يذهب الي الشرط الثاني واختبارة اما اذا كان خطأ يخرج من if نهائياً

وبالتالي

للحصول علي برنامج اسرع يفضل وضع الشرط الاول بالشرط الاكثر احتمالاً للخطأ

----------------------------------------------------------

* ||

هذه الاداه تقابل في اللغة كلمة "أو" حيث تستخدم في الجمل الشرطية وكما تعلمون لكي تصبح الجمله كلها صحيحة يجب ان يكون الشرط الاول أوالثاني صحيح أو كلاهما

مثلاً

الجملة الشرطية الاتية ( الشرط الاول أو الشرط الثاني )

تكون صحيحة في حالة ان يكون الشرط الاول أوالثاني صحيح أو كلاهما

و بالتالي يكون جدول الاحتمالات لـ "أو" truth table

الشرط الاول - الشرط الثاني : الجملة الشرطية

صحيح - صحيح : صحيح

صحيح - خطأ : صحيح

خطأ - صحيح : صحيح

حطأ - خطأ : خطأ

ويمكن ان نقولها بوجة اخر وهو ان تكون الجملة الشرطية خطأ في حالة ان يكون كلا الشرطين خطأ

ونعطي الان مثالاً في لغة السي

if(condition1 || condition2)  statment;

يتحقق الstatment في حالة ان يكون كلاً من condition1 أو condition2 صحيح أو كلاهما

ويتعامل مترجم اللغة مع العبارة باختبار الشرط الاول فاذا كان صحيح ينفذ الـ statment او يختبر الاخر

وبالتالي

للحصول علي برنامج اسرع يفضل وضع الشرط الاول بالشرط الاكثر احتمالاً للصحة

---------------------------------------------------------

* !

هذه الاداه تقابل في اللغة كلمة "ليس" حيث تستخدم في الجمل الشرطية وكما تعلمون لكي تصبح الجمله صحيحة يجب ان يكون الشرط خطأ

مثلاً

الجملة الشرطية الاتية (ليس الشرط )

تكون صحيحة في حالة ان يكون الشرط خطأ

و بالتالي يكون جدول الاحتمالات لـ "ليس" truth table

الشرط الاول : الجملة الشرطية

صحيح خطأ

خطأ صحيح

ونعطي الان مثالاً في لغة السي

if(!(condition))  statment;

يتحقق الامر(statment) في حالة ان يكون الـشرط (condition) خطأ

************************************

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#19

التعليقات comment

تلعب التعليقات دوراً كبيراً في كتابة البرامج علي الرغم من انها ليس لها اي علاقة بالمترجم (compiler) حيث ان المترجم يتغاضي عنها عند بدء تنفيذ البرنامج

وبوجة اخر فالتعليقات مفيدة للمبرمج وليس للمستخدم اي ان التعليقات لا تظهر الا في الكود وليس لها اي تاثير عند تشغيل البرنامج

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

فعندما يقوم المبرمج بكتابة اي برنامج فنه حتماً ولا بد ان ينسي المبرمج الكود والفكرة الرئيسية التبي كتب بها البرنامج

فمثلاً عندما نكتب كود ما لعمل اي وظيفة ما في البرنامج ففي كل سطر نكتب الفائدة منه او سبب كتابتة بالغت المبرمج اي اللغة الانسانية وليست لغة الكمبيوتر او لغة البرمجة

والان سوف نطرح كيفية كتابة هذه التعليقات في لغة السي ++

توع العلامة// قبل التعليقات

مثلاً

// this statment to addition the numbers

واذا اردت ان تكتب اكثر من سطر فيوضع في بداية السطر الاول */ وفي نهاية السطر الاخير /*

مثلاً

/* this order   ..
.
.
.
.... */

وهكذا

واعلم ان التعليقات لتسهيل كتابة البرنامج

وأيضاً لتسهيل كتابة البرامج يفضل كتابة اسماء المتغيرات باسماء تدل علي وضيفتها لايس باي رمز حتي يكون البرنامج اكثر سهوله للقراءة وللفهم وليس بالمعقد

مثلأً

اذا ارت ادن تكتب متغير يعبر عن رقم ID فلا يكون x بل يكون id

هذا ولله التوفيق

************************************************

باذن الله الدروس القادمة في الـfunction الدوال

فنرجو معرفة الدروس الماضية بجد

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

#20

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

هذه بعض التما رين التي تفيدكم في تعليم هذه اللغة

1- اكتب برنامج باستخدام الloop لعرض اكثر من * لتكوين هذا الشكل *

**

***

****

*****

******

*******

********

*******

******

*****

****

***

**

*

---- واخري لعمل نجمة كبيرة مكونة من هذه النجوم الصغيرة *

*-*-*-*-*-*-*-*-*-*-*-*

2- اكتب برنامج لحساب مضروب رقم وليكن x

حيث ان المضروب يعرف بهذا الرمز x!

x! = x *x-1 *x-2 *x-3 ....*3*2*1

واليك بمثال

5! = 5*4*3*2*1

-*-*-*-*-*-*-*-*-*-*

3- اوجد الأخطاء errors في هذه العبارات

a ))
For  ( x= 100 , x>= 1 , x++)
cout <<"the number is" <<x << endl <<"/n";

B))

int x;
cout<<enter the number of  <<x;
cin x;
Cout<<"Thank you";

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

:rolleyes:

تم تعديل هذه المشاركة بواسطة حمزة أحمد في 7 ديسمبر 2005 في 23:49

اتق الله حيثما كنت واتبع السيئة الحسنة تمحها وخالق الناس بخلق حسن

منتدي هندسة الحاسبات

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

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