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

^_^ سوال بسيط

بدأه Mr.Raed في 14 مارس 2011 · 6 رد · 604 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الســلآم عليكم

كيف حال اعضاء منتدانا الكرام ^_^

ممم هاذي المرة جاي بسوال جديد ما الفرق بين ' و " ومتى نستخدمها

السوال الثاني هذا الكود

# include < iostream >
using namespace std ;
int main ( ) 
	{ 
	int mark ; 
	cout << " please enter the grade " ;
	cin >> mark ;
	if ( mark >= 95 )
		cout << " A+ " ;
	else if ( mark >= 90 && mark < 95 )
		cout << " A " ;
	else if ( mark >= 85 || mark <90 )
		cout << " B + " << "\n " ;
	else if ( mark >= 80 && mark < 85  )
		cout << " B " << "\n "  ;
	else if ( mark >= 75 && mark < 80  ) 
		cout << " c + " << "\n " ;
	else if ( mark >= 70 && mark < 75   )
		cout << " c " << "\n " ;
	else if ( mark >= 65 && mark < 70   )
		cout << " d + " << "\n " ;
	else if ( mark >= 60 && mark < 65 ) 
		cout << " d "<< "\n "  ;
	else 
		cout << " f "  << "\n" ;

		return 0 ;
	}

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

else if ( mark >= 85 || mark <90 )

انا تعمدت اضع or

بدل and

لكي الاحظ ما الفرق

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

او انها زي بعض ^_^

1f557e95a4.jpg
#2

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

أخي الفاضل هذه العلامة " تستخدم للإحاطة بالمتغيرات النصية (و إذا أردت تستطيع استعمالها للمتغيرات من نوع( char)

أما علامة ' فتستعمل للإحاطة بالمتغيرات من نوع char فقط و قد يكون هناك استعمالات أخري لا أذكرها الآن

هذا بالنسبة للسؤال الأول

أما الثاني

فهذه الجملة

        else if ( mark >= 85 || mark <90 )
                cout << " B + " << "\n " ;

لن يتم الوصول إليها أساسا إلي إذا كانت الدرجة بالفعل أقل من 90

#3
اقتباس
الســلآم عليكم

و علیک السلام یا رائد..

اقتباس
ممم هاذي المرة جاي بسوال جديد ما الفرق بين ' و " ومتى نستخدمها

نستخدم ' single quote لتحدید حرف واحد ( single character)

و نستخدم " double quote لتحدید سلسلة من الحروف (string )

مثلا:

char ch='M';

و

char* mr="Mr.Raed";

و بالنسبة لسوالک الثانی، جرب عدد 0 ستری یعطیک تقییم B+ :)

و هذا بخطأ،

لأن إن کان العدد أقل من 90 فالشرط صحیح و سیعطیک B+ و لا یبحث عن شروط الآخر...

لکن ان تضع and ، فیجب ان یکون العدد اکثر من 85 و اقل من 90، ان ما کان هکذا، فسیقرأ شرط التالی..

و کما تعلم فی and یجب ان یکون کلاهما صحیح، ان کان أحدهما false ، فالنتیجة هی false

و لکن فی or لا یجب ان یکون کلاهما صحیح، ان کان احدهما true فإذ النتیجة ایضا true..

لهذا السبب فی مثالک یوجد خطأ :)

ملاحظة: آسف حینما کتبت هذا ردی ما کان رد الأخ الخوارزمی موجود..

تم تعديل هذه المشاركة بواسطة C77431 في 14 مارس 2011 في 22:18

2
#4

اهلآ اخواني يعطيكم ربي الف عافية

بس ليه لمن احط صفر يعطيني B

ماالسبب ؟؟؟

عندي سوال انا بسوي برنامج خاص لي :blush: للتعلم اللعة الانجليزية ^_^

# include < iostream > 
using namespace std ;
char main ( )
	{ 

	char word ;
	cout << " please Enter the word " ;
	cin >> word ;
 if ( word == 'book' )
	 cout << " ketab  " ;
 else if ( word =='rea' )
	 cout << "uqraa" ;
 return 0 ;
	}

يشتغل معاي بس ما يطلع الكلمة اللي ابغاه يخرجها لماذا ؟؟

تم تعديل هذه المشاركة بواسطة Mr.Raed في 15 مارس 2011 في 00:31

1f557e95a4.jpg
#5
اقتباس
اهلآ اخواني يعطيكم ربي الف عافية

بس ليه لمن احط صفر يعطيني B

ماالسبب ؟؟؟

السبب کما اخبرتک فی ردی السابق، هذا الشرط صحیح

else if ( mark >= 85 || mark <90 )

فلهذا یطبع لک B و لا یبحث عن شروط التالی یعنی هذا ( و ما بعده ):

else if ( mark >= 80 && mark < 85  )

بسبب or :)

و اما بالنسبة برنامجک المتقدم لتعلیم اللغة الانجلیزیة ( wink.gif )، الخطأ فی تعریف word..

لا اعلم هل درستم strings فی الجامعة حتی الآن أم لا،

لکن انت عرفت word من نوع char، لکن استخدمته کمثل string،

و ایضا رائد، لماذا کتبت هکذا: ؟

word == 'book'

راجع الردود فی الأعلی :)

و بارک الله فیک لهذا جهدک و اهتمامک بالدراسة :)

تم تعديل هذه المشاركة بواسطة C77431 في 15 مارس 2011 في 00:08

#6

نحن لم ناخذ سترنق ^_^

ويعطيك ربي الف عافية عروووفي ^_*

كتبتها لان

word عرفناها من نوع شار ^_^

خخخ سوري يوجد خطا فوق انا عرفتها الان char

عشان كذا كتبت '

يعني سترنق للكلام الطويل صح

هل اضع سترنق مكان شار

string word ;

هكذا

لان ادا وضعته هكذا يطلع لي خطا

1f557e95a4.jpg
#7

السلام عليكم

أيضاً نضع الحرف بينات علامة التنصيص الفردية بدون مسافة

لأن المسافة حرف

bye

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

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