يـــوم ســـعـــيـــد عـــلــــيــــكـــم جــمـــيــعـــا أخــوانــي وأخـــواتـــي فــــي الــفـــريـــق الـــعــربـــي للــبـــرمــجــة :salam: :salam:
واجهتني مشكلة في كيفية التعامل مع الـString في لغة C++ عند كتابة برنامج معين :cry: ,,
ولذلك كتبت فكرة المشكلة في برنامج صغير ليتسنى لحضراتكم الكرام الاطلاع على المشكلة حصرا دون الانشغال بالبرنامج الكبير الذي اكتبه,,
وهذا هو الكود البرمجي للبرنامج:
#include<iostream.h>
#include<conio.h>
void main(){
char x[9];
cout<<"Enter the name: ";
cin>>x;
cout<<x<<endl;
if(x=="IRAQ")
cout<<"Match";
else
cout<<"Difference";
getch();
}وعند التنفيذ, ولنفرض ادخلنا بداية كلمة (IRAQ), ستتنفذ الجملة في السطر السابع وتظهر الكلمة على الشاشة,,
لكن عند عملية المقارنة في السطر الثامن سنلاحظ ان الكلمتين لم يتطابقا (لم تنفذ جملة if, وبدلا من ذلك ستنفذ جملة else), بدلالة ان الاخراج سيكون كلمة (Difference)!!!! :hmm:
وهنا سؤالي: لماذا البرنامج لم يستطع معرفة ان الكلمتين متطابقتان في جملة المفارنة (if) ؟؟!! :mad: :tantrum:
وجربت بأن أضيف الحرف (\0) الى نهاية الكلمة في جملة المقارنة (الحرف الخامد) لكني لم افلح في الحصول على مرادي,, :wacko: :blink: