المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : برنامج لجمع عددين عقديين


w.دبليو.w
09-21-2008, 04:54 PM
مرحبا شاب و صبايا البرمجيات

عندي سؤال لو سمحتوا الكود لبرنامج جمع عددين عقدين بس ما بيشتغل اذا حدى بساعدنا و بيقلنا وين الغلط و مشكورين سلف

#include <iostream.h>
class complex
{
float real;
float image;
public:
complex();
complex(float,float);
complex(complex &);
complex sum(complex,complex);
void print(complex);
};
complex::complex()
{
real=0;
image=0;
}
complex::complex(float r,float i)
{
real=r;
image=i;
}
complex complex::sum(complex c1,complex c2)
{
complex c;
c.real=c1.real+c2.real;
c.image=c1.image+c2.image;
return c;
}
void complex::print(complex c)
{
cout<<c.real<<c.image;
}
complex::complex(complex&c1)
{
real=c1.real;
image=c1.image;
}
void main()
{
complex c;
complex c1(13,3.2);
complex c2(8,5);
c=c.sum(c1,c2);
c.print(c);

};

Eyad
09-22-2008, 10:43 AM
السلام عليكم :
له يا طيب نحنا يلي بنسمح ولو .......

بالنسبة للبرنامج الذي وضعته انت يا سيدي لم أجد فيه خطأ سوى انه يحتاج الى قليل من الاخراج فقط (يجب أن تعمل دورة مخرج طبعا مو مخرج مسلسلات).
حسن انظر الى تابع الطباعة خاصتك كيف أصبح الان بعد قليل من الاخراج :

void complex::print(complex c)
{
cout<<"The Resulte is : Real = "<<c.real<<" And The Image = "<<c.image<<endl;
}
حسنٌ .... لا تنسى أن العدد العقدي يمكن لأحد جزأيه أن يكون سالبا وان معادلته تكون دائما بالشكل :

F = Real + i Image

لا باس عليك خذ هذا التابع (تابع طباعة آخر ) :

void complex::Print()
{
cout << "The Resulte is : " << real ;

if(image > 0)
cout << " + i" << image << endl;
else
cout << " - i" << -image << endl;
}
طبعا هو يدعم الادخال السالب للجزأين والاخراج الصحيح للمعادلة ولكي نتأكد لا بد من ادخال رقم سالب و هاك تابه ادخال بسيط جدا :

void complex::Read()
{
cout<<"\nEnter The Real Part Of Complex Number Please : ";
cin>>real;
cout<<"Enter The Image Part Of Complex Number Please : ";
cin>>image;
}
عسى في ذلك الافادة أرجو أن أكون قد أجبت على استفسارك .

والسلام مسك الختام .