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

# مساعدة أخواني الكرام في C++ functions

مغلقمُجاب
بدأه مبتدىء. في 27 فبراير 2014 · 5 رد · 857 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أحبتي الكرام : لدي مشكلة في الـدوال في لغة C++ حاولة قدر الإمكان أن افهمهآ .. واستطعت أن افهم طريقة البناء  اما الأستدعاء لم أستطيع أن افهمها  .. طريقة البناء لدوال و هي كالأتي :

 

#include<iostream.h>

البرامتر ( );

void mine()
{
هنا يتم الأستدعاء كيف يتم الإستدعاء هنا 

}

لدالة  و  نوعها ()
{

}

 لكن مسألة الأستدعاء في الدوال " functions  "  هي التي أرى فيهآ صعوبه بالغه ، لآ أعلم كيفية الأستدعاء  .. 

طلب أحد الأساتذة عمل أله حاسبه لكن بالدوال .. 

ف كتبت الآتي ويظهر لي هذا الخطاء : 
 

#include<iostream.h>
 
int sum ( int x , int y );

void main()
{
	char A;

	cout <<" enter the type operation \n";
	cin>>A;

	switch(A)
	{
	case'+':
		cout<<  sum(x,y);
		break;

	case'-':
		cout<<" ";
		break;

	case'*':
		cout<<" ";
		break;

	case'/':
		cout<<" ";
		break;

	default:
		cout<<"error"<<endl;
	}

int sum ( int x , int y )
{
	cout<<"enter tow number \n" ;
	cin>>x>>y;

	sum=x+y;
	return sum;
}
 
}

الأخطاء  الآتي .. 
 
error C2065: 'x' : undeclared identifier
 error C2065: 'y' : undeclared identifier
: error C2601: 'sum' : local function definitions are illegal.


أتمنى مساعدتي في طريقة الأستدعاء  ولكم جزيل الشكر 

تم تعديل هذه المشاركة بواسطة C++er في 27 فبراير 2014 في 15:27 — السبب: تنسيق المحتوى

#2

السلام  عليكم

 

اخي  الفاضل  بالنظر  للكود  ففي  الدالة  main

في  سطر

COUT<<Sum(x,y);

X  و  Y   لم  تعرف  داخل  الدالة  main   فبالتالي  لا  يمكنك  استعمالهم   لانهم  يخصون  الدالة  sum  

 

عرف  متغيرا ت  غيرهم  داخل  الدالة  main  وجرب   تعوض  بيهم  في  دالة  sum  

 

شوف  هذا    المثال

#include<iostream>
using namespace std;

int sum(int x,int y);

int main(){

  int z;
  int g;
  cin>>z>>g;

 cout<<sum(z,g);


	return 0 ;
}

int sum(int x,int y)
{
   int 	sum = x + y;
	return sum;

}
1

للإطلاع  على جديد  الكتب من تأليفي


 


الطريق لاحتراف تطوير المواقع   ج1 | ج2 | ج3 | ج4


 


                    4Colors | Break Out | Classic Snake | لعبة السودوكو - 2014  |  لعبة  XO                      


 


Help Dodo


 


^_^


 

#3 أفضل إجابة

أولا مرحبا بك فى قسم C++/C

ثانيا يرجى قراءة قوانين القسم قبل طرح اى مشاركات منعا لإغلاقها عند المخالفه.

ثالثا يرجى إستخدام التنسيق المناسب داخل مشاركتك و ذلك حتى نستطيع قرائتها.

 

أخيرا: قارن الكود التالي بالكود الذى كتبته و ستعرف أين الأخطاء التى وقعت فيها.

#include<iostream>
using namespace std;
 
int sum();

int main()
{
	char A;

	cout <<"enter the type operation \n";
	cin>>A;

	switch(A)
	{
	case'+':
		cout << sum();
		break;

	case'-':
		cout<<" ";
		break;

	case'*':
		cout<<" ";
		break;

	case'/':
		cout<<" ";
		break;

	default:
		cout<<"error"<<endl;
		break;
	}
}

int sum()
{
	int x, y;
	cout<<"enter tow number \n" ;
	cin>>x>>y;

	return x+y;
}

و الله ولي التوفيق

1

مدونتي: C++ Tips and Tricks

#4
AGASHE كتب:

 

السلام  عليكم

 

اخي  الفاضل  بالنظر  للكود  ففي  الدالة  main

في  سطر

COUT<<Sum(x,y);

X  و  Y   لم  تعرف  داخل  الدالة  main   فبالتالي  لا  يمكنك  استعمالهم   لانهم  يخصون  الدالة  sum  

 

عرف  متغيرا ت  غيرهم  داخل  الدالة  main  وجرب   تعوض  بيهم  في  دالة  sum  

 

شوف  هذا    المثال

#include<iostream>
using namespace std;

int sum(int x,int y);

int main(){

  int z;
  int g;
  cin>>z>>g;

 cout<<sum(z,g);


	return 0 ;
}

int sum(int x,int y)
{
   int 	sum = x + y;
	return sum;

}

بارك الله فيك أخي الكريم  /  وأسال الله لك التوفيق في الدنيا والأخرة يارب .. ، علمت مآ تعنيه جيداً ، أي يجب تعريف المتغيرات ايضأً في ..  دالة main  .. 

#5
C++er كتب:

أولا مرحبا بك فى قسم C++/C

ثانيا يرجى قراءة قوانين القسم قبل طرح اى مشاركات منعا لإغلاقها عند المخالفه.

ثالثا يرجى إستخدام التنسيق المناسب داخل مشاركتك و ذلك حتى نستطيع قرائتها.

 

أخيرا: قارن الكود التالي بالكود الذى كتبته و ستعرف أين الأخطاء التى وقعت فيها.

#include<iostream>
using namespace std;
 
int sum();

int main()
{
	char A;

	cout <<"enter the type operation \n";
	cin>>A;

	switch(A)
	{
	case'+':
		cout << sum();
		break;

	case'-':
		cout<<" ";
		break;

	case'*':
		cout<<" ";
		break;

	case'/':
		cout<<" ";
		break;

	default:
		cout<<"error"<<endl;
		break;
	}
}

int sum()
{
	int x, y;
	cout<<"enter tow number \n" ;
	cin>>x>>y;

	return x+y;
}

و الله ولي التوفيق

بارك الله فيك أخي الكريم ، جزآك الله ألف خير .. أفدتني كثيراً .. اسأل الله لك التوفيق 

#6

ممتاز عرفة الخطاء .. هو عدم تعريف Sum في دالة main 

لكن هل أحد  .. من الأعضاء الكرآم يستطيع أن يشرح لنآ طرق الأستدعاء داخل main  .. 

واسأل الله أن يوفقه في الدآرين ... 

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 1 مارس 2014 في 22:08 — السبب: تصغير الخط -_-

−1

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

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