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

بوابة الثانوية العامة المصرية (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=372573)

secret Garden 21-09-2011 06:42 PM

سؤال في بدايات c++
 
كنت بعت استفسار للأخت ananoo كرسالة خاصة .. و قالت إن من الأفضل إني أنشر الموضوع في القسم على أساس الكل يستفيد حتي و لو كان استفساري تافه .. المهم

سؤالي :


السلام عليكم أولا
أنا لسه داخل سنة أولي حاسبات .. و أنا بتفرج على أغلب الدروس كنوع من التمهيد
في حاجة عايز أسأل فيها و أغلب اللي بيشرحوا بيهملوها مش عارف ليه

كود:

#include<iostream>
using namespace std;
int main ()
{
int x,y,sum;
cout<<"enter two numbers : ";
cin>>x>>y;
sum=x+y;
cout<<"the number = "<<x*y<<endl;
cout<<"the sum is : "<<sum<<endl;
getchar ();
getchar ();
return 0;
}

اللي عايز أسأل فيه هو أول جزء
#include<iostream>
using namespace std;

و برضه
getchar ();
getchar ();
return 0;

سؤال تاني معلش .. ايه أحسن محرر لل C++


و ده الرد ::

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

اولا اهلا بيك في حاسبات وان شاء الله تستمتع في الكلية دي وتبدع فيها باذن الله

كلامك عن السؤال الاول ده صحيح اغلب الناس بيهملوا الموضوع ده لانه غالبا لو شرحوا محدش هيستعوب ولان بعد كدة لما تتعمق في اللغة اكتر هتفهمها لوحدك
دايما كانوا في الكلية يقولوا ان اول سطرين دول بنكتبهم عشان ال cout & cin بس اعرفوهم كدة دلوقتي وانا في سنة اولى سالت فيها حد اكبر مني قالي مش لازم كل حاجة تعرفيها دلوقتي بس انا صممت فشرحهالي بس مفهمتش حاجة
انا هحاول اشرحهالك دلوقتي بطريقة مبسطة على قد ما اقدر
لغة الC++ فيها مجموعة من الlibrary كل واحدة فيهم بيبقى موجود فيها بعض الfunction اللي بتبقى ليها علاقة بحاجة معينة
زي مثلا في library اسمها cmath بيبقى فيها مجموعة من الfunction الجاهزة اللي بتعمل عمليات حسابية زي مثلا انك تجيب الجذر بتاع الرقم فبدل ما انت تعد تكتب الكود اللي يجبلك جذر مثلا ال4 هتعمل include للlibrary دي وتنادي على الfunction بتاعت الجذر كدة root(4)
فنفس الكلام برده في library تانية مسئولة عن الinput & output اللي هية اسمها iostream ومن ضمن الفنكشن اللي بتستخدم فيها حاجة زي cout او حاجة تانية زي getchar
فانت لو عاوز تاخد من الuser input بتعمل include للlibrary دي وبعدين تستخدم الfunction اللي جواها
طيب ايه بقى الnamespace ده حاجة كدة بعرف فيها identifiers معينة عشان اقدر استخدمها بعد كدة في الكود وكل الC++ standard library متعرفة في namespace واحدة اسمها std

طيب ايه هية ال getchar دي عبارة عن function موجودة في الlibrary اللي اسمها iostream طيب بتعمل ايه؟؟ بس بتقرى من الuser حرف واحد
الfunction نفسها مش بتاخد اي prameter بس بترجع حرف واحد...
مش عارفة ايه لزمتها في الكود اللي انت كتبه بس انا هكتب كود بسيط بيين ايه لزمتها

كود:

#include <iostream>

void main ()
{
        char x;
        x=getchar();
        std::cout<<x;
}


طيب هنا عملت include للiostream عشان استخدم الfunction اللي هية getchar

كتبت الmain function جواها بقى
اول حاجة عرفت char اسمه x
بعدين ناديت على الgetchar وقلتلها رجعي الoutput بتاعك في x
واخر حاجة بقى قلت اعرضلي الx دي cout<<x
'طيب ايه std:: اللي في الاول دي؟؟؟ ده لان cout ده اسم مش مفهمو بس هوة متعرف في الnamespace اللي اسمها std فبدل ما اعملusing namespace std كل ما اكون عاوزة اكتب حاجة من الnamespace دي هتكتب قبلها اسم الnamespace اللي هوة std

