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

برنامج لحل معادلة من الدرجة الثانية

مغلق
بدأه rama في 22 أكتوبر 2003 · 4 رد · 10,698 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخوتي الأعضاء عند كتابتي لبرنامج حل معادلة من الدرجة الثانية وعند كتابتي للكود التالي

# include <iostream>

# include <math.h>

using std::cout;

using std::cin;

using std::endl;

float main()

{

int b;

int a;

int c;

float d;

float q1;

float q2;

float dsqr;

cout<<"Enter a,b,c";

cin>>a;

cin>>b;

cin>>c;

d=b*b-4*a*c;

if (d<0 )

{

dsqr=sqrt(-d);

cout<<"solution Q1= "<<b/2*a<<"+"<<dsqr/2*a<<"i "<<endl;

cout<<"Q2= "<<b/2*a<<"-"<<-dsqr/2*a<<"i "<<endl;

}

if (d=0)

{

q1=-b/(2*a);

cout<<"solution is "<<q1<<endl;

}

if (d>0)

{

q1=-b-(sqrt(d))/(2*a);

q2=-b+(sqrt (d))/(2*a);

cout<<" Solution Q1="<<q1<<" Q2="<<q2<<endl;

}

return 0;

}

فإن البرنامج لا ينفذ في حال كانت دلتا أكبر أو يساوي الصفر وإنما فقط ينفذ في حال كانت الدلتا أصغر من الصفر ، لا أدري ما هو السبب ، هل يدخل في باقي الحلقات أم لا ....

الرجاء المساعدة

وهناك سؤال آخر ، كنت أتعلم على لغة الباسكال ومن جديد أتعلم لغة ال c++

في لغة الباسكال هناك أمر يقوم بتنفيذ البرنامج خطوة خطوة وسطر سطر ، وهذا ما كان يساعدني على تفهم البرنامج وتنفيذه خطوة خطوة ، فهل هناك شبيه لهذا الأمر في لغة الc++ أم لا ....

ولكم جزيل الشـــــــــــــــكر !!!!!!!!!

#2

السلام عليكم أختي rama

الكود مالش ما كان ياخذ حالة اذا كات الدلتا أكبر من الصفر أو يساوي الصفر يمكن علشان انتي ما استعملتي if else

# include <iostream>

# include <cmath>

using namespace std ;

float main()

{

int b, a, c;

float d;

float q1, q2, dsqr;

cout<<"Enter a,b,c";

cin>>a>>b>>c;

d=(b*B)-(4*a*c);

if (d<0 )

{

dsqr=sqrt(-d);

cout<<"solution Q1= "<<b/2*a<<"+"<<dsqr/2*a<<"i "<<endl;

cout<<"Q2= "<<b/2*a<<"-"<<-dsqr/2*a<<"i "<<endl;

}

else if (d=0)

{

q1=-b/(2*a);

cout<<"solution is "<<q1<<endl;

}

else

{

q1=(-b - sqrt(d))/(2*a);

q2=(-b + sqrt(d))/(2*a);

cout<<" Solution Q1="<<q1<<" Q2="<<q2<<endl;

}

return 0;

}

اخوش تيمون .....

#3

شكرا لك أخي

سؤالي الآخر هل هناك أمر يقوم بتتبع تنفيذ التعليمات في لغة c++

وهل يمكننا مراقبة تغير المتحولات اثناء التنفيذ كما في لغة باسكال

وشكــــــــــــــــــرا

#4

السلام عليكم rama

rama اسمحي لي ما اقدر اجاوب على سؤالش لان هذي اول مره استعمل فيها لغة c++ و انا طالب مستجد في كلية IT ..

و ما اعرف شو هي لغة باسكال ....

اخوك تيمون ....

#5

السلام عليكم,

سأحاول إجابتك عن السؤال الثاني.

أن قضية تنفيد البرنامج سطرا بسطر هي ما تسمى debug وهدا لا يتعلق بلغة أو بأخرى وإنما بالبرنامج الدي تستعمله للبرمجة إدا كان معاه Debugger أم لا .فمثلا إدا كنت تستعمل Visual c++ فالأمر سهل ويمكنك اتباع الخطوات التالية :

لتنفيد البرنامج خطوة خطوة ادهب إلى

build

start debug

go

أو اضغط على F5 أو انقر الإيقون الخاص بدلك في toolbar بعد هدا سيتوقف البرنامج عند السطر الأول ويمكنك أن تمشي سطرا بسطر باستعمال F10 أو الإيقونات الخاصة بدلك كما يمكنك أن تضع نقطة توقف في سطر ما بأن تدهب إلى السطر الدي تريد وتضغط على F9 وستضهر لك كرة حمراء صغيرة في هدا السطر تدل على نقطة التوقف كما يمكنك مشاهدة قيم المتغيرات وتغييرها وكل ما يصلح للديبوغاج وبعد شيء من التمرين يمكنك التحكم في جميع هده الأدوات.

أتمنى لك التوفيق وإلى اللقاء.

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

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