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

مأعرف اعمل ارراي جوا كلاس,مأعرف كيف اسوي شرط ركرجن

مغلق
بدأه طالب سي+ في 12 مايو 2007 · 1 رد · 509 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي امتحان بكره

مأعرف اعمل ارراي جوا كلاس

ابغى احد يعلمني وش الخطوات الاساسيه

الي اعملها

+++++++

مأعرف كيف اسوي شرط ركرجن

بليز ساعدوني

#2

طيب ، من السؤال الأول فهمت انك تريد عمل 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 دائماً .. بالتوفيق

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…