ملحوظة: انا كاتبة الاجابة على اساس انك عارف يعني ايه function في c++ لو لسة مش عارف الموضوع ده ممكن تقرى عنه من هنا
http://www.cprogramming.com/tutorial/lesson4.html
لو مقدرتش تفهمها ممكن ابقى اشرحها ان شاء الله

بالنسبة لاحسن محرر انا اشتغلت على borland وعلى الvisual وارتحت اكتر على الvisual للاسف مقدرش افيدك اوي يعني في الموضوع ده



أنا الحقيقة قريت الرد و ليه استفسار .. هأرجع أقوله بعدين ..

secret Garden 22-09-2011 08:49 PM

أولا شكرا جزيلا على الرد .. و الحمدلله الجزء الأول بتاع تضمين ال library بقى واضح


الاستفسار في الكود اللي حضرتك كتبتيه .. أنا قريت في الدروس إن جسم البرنامج بيبقى
int main {}
حضرتك استخدمتي void إيه الفرق
اللي قريته الفرق بين int , char ,float
و الفروق دي لما أبقى بأستخدم المتغيرات

معلش بس أنا برضه مفهمتش دالة ال getchar

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

ananoo 22-09-2011 11:24 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة secret Garden (المشاركة 3992654)
أولا شكرا جزيلا على الرد .. و الحمدلله الجزء الأول بتاع تضمين ال library بقى واضح


الاستفسار في الكود اللي حضرتك كتبتيه .. أنا قريت في الدروس إن جسم البرنامج بيبقى
int main {}
حضرتك استخدمتي void إيه الفرق
اللي قريته الفرق بين int , char ,float
و الفروق دي لما أبقى بأستخدم المتغيرات

معلش بس أنا برضه مفهمتش دالة ال getchar

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

كويس الحمد لله انك فهمت الجزء الاول

بالنسبة للmain function

هتكلم بسرعة الاول عن الfunction عامتا شكاها بيبقى ازاي
كود:

return_type  function_name(parameter list)

{

            body of the function

 

}

اول حاجة بكتبها هية نوع الداتا اللي الfunction هترجعها وبعدين اسم الfunction وبعدين اي داتا الfunction ممكن تحتجها
في الfunction body بقى لازج يبقى في كلمة return طالما الfunction ليها return type ......

نرجع بقى للmain function
هية عبارة عن function اسمها main ده اهم حاجة فيها طيب هل لازم تاخد parameter او ترجع حاجة ؟؟ لا
عشان كدة ممكن تتكتب بكذا طريقة
مبدايا void معناها "ولا حاجة "

بالنسبة لطريقة int main لو استخدمتها لازم بعد ما اخلص الfunction body اعمل return لint ودي هية الstandard

بس ممكن طالما انا اصلا مش مهتمة الفنكشن هتعمل return لايه فانا ممكن اخليها متعملش return خالص واخلى الreturn type ولا حاجة واللي هية void

عموما الصح انك تستخدم int main ولكن كان قصدي اعملها void عشان اوضح سطر return اللي كنت بتسال عنه

بالنسبة لgetchar دي function تشبه الcin بس الفرق انها شغالة على نوع واحد من الvariables اللي هوة ال char
وبتفرق عن الcin في طريقة منادتها لان getchar بتتعامل معاملة الfunction العادية
يعني الكودين دول زي بعض
كود:

#include <iostream>
using namespace std;
int main ()
{
        char x;
        cin>>x;
        cout<<x<<endl;
       
        return 0;
}

كود:

#include <iostream>
using namespace std;
int main ()
{
        char x;
        x=getchar();
        cout<<x<<endl;
       
        return 0;
}

في الكودين دول المفروض لما ارن وادخل مثلا * يطلع برده * وهكذا اي char ادخله يطلع نفسه
طبعا واضح ان الreturn type بتاع getchar هوة char
مش عارفة هل كدة الموضوع وضح اكتر ولا ايه؟؟؟

معلش انا عارفة ان طريقة شرحي في الضياع فلو في حاجة لسة مش فاهمها يارت اسال تاني :)

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

