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

ياليت تساعدوني في تكملة هالبرنامج....... عاجل

مغلق
بدأه مغترب في عذاب في 8 ديسمبر 2006 · 4 رد · 582 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

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

اولا بشرح لكم البرنامج

نقوم بادخال رقم الطالب ومن ثم اسم الطالب ودرجه فصل 1 ومن ثم درجه فصل الثاني

قمت في البرنامج باعلان عن مصفوفة من نوع الطبقه بخمس عناصر

المطلوب:-

1- داله ترجع لنا مجموع الدرجات . وهذي الداله قمت بها

2- داله تخرج لنا التقدير (( عندي فكرتها لكن يخرج لي خطاء فيها )) باستخدام switch

3- داله لترتيب الطلاب على بناء على رقم الطلاب

وهذا اللي انا قدرت عليه وهو موجود في الملف المرفق

#include<iostream>

#include<string>

#include<iomanip>

using namespace std;

class student

{

private:

string code;

string name;

float mark1,mark2;

public:

void read_student()

{

cout<<" Enter Code Of Student: "<<endl;

cin>>code;

cout<<"_______________"<<endl;

cout<<" Enter Name Of Student: "<<endl;

cin>>name;

cout<<"_______________"<<endl;

cout<<" Enter Mark1 Of Student: "<<endl;

cin>>mark1;

cout<<"_______________"<<endl;

cout<<" Enter Mark2 Of Student: "<<endl;

cin>>mark2;

cout<<"_______________"<<endl;

}

float total()

{

return mark1+mark2;

}

void write_student()

{

cout<<setw(8)<<code<<setw(8)<<" | "<<setw(8)<<name<<setw(8)<<" | "

<<setw(8)<<mark1<<setw(8)<<" | "<<setw(8)<<mark2<<setw(8)<<" | ";

}

};

void main()

{

student a[5];

for(int i=0;i<5;i++)

{

a.read_student();

}

for(i=0;i<5;i++)

{

a.write_student();

cout<<a.total()<<endl;

}

cout<<endl;

}

========================================

اما بالنسبه لفكرة التقدير اللي سبق وقلتها انا ابي اسويها عن طريق الswitch فهي كالتالي

هذي هي دالة التقرير اريد مساعدتكم في كيف اطبقها في البرنامج

void degree()

{ float x=mark1+mark2;

switch(x)

{

case 1:(x<=59)

{

cout<<"F";

break;

}

case 2:(x<=60)&& (x<=64)

{

cout<<"D";

break;

}

case 3:(x<=65)&&(x<=69)

{

cout<<"D+";

break;

}

case 4:(x=<70)&&(x<=74)

{

cout<<"C";

break;

}

case 5:(x<=75)&&(x<=79)

{

cout<<"C+";

break;

}

case 6:(x<=80)&&(x<=84)

{

cout<<"B";

break;

}

case 7:(x<=85)&&(x<=89)

{

cout<<"B+";

break;

}

case 8:(x<=90)&&(x<=94)

{

cout<<"A";

break;

}

case 9:(x<=95)&&(x<=100)

{

cout<<"A+";

break;

default;

}

}

===================

ولكن للاسف لم استطيع ان انفذها في البرنامج

student.txt

تم تعديل هذه المشاركة بواسطة مغترب في عذاب في 8 ديسمبر 2006 في 03:44

#2

البرنامج فيه أخطاء كثيرة سأحاول إصلاحها و إرسال البرنامج من جديد .

تحياتي

#3

هذا البرنامج بعد تعديله ..

#include <iostream>
#include <string>

using namespace std;

// Class Student.

class Student
{
	// Class Attributes.
	string code;

	string stuName;

	float markO, markT;

public :
	// Class Bevavior.
	void readStu ();

	void writeStu ();

	float total ();

	void grade ();
};

// Class Student Functions.

void Student::readStu ()
{
	cout << "Enter The Code Of The Student:	";
	cin >> code;

	cout << endl;
	cout << "Enter The Name Of The Student:	";
	cin >> stuName;

	cout <<  endl;
	cout << "Enter Mark #1 Of The Student:	";
	cin >> markO;

	cout <<  endl;
	cout << "Enter Mark #2 Of The Student:	";
	cin >> markT;
	cout << endl;
}

void Student::writeStu ()
{
	cout << code << "\t" << stuName << "\t" << markO << "\t" << markT << endl;

	cout << "Total : " << total() << "\t" << "Grade : ";

	grade ();

	cout << endl;
}

float Student::total ()
{
	return ( markO + markT );
}

void Student::grade ()
{
	float grd = (int)( markO + markT );

	if ( grd <= 95.0 )
		cout << "F";
	else if ( grd <= 64.0 )
		cout << "D";
	else if ( grd <= 69.0 )
		cout << "D+";
	else if ( grd <= 74.0 )
		cout << "C";
	else if ( grd <= 79.0 )
		cout << "C+";
	else if ( grd <= 84.0 )
		cout << "B";
	else if ( grd <= 89.0 )
		cout << "B+";
	else if ( grd <= 94.0 )
		cout << "A";
	else if ( grd <= 100.0 )
		cout << "A+";
}


//////////////////////////
////////////////////////////
// The Main Driver.

int main (){

	Student stu[5];

	for ( int i = 0; i < 5; i++)
	{
		stu.readStu();
	}

	for ( int i = 0; i < 5; i++)
	{
		stu.writeStu();

		cout << endl << endl;
	}

	cout << endl;

	return 0;
}

بس عندي ملاحظة : هذا أسوأ تصميم للفئات رأيته في حياتي :D

بس ما في مشاكل .. :)

#4

اخي خالد الشايع

اولا اشكرك من كل قلبي يالغالي

وماقصرت

وعلى قولتك هذا اسوء تصميم لكن حنا مبتدئين ياقلبي وهذا حدنا هههههههه

وربي ما قصرتو حبايب قلبي انتم

#5

اخوي خالد ولا يهونون اعضاء المنتدى

عزيزي ما تقدر ترتب لي المصفوفة بناء على رقم الطالب

ياليت القى مطلبي عندكم

ومشكور على اللي سويته اخوي

بس انا م بي باستخدام if...else...if ابي السويتش بس قلي طريقة التعديل

وياليت الترتيب الله لا يريكم مكروه

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

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

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

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

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

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