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

كود غريب ما الخطا

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

ما الخطا في هذا الكود

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

لا يخرج لي غير that is rong

#include < iostream >  
#include < string >  
using namespace std ;  

int main ( )  
{  

        int r;  


        char name[80], pass[80] ;  
		cout << " please Enter the name and pass ";
		cin >> name >> pass ;
if ( name =="raed"&&pass=="raed")
	{   cout<<"\nname and pass are the same:";  
        r = strcmp(name,pass);  
        cout<<"\nreturn_value = "<<r<<endl;
	}
else 
cout << " that is rong " ;


return 0 ;

}
1f557e95a4.jpg
#2

طبعاً سوف يطبع الـelse

لأنك تقارن (عنوان ذاكرة) مع سلسلة محارف

عليك باستعمال strcmp(Char array) على ما أظن و هي دالة جاهزة في مكتبة String.h تعيد إما true أو false

أو يمكنك أن تصنعها يدوياً بحلقة for تمر على كل الأحرف , حرفاً حرفاً , و تقارن معها char char :)

بالتوفيق

#3

هل اخوي هل ممكن ارى الكود للتوضيح لي اكثر

1f557e95a4.jpg
#4

اخي لان حاجزها في مصفوفة وانت عندما تدخل سوف يبقى عناصر فارغة وعندما تقارن لا ينجح لانهم فعليا غير متطابقات لان هناك عناصر فارغة فانصك باستخدام ال string بدل المصفوفة

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