secret Garden 22-09-2011 11:47 PM

لا و الله طريقة حضرتك واضحة جدا و الجزء المميز إن حضرتك بتجيبي أمثلة

سؤال تاني معلش ... حضرتك قلتي ممكن أستخدم
std:: بدل using namespace std;
أنا لما استخدمتها و استخدمت endl ماشتغلش ..إيه المشكلة ؟؟

ananoo 22-09-2011 11:57 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة secret Garden (المشاركة 3993254)
لا و الله طريقة حضرتك واضحة جدا و الجزء المميز إن حضرتك بتجيبي أمثلة

سؤال تاني معلش ... حضرتك قلتي ممكن أستخدم
std:: بدل using namespace std;
أنا لما استخدمتها و استخدمت endl ماشتغلش ..إيه المشكلة ؟؟

ده لان endl نفسها متعرفة برده في std
فعشان متعملش ارور لازم تتكتب كدة std::endl
فهيبقى السطر في الاخر كدة
كود:

std::cout<<"hello wordl"<<std::endl;

secret Garden 24-09-2011 12:09 PM

كان أحد الأخوة نزلنا كتابC++ هنا في موضوع .. المهم في الواجب بتاع if
اقتباس:

س 1 اكتب برنامج طٌلب من المستخدم إدخال درجته ثم قٌوم البرنامج بطباعة (a,b,c,d,f ) وذالك حسب الدرجة المعطاة
ده تطبيقي

كود:



#include <iostream>

using namespace std;

int main()
{
    float a,b,c,d,f ;
    cout<<"Enter your degrees :"<<endl;
    cin>>a>>b>>c>>d>>f;
    if((a>b&&a>c&&a>d&&a>f)&&(b>c&&b>d&&b>f)&&(c>d&&c>f)&&(d>f)){
    cout<<"the sequence of the degrees is :\n"<<a<<"\n"<<b<<"\n"<<c<<"\n"<<d<<"\n"<<f<<endl;
    cin.get();
    }

    else if ((b>a&&b>c&&b>d&&b>f)&&(a>c&&a>d&&a>f)&&(c>d&&c>f)&&(d>f)){
    cout<<"the sequence of the degrees is :\n"<<b<<"\n"<<a<<"\n"<<c<<"\n"<<d<<"\n"<<f<<endl;
    cin.get();
    }

    else if ((c>a&&c>b&&c>d&&c>f)&&(a>b&&a>d&&a>f)&&(b>d&&b>f)&&(d>f)){
    cout<<"the sequence of the degrees is :\n"<<c<<"\n"<<a<<"\n"<<b<<"\n"<<d<<"\n"<<f<<endl;
    cin.get();
    }
    else if ((d>a&&d>b&&d>c&&d>f)&&(a>b&&d>a&&a>f)&&(b>c&&b>f)&&(c>f)){
    cout<<"the sequence of the degrees is :\n"<<d<<"\n"<<a<<"\n"<<b<<"\n"<<c<<"\n"<<f<<endl;
    cin.get();
    }
    else if ((f>a&&f>b&&f>d&&f>c)&&(a>b&&a>d&&a>c)&&(b>d&&b>c)&&(c>d)){
    cout<<"the sequence of the degrees is :\n"<<f<<"\n"<<a<<"\n"<<b<<"\n"<<c<<"\n"<<d<<endl;
    cin.get();
    }
    return 0;
}

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

ahmed abobakr 25-09-2011 03:09 PM

اعتقد ان حضرتك فهمت السؤال غلط

هو كان يقصد انه ياخد درجة من اليوزر ويحسب التقدير بتاعه ويقوله يقديره كام A, B , C , D ,F

بأستخدام if conditions

Grade is A , Excellent if Mark greater than or equal 85
Grade is B ,very good if Mark greater than or equal 75 and less than 85
Grade is C , good if mark greater than or equal 65 and less than 75
Grade is D Ma2bool if mark greater than or equal 50 and less than 65
grade is F if mark less than 50

اعمله كدا وان شاء الله هيشتغل تمام

secret Garden 25-09-2011 04:06 PM

شكرا جزيلا ... :)


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

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