عندي امتحان بكره
مأعرف اعمل ارراي جوا كلاس
ابغى احد يعلمني وش الخطوات الاساسيه
الي اعملها
+++++++
مأعرف كيف اسوي شرط ركرجن
بليز ساعدوني
عندي امتحان بكره
مأعرف اعمل ارراي جوا كلاس
ابغى احد يعلمني وش الخطوات الاساسيه
الي اعملها
+++++++
مأعرف كيف اسوي شرط ركرجن
بليز ساعدوني
طيب ، من السؤال الأول فهمت انك تريد عمل Array كـ data member داخل class ؟ اذا كان هذا هو السؤال ، فالاجابة بسيطة جداً ، تحتاج ان تعرف ال Array في الclass ثم تقوم بعملية initializing ( وضع قيمة ابتدائية لجميع عناصر المصفوفة ) ثم بعد ذلك تستخدمها في members functions الموجودة في ال class . وهذا مثال :
البرنامج فائدته انه يخزن درجات الطلاب ويطبع المتوسط Average و كذلك أعلى درجة وأقل درجة ، وايضاً يطبع Failed او Passed ( راسب ، ناجح ) .
#include <iostream>
using namespace std;
class Array
{
public:
Array()
{
for ( int i=0; i < size; i++ )
{
cout <<"Enter the mark for student number "<< i+1 <<": ";
cin >> marks;
}
}
void setMarks()
{
for ( int i=0; i < size; i++ )
{
cout <<"Enter the mark for student number "<< i+1 <<": ";
cin >> marks;
}
}
void passedOrFailed()
{
for ( int i=0; i < size; i++ )
if ( marks >= 60 )
cout <<"Student Number "<< i+1 <<" Passed\n";
else
cout <<"Student Number "<< i+1 <<" Failed\n";
}
double getAverage()
{
int total =0;
for ( int i=0; i < size; i++ )
total = total + marks;
return total / size;
}
int max()
{
int max = marks[0];
for ( int i=1; i < size; i++ )
if ( marks > max )
max = marks;
return max;
}
int mini()
{
int mini = marks[0];
for ( int i=1; i < size; i++ )
if ( marks < mini )
mini = marks;
return mini;
}
private:
const static int size = 10;
int marks[ size ];
};
int main()
{
Array myArray;
myArray.passedOrFailed();
cout <<"The Average is: " << myArray.getAverage() << endl;
cout <<"The Max mark is: " << myArray.max() << endl;
cout <<"The mini Mark is: " << myArray.mini() << endl;
return 0;
}البرنامج لم استخدم معه عمليات ال new و delete اي حجز المساحة ديناميكياً ، لاني اتوقع انك الى الآن لم تأخذها . وهذا هو سبب وضع التعريف الخاص بحجم المصفوفة كالتالي:
const static int
لاني أريد ان اضع قيمة ابتدائية للحجم size في البرنامج نفسه .
ايضاً لو تلاحظ وجود for loop دائماً عندما تستخدم array .
وكذلك عندما تقوم بمقارنة عناصر مصفوفة ، يجب ان تلتزم بالتالي :
max = marks[0];
لانك لو كتبتها هكذا :
max = 0;
احتمال وجود الخطأ وارد ( اتكلم بشكل عام وليس هذا البرنامج ) ، يمكن يكون البرنامج عبارة عن مصفوفة لدرجات الحرارة لعدد من المدن ، فوضعك للقيمة 0 يخرج لك خطأ منطقي لان درجات الحرارة ممكن تكون بالسالب ، وتخيل ان جميع المدن التي ادخلتها درجات الحرارة فيها بالسالب ؟ :) طبعا سوف تخرج النتيجة 0 دائماً .. بالتوفيق
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…