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

كود بسيط بس محيرني

مغلق
بدأه المبرمج الحائر في 21 مارس 2006 · 7 رد · 884 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وبعد

هذا يا شباب كود يعطينا اسم الكورس اللي الطالب فيه المهم

يطلب منا ادخال اسم الطالب الأول (h)

ثم يطلب اسم الطالب الثاني (h)

ثم يقول welcom للطالب الأول :D :D

ام الطالب الثاني فما يكتب أمامه شي ولا يقوله ولكم :( :(

عاد زعل منا الطالب الثاني :angry: :angry: وإذا ما ساعدتموه يمكن يطلع من البرنامج ويقول بس طالب واحد يكفي :wacko: :wacko:

الكود

/**********************************************************
 *                                                        *
 * way not disblaymassage in stu 2                  *
 *                                                        *
 **********************************************************/

# include <iostream>
using namespace std;

#include <string>


class sa
{
public:

	sa (string name)
	{
  setName ( name);
	}

	void setName (string name)
	{
  Name = name;
	}

	string getName()
	{
  return Name;
	}

	void displayMessage()
	{
  cout << "Welcome in arabteam2000-forum \n" << getName() << "!"<< endl;
	}
private:
string Name;
};

int main()
{
	sa stu1("ali ahmad");
	sa stu2("Fahad");
	string name;


cout << "stu1  : "<< stu1.getName()<< "\nstu2 c : "<< stu2.getName()<<endl;

cout << "stu1  : "<< endl;
getline (cin, name);
stu1.setName(name);
cout << endl;


cout << "stu2  : "<< endl;
getline (cin, name);
stu2.setName(name);
cout << stu2.getName();
cout << endl;


stu1.displayMessage();
stu2.displayMessage();// لماذا لا يعرض الاسم الثاني
return 0;
}
#2

سامحونا على الإنجليزيه اللي مشي الحال

ودعواتكم لنا

الله يوفق الجميع ووفقكم

مع تحيات المبرمج الحائر

#3

هذا الكود شغال, مافهمت كودك كتير, بس إن شاء الله هذا التعديل يكون متل ما بدك, لازم اتكون منظم اكتر في الكود تبعك:

# include <iostream>
using namespace std;

#include <string>


class sa
{
public:

sa (string name)
{
 setName ( name);
}

void setName (string name)
{
 Name = name;
}

string getName()
{
 return Name;
}

void displayMessage()
{
 cout << "Welcome in arabteam2000-forum \n" << getName() << "!"<< endl;
}
private:
string Name;
};

int main()
{
sa stu1("ali ahmad");
sa stu2("Fahad");
string name;


cout << "stu1  : "<< stu1.getName()<< "\nstu2 c : "<< stu2.getName()<<endl;

cout << "stu1  : "<< endl;
cin>>name;
stu1.setName(name);
cout << endl;


cout << "stu2  : "<< endl;
cin>>name;
stu2.setName(name);
cout << endl;


stu1.displayMessage();
stu2.displayMessage();// áãÇÐÇ áÇ íÚÑÖ ÇáÇÓã ÇáËÇäí
return 0;
}

لتنسيق الكود

تم تعديل هذه المشاركة بواسطة Asm4all في 22 مارس 2006 في 08:59

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

#4

تسلم أخوي Super_emad55 مولكن ماهو التعديل

أعيد السؤال

هذا البرنامج اول ما يتم فتحة يكتب

stu1: ali(اسم الطالب الأول افتراضي)

stu1: fahad(اسم الطالب الثاني افتراضي)

stu1:(يطلب إدخال اسم للطالب الأول)

ahmad

stu2:(يطلب إدخال اسم للطالب الثاني)

khled

Welcome in arabteam2000-forum

ahmad!(اسم الطالب الأول)

Welcome in arabteam2000-forum

! (المفرض انه يعطيني اسم الطالب الثاني)

وهذا الكود والنتيجة في المرفققات

ولو سمحتم وش هي خدمة مركز رفع الصور حطيت الصورة وا ادري وين راحت

Image.bmp

#5

ما المشكلة :

أنظر الملف المرفق ، لا توجد مشاكل.

. . .

....

لكنني أخمّن المشكلة أنك عندما تكتب اسم شخص ثنائي يعطيك في الرسالة الأولى اسمه وفي الثانية اسم العائلة!!

اذا كانت هذه المشكلة فالحل انك تستخدم

 cin.getline()

لأن cin>> تتلقى كلمة وعند ضغطك على زر الفراغ تنتهي جملة cin وبما انه يليها جملة cin أخرى فأنك لا تشعر انها انتهت فتضع اسم العائلة فيقع هذا الاسم في المتغير الثاني..

لإلتقاط أكثر من كلمة بواسطة cin استعمل دالة getline

post-2447-1143116618_thumb.jpg

#6

هذا الكود قمت بتعديل اشياء خاصة ، مثل : انني احب التعامل مع السلاسل الأصلية (مؤشرات) بدل string التي تستعملها...

الكود التالي يعمل حتى لو أدخلت الأسم الثلاثي للطالب.

# include <iostream>
using namespace std;

#include <string.h>


class sa
{
public:

sa (char name[256])
{
setName (name);
}

void setName (char name[256])
{
strcpy(Name,name);
}

char* getName()
{
return Name;
}

void displayMessage()
{
cout << "Welcome in arabteam2000-forum \n" << getName() << "!"<< endl;
}
private:
char Name[256];
};

int main()
{
sa stu1("ali ahmad");
sa stu2("Fahad");
char name[256];


cout << "stu1  : "<< stu1.getName()<< "\nstu2 c : "<< stu2.getName()<<endl;

cout << "stu1  : "<< endl;

cin.getline(name,256,'\n');
stu1.setName(name);
//cout << name<<endl;


cout << "stu2  : "<< endl;
cin.getline(name,256,'\n');
stu2.setName(name);
//cout <<name<< endl;


stu1.displayMessage();
stu2.displayMessage();
return 0;
}
#7

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

أولا أسف على التأخير وذلك بسبب أختبارات

ثانياً

إخواني الله يحفظكم ويرعاكم ويجزاكم خير ويجزاك خير أخوي إسماعيل ابراهيم وأخوي Super_emad55 على ردكم

وأرجوكم لا تشوفون الكود أولاً شوفو المدخلات والمخرجات

أنا سويت أبجكت اسمه stu1 ووثاني أسمه stu2

إذا المفروض إذا سويت نفس المعادلات على الأول والثاني يعطيني نفس طريقة المخرجات في الأول والثاني

بس اللي اشوفه في البرنامج انه في الرسالة الترحيبية

يطبق لي الأول صحيح ( شوف المرفقات دخلت اسم للأول وعرضه في الرسالة الترحيبية ) ممتاز

بس اسم الثاني ما يظهره في الرسالة الترحيبية ليشششششششششششش ( شوف المرفقات دخلت اسم للثاني بس ماعرضه في الرسالة الترحيبية )؟؟؟؟؟!!!!!

واستحملوني الله يجزاكم خير فحنا نتعلم من أمثالكم الصبر والفائدة

وأكرر شكري لمن رد ومن قرا الموضوع

#8

هل جربت الكود الذي اعطيتك اياه؟؟؟

لا ادري المشكلة التي تتحدث عنها لا تظهر عنديّ!!!!

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

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