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

قاموس باستخدام class

بدأه norhan ahmad في 28 يوليو 2011 · 8 رد · 883 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :

ارجوا منكم مساعدتي في حل هذا السؤال وهو قاموس انجليزي - انجليزي باستخدام ال class ل 9 كلمات

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

الكود كالاتي :

# include<iostream>

using namespace std;

struct nod {

string word ;

string meaning ;

nod *link ;

} ;

nod *first, *last , *cur ;

void create ( )

{

first = new nod ;

cur = first;

for (int i = 1 ; i <= 9 ; i++ )

{

cur -> link = new nod ;

cur = cur -> link ;

}

last = cur ;

last -> link = NULL ;

}

void read ( )

{

first->word="play";

first->meaning="The conduct, or course of a game.";;

cur=first;

while( cur->link)

{

cur = cur -> link ;

cin>>v;

cin>>n;

cur = cur -> link ;

}

}

void search ( )

{

string f ;

cin>>f;

if ( cur -> word == " f " )

}

main ( )

{

create ( ) ;

read ( );

search ( );

}

وشكرا لكم

:calc:

:ty:

#2

أخي أرجوك ضع الكود في مكانه المحدد أي في هذه code.png

و وضح ماهو المطلوب يعني المشاكل التي لم تجد لها حلا

#3

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

أولا و قبل كل شيء ، عند إستعمال المحرر لكتابة الموضوع الرجاء إستعمال علامات الكود و من ثم قم بوضع الكود الخاص بك بينهما...

#include <iostream>
using namespace std;

struct nod {
	string word ;
	string meaning ;
	nod *link ;
} ;
nod *first, *last , *cur ;


void create ( )
{
	first = new nod ;
	cur = first;
	for (int i = 1 ; i <= 9 ; i++ )
	{
		cur -> link = new nod ;
		cur = cur -> link ;
	}
	last = cur ;
	last -> link = NULL ;
}


void read ( )
{
	first->word="play";
	first->meaning="The conduct, or course of a game.";;
	cur=first;
	while( cur->link)
	{
		cur = cur -> link ;
		cin>>v;
		cin>>n;
		cur = cur -> link ;
	}
}


void search ( )
{
	string f ;
	cin>>f;
	if ( cur -> word == " f " )


}


main ( )
{
	create ( ) ;
	read ( );
	search ( );
}

هكذا أفضل smile.gif ، و الآن لقد نظرت إلى الكود بعجالة ، و لاحظت أن الكود ناقص ، فأين بقية الـ if statement في الدالة search ؟

*سبقني الأخ alonso15 بما يتعلق بترتيب الكود wink.gif

تم تعديل هذه المشاركة بواسطة hamany-pirlo في 28 يوليو 2011 في 19:04

Program every day for 20 years and you will become a good programmer. Program every day for 10 years and study algorithms on the side and you will become a great programmer !

على الأقل هذا اللي سمعته ...

#4

حسناً ، أنت لم تقم باستعمال الـ class هنا بل قمت باستعمال الـ struct ، كما قمت أيضا بوضع الـ nod pointers بشكل global ، و أيضا في هذا الكود لا تحتاج إلى nod* last (لاحظ أنك لم تستعمله من أجل الدالة read و الدالة search).

كما يجب عليك تعديل الدالة الرئيسية بحيث تصبح

int main()

و أيضاً في الدالة read ، لم تقم بتعريف المتغيران v, n ، كما لا تحتاج إلى وضع

                cur = cur -> link ;

مرتين في الـ while loop

و أيضا أنت ذكرت بأنك تريد قاموس يتسع لـ 9 كلمات ، فعليك تعديل الـ for loop في الدالة create كي تصبح

for (int i = 1 ; i < 9 ; i++ )

و ذلك لأنك قمت بإنشاء node قبلها.

قم بالتعديل على الكود الخاص بك و مراجعته مرة أخرى ، و إذا واجهتك مشكلات أخرى إذكر المشكلة التي تواجهك مع محاولتك لحل المشكلة ...

Program every day for 20 years and you will become a good programmer. Program every day for 10 years and study algorithms on the side and you will become a great programmer !

على الأقل هذا اللي سمعته ...

#5

شكرا لاهتمام لكني لم افهم بعد ماذا سوف افعل لكي يصبح قاموس انجليزي

ارجوا المساعده وشكرا

#6

السلام عليكم

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

وشكرا

رمضان كريم للجميع

#7
norhan ahmad كتب:

شكرا لاهتمام لكني لم افهم بعد ماذا سوف افعل لكي يصبح قاموس انجليزي

ارجوا المساعده وشكرا

لا بأس ، و لكن ما هو الجزء الغير مفهوم ؟ هل قمت بالتعديلات المطلوبة ؟

Program every day for 20 years and you will become a good programmer. Program every day for 10 years and study algorithms on the side and you will become a great programmer !

على الأقل هذا اللي سمعته ...

#8

السلام عليكم :

أنا لم افهم ماذا سوف اعمل بالتحديد كما قلتم لي

ولكني قمت بحله كما يلي :

#include<iostream>
#include <string>
using namespace std;
struct node
{

	string worde;
	string meaning;
	node *link;

};
node *first,*last,*newnode;;
//********************************************************
node *bullding_flowrd()
{ 
string woard[]={"mange","enter","swim"};
string meaning[]={"aaa","bbb","ccc"};
first=0;
for(int i=0;i<3;i++)
{
newnode=new node;
newnode->worde=woard;
newnode->meaning=meaning;
newnode->link=0;
if(first==0)
{
first=newnode;
last=newnode;
}
else
{
last->link=newnode;
last=newnode;
}

}
last=first;
return first;
};

//*******************************************************
void search(string Finde)
{

if(last!=0)
{
if(Finde!=last->worde)
{
 last=last->link;
if(last!=0)
{
 search(Finde);
}else
 cout<<"The worde was not found"<<endl;
last=first;
}
else
cout<<last->meaning<<"."<<endl;
}
else
cout<<"you dont have any elment"<<endl;
};
int main()
{
    int d;
	string finde;
     bullding_flowrd();
	cout<<"Enter the woard"<<endl;
	cin>>finde;
	search(finde);
    cin>>d; 
}

ولكني اريد ان يكون بشكل أفضل من هذا الكود اي أسهل وملخص اكثر من هذا الكود على شكل private and public

أرجو مساعدتي لانه ضروري جدا وشكرا لكم

ولكل من اهتم في موضوعي

#9

السلام عليكم

قد قمت بتبسيط البرنامج كامل ما عدا هذا الجزء منه ارجو ان تساعدوني بصياغته بشكل اخر و مبسط فهو ضروري جدا

node *bullding_flowrd()
{ 
string woard[]={"mange","enter","swim"};
string meaning[]={"aaa","bbb","ccc"};
first=0;
for(int i=0;i<3;i++)
{
newnode=new node;
newnode->worde=woard;
newnode->meaning=meaning;
newnode->link=0;
if(first==0)
{
first=newnode;
last=newnode;
}
else
{
last->link=newnode;
last=newnode;
}

}
last=first;
return first;
};

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