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

الى المميزين في++c

مغلق
بدأه alqisi في 6 أكتوبر 2003 · 3 رد · 712 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اولا:- التحية الى جميع اعضاء المنتدى

ثانيا:-انا عندي الكود هذا يتعامل مع ادخال اسماء اربعة طلاب والاسم الثاني لكل طالب ودرجات 5 اختبارات لكل طالب مع حساب المجموع والمعدل لكل طالب مع الطباعة.....

والسؤال اريد طباعة اسماء الطلاب ودرجاتهم والمجموع حسب المعدل(بمعنى صاحب اعلى معدل سينطبع اسمه اولا وصاحب ثاني افضل معدل ينطبع ثانيا ....الخ).

فأنا مبتديء في الstructures. شاكرين لكم .

#include<iostream.h>

struct student{

char firstname[10];

char secondname[20];

float test[5];

float sum,ave;

};

void fillstruct(student record[5];

{

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

{

cout<<"Enter the student firstname";

cin>>record.firstname;

cout<<"Enter the student secondname";

cin>>record.secondname;

int s=0;

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

{

cout<<"Enter a test";

cin>>record.test[j];

s+=record.test[j];

}

record.sum=s;

record.ave=record.sum/5;

}

}

void fillstruct2(student record[5])

{

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

{

cout<<record.firstname<<"\t"<<record.secondname<<"\t;

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

cout<<record.test<<"\t"<<record.sum<<"\t"<<record.ave<<endl;

}

}

int main()

{

student record[5];

fillstruct(record);

fillstruct2(record);

return 0;

}

#2

ما رأيك

#include<iostream.h>

// Please read this tow consts
#define STD_NO 2
#define DEG_NO 2


struct student
{
	char  firstname[10];
	char  secondname[20];
	int   test[DEG_NO];
	int   sum;
	float ave;
};

void fillstruct(student record[STD_NO])
{
	int s = 0;
	int i, j;
	for(i = 0;i < STD_NO;i++)
	{
  cout << "First name ";
  cin  >> record.firstname;
  cout << "Last name ";
  cin  >> record.secondname;  
  cout << "\nEnter the degree \n\n";
  for(j = 0; j < DEG_NO;j++)
  {
 	 cout << "Test " << (j + 1) << " ";
 	 cin  >> record.test[j];
 	 s += record.test[j];
  }
  record.sum = s;
  s = 0;
  record.ave = float(record.sum / DEG_NO);
  cout << "\n The next student..." << (i + 1) << endl;
  cout << "-------------------------\n\n";
	}
}
void printresult(student record[STD_NO])
{
	for(int i = 0;i < STD_NO;i++)
	{
  cout << record.firstname << "\t" << record.secondname << endl;
  cout << "Student's degree : ";
  for(int u = 0;u < DEG_NO;u++)
  {
 	 cout << record.test << "  ";
  }
  cout << "\nDegree sum : " << record.sum << endl;
  cout << "Student's average : " << record.ave << endl;
  if (i < (STD_NO - 1))
  {
 	 cout << "\n The next student...\n";
 	 cout << "-------------------------\n\n";
  }
  else
  {
 	 cout << "-------------------------\n\n";
  }
	}
}

void sortstudent(student record[STD_NO])
{
	int i, j;
	student TempStudent;
	for(i = 0; i < STD_NO; i++)
	{
  for(j = 0; j < STD_NO; j++)
  {
 	 if (record[j].ave < record[j + 1].ave)
 	 {
    TempStudent = record[j];
    record[j] = record[j + 1];
    record[j + 1] = TempStudent;
 	 }
  }
	}
}

int main()
{
	student record[STD_NO];
	// input stage
	fillstruct(record);
	// sort stage
	sortstudent(record);
	// print stage
	printresult(record);
	return 0;
}
#3

يمكن مافهمت السؤال بالضبط

انا اريد طباعة الاسماء حسب الاعلى في المعدل

مثال:- 1stname 2ndname 1 2 3 4 5 sum ave

ali ahmed 1 2 3 4 5 15 3]

ahmed ali 2 2 3 2 11 20 4

بحيث في الطباعة يطبع اسم ahmed ali قبل ali ahmed

لان معدل ahmed ali اعلى من معدل ali ahmed

#4

صراحة برنامجك يبغاله اعادة تنظيم مثل ماسوى الأخ اسماعيل وبرنامج الأخ اسماعيل شغال ميه في الميه

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

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