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

ضروري

مغلق
بدأه zam في 24 ديسمبر 2003 · 14 رد · 829 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارجو من جميع الخبراء والمبرمجين المساعده بكتابة برنامج بسيط يقوم بادخال اسماء الطلاب واقامهم ودرجاتهم في خمس مواد وحساب مجموع الدرجات وقسمتها على خمسه لحساب المعدل ومن ثم بحث الاسماء وترتيبها علما ان البرنامج عباره ان اجراءات وسجلات الرجاء المساعده في اقرب وقت ايميلي هوfahadzam@hotmail.com واوعد الجميع باني تحت الخدمه لاي طلب استطيع القيام به علما اني مبتدئا بلغة السي

#2

هلا أخوي ،،

و أكيد نحن بالخدمة بأي وقت ،، :)

بس مو أفضل إنك تعرض علينا محاولتك بعد ..؟؟

علشان نعرف لفييين إنت واصل ..؟؟

و إيش الفكرة اللي ناقصتك ..؟؟

و تحية لك ،،

أختك ،، العصامية ،،

#3

مشكوره اختي على الرد انا حاولت بعمل بعض الاجراءات ولكن ماعندي الخلفيه الكافيه اني اربطها باجراء رئيسي وعمل سجللكل طالب

#4

وين ردودكم اخواني

#5

I would like to know more about the specs of the program. What data structure are you looking for? what level are you at ? should use pointers or not ? what other operation beside (1)inserting (2) sorting (3) displaying?

Please be more specific in order to help you :)

Mutix.up

#6

اي شي المهم بلغة السي ويعطينا نفس العمل

وهو ادخل اسماء الطلاب ودرجاتهم وارقامهم ويحسب المجموع ليعطيني المعدل ثم اذا اردت البحث عن اسم طالب معين سواء مؤشرات او غيره ومشكووور اخوي

#7

??????????????????????

هذا برنامج عن البحث اتلخطي والثنائي بس طبعا على مصفوفه عدديه وليست حرفيه

#include <iostream>

using namespace std;

int menu(void);

void LinerSearch (int a[],int,int);

void BinarySearch (int a[],int,int);

int main(void)

{

int choice;

char ans; // Answer to last qwestion.

const int N=100;

int n,key,a[N];

cout<<"Enter number of elements (<=100):";

cin>>n;

cout<<"\nEnter the array of elements:\n";

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

{

cout<<"a["<<i+1<<"]=";

cin>>a;

}

cout<<"\nEnter the key value to search:";

cin>>key;

do {

choice = menu();

switch (choice)

{

case 1: LinerSearch (a,n,key); break;

case 2: BinarySearch (a,n,key); break;

case 3: {cout << "\n\tThank You....";

return (0);

};break;

default:

cout << "Wrong choice .. Try again\n";

}

cout << "\n\n Do you you want to try again (y=yes)? ";

cin >> ans;

} while(ans == 'y' || ans == 'Y');

return (0);

}

//***********************************************

int menu(void)

{

int c;

cout << "\n\n\n\t Choose one of the following: " << endl

<< "\t\t 1 - Liner Search."<<endl

<< "\t\t 2 - Binary Search."<<endl

<< "\t\t 3 - Exit."<<endl

<< "\t Enter your choice: ";

cin >> c;

return c;

}

//***********************************************

void LinerSearch (int a[],int n,int key)

{

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

{

if(key==a)

{cout<<"\nTHE KEY IS FOUND AT\t"<<i+1<<endl;

return;

}

}

cout<<"\nTHE KEY NOT FOUND"<<endl;

return;

}

//************************************************

void BinarySearch (int a[],int n,int key)

{

int first= 0;

int last= n-1;

while (first < last)

{

int mid=(first+last)/2;

if (a[mid]==key)

{cout<<"\nTHE KEY IS FOUND AT\t"<<mid+1<<endl;

return;

}

else if (key < a[mid])

last=mid-1;

else first=mid+1;

}

cout<<"\nTHE KEY NOT FOUND"<<endl;

return;

}

وهذا برنامج ترتيب فقاعي ايضا ليس لمصفوفه عدديه هذي للاستفاده للجميع وارجوا من يعرف عمل برنامجي المطلوب مساعدتي فلا يوجد لدي وقت كثير لتسليم هذا المشرووع

#include <iostream>

using namespace std;

int menu(void);

void BubbleSort (int a[],int);

int main(void)

{

const int N=100;

int n,a[N];

cout<<"Enter number of elements (<=100):";

cin>>n;

cout<<"\nEnter the array of elements:\n";

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

{

cout<<"a["<<i+1<<"]=";

cin>>a;

}

BubbleSort (a,n);

cout<<"\n\n******************* Result of Bubble Sort *******************\n\n";

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

{

cout<<"a["<<i+1<<"]="<<a<<endl;

}

return (0);

}

//************************************************

void BubbleSort (int a[],int n)

{

int t;

for (int i=0; i<n-1; i++)

for (int j=1; j<n; j++)

if (a<a[j])

{t= a;

a=a[j];

a[j]=t;

}

return;

}

#8

أبشر يا خوي ،، بإذن الله ،،

و اعتذر لإنشغالي قليلاً ،،

و راح أعطيك بإذن الله ،، التعديلات الطفيفة على البرنامج ،،

أختك ،، :)

#9

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

#10

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

#11

هلا أخوي ،،

معليه عالسريع عدلتها لك ،،

و خليتها بالسجلات ،، ( structure ) ،،

و يدخل الإسم و الخمس درجات لكل طالب ،،

و يبحث عن إسم الطالب بكلا الحالتين ،،

وكان نفسي أرتبها لك أكثر ،، بس خفت أتأخر عليك ،،

و على فكرة ،،

الترتيب الثاني فييه غلط ( logical error ) ،،

ياليت تنتبه لها ،، :)

و لو مداني ،، بأعمل لك ال( الترتيب ) ،،

بس ياليت لو تحاول فيها ،، :)

و نحن بالخدمة ،،

و اعتذر لتأخري مرة أخرى ،،

و لو طريقتي غلط ،، فلا تتردد ،،

أختك ،، :)

#include <iostream>
#include <string.h>
using namespace std;

struct stud
{
char name[30];  
float mark[5]; // 5 lesson
};

const max=100; //global variable

int menu(void);
void LinerSearch (stud s[100],int n,char key[30]);
void BinarySearch (stud s[100],int n,char key[30]);


int main(void)
{
	stud s[100]; 
int choice;
char val[30], ans; // Answer to last qwestion. 
int n;
cout<<"Enter number of elements (<=100):";
cin>>n;
cout<<"\nEnter the array of elements:\n";
for (int i=0;i<n;i++)
{
cout<<"Entrer the name of student number "<<i+1<<" = ";
cin>>s.name;

cout<<"\n\nEnter the Mark of student :";
for(int j=0;j<5;j++)
{
cout<<"\n Mark"<<j+1<<"=";
cin>>s.mark[j];
}
}
do {

cout<<"\n\n*********************************************\n\n\n";
cout<<"\nEnter the key value to search:";
cin>>val;


choice = menu();

switch (choice)
{ 
case 1: LinerSearch (s,n,val); break;
case 2: BinarySearch (s,n,val); break;
case 3: cout << "\n\tThank You....";
break;

default:
cout << "Wrong choice .. Try again\n";
}
cout << "\n\n Do you you want to try again (y=yes)? ";
cin >> ans; 
} while(ans == 'y' || ans == 'Y');

return (0);
}

//***********************************************
int menu(void)
{
int c;
cout << "\n\n\n\t Choose one of the following: " << endl
<< "\t\t 1 - Liner Search."<<endl
<< "\t\t 2 - Binary Search."<<endl
<< "\t\t 3 - Exit."<<endl
<< "\t Enter your choice: ";
cin >> c;
return c;
}
//***********************************************
void LinerSearch (stud s[100],int n,char key[30])
{
for (int i=0;i<n;i++)
{
if(strcmp(key,s.name)==0)
{cout<<"\nTHE KEY IS FOUND AT\t"<<i+1<<endl;
break;}
}
if(i==n)
cout<<"\nTHE KEY NOT FOUND"<<endl;

}
//************************************************
void BinarySearch (stud s[100],int n,char key[30])
{
int first= 0;
int last= n-1;
while (first != last)
{
int mid=(first+last)/2;
if (strcmp(s[mid].name,key)==0)
{cout<<"\nTHE KEY IS FOUND AT\t"<<mid+1<<endl;
break;//return;
}
else if ((key,s[mid].name)<0)
{last=mid-1;}
else {first=mid+1;}
}
if(first==last)
cout<<"\nTHE KEY NOT FOUND"<<endl;
return;
}
#12

انا حاب اشكرك فعلا من كل قلبي انك ساعدتيني ومشكووووووووووووووووووووووووووووووووووووووووووووررررره كثير وماني عارف ويش بقول وإن شاء الله ماتوقعين بورطه بس اذا لاسمح الله إن شاء الله انا الي بساعدك اوكي

#13

الله يسعدك يا خوي ،، :)

وماعملنا شئ ،،

و نبتغي فقط ،، الأجر و الدعاء بظهر الغيب إن شاء الله ،،

و إن احتجت شئ ،، أكيد ماراح أتردد بسؤالكم أعضاء هذا المنتدى ،،

-0-0-0-0-

أخوي zam ،،

ممكن تتأكد من الكود لو كان هو المطلوب 100 بالمية ،،؟؟

و أي شئ ناقص بأكمله اليوم إن شاء الله ،،

و أعتقد الترتيب فقط ،، :)

بس مدري ؟؟؟

هناك أنواع كثيرة لترتيب البيانات ،،

و أسهل نوع bubble sort ،،

فأية وحدة تحتاجها ؟؟؟

وتحية لك :)

#14

لا خلاص اختي انتي سويتي اللازم واجراء الترتيب إن شاء الله بحاول فيه بس كنت بسألك لو اردت جمع الدرجات المدخله وقسسمتها على 5 يكون باي اجراء

#15

هلا أخوي ،،

أتمنى إني أكون فهمت قصدك من السؤال ،، :)

أولاً ،،

نعرف متغير داخل الدالة الرئيسية ،، و من نفس نوع الـ

 float mark[5];

يعني بيكون فرضاً ،،

float sum;

وبما إنه عندنا أكثر من طالب فمن الأفضل ،، إننا نخليها مصفوفة ،، كالتالي :

float sum[max];

-----------------------------------------

2 - نعطيها قيم إبتدائية ،، بالفور لووب ،،

for(int i=0; i<n; i++ )
sum=0;

------------------------------------------

3 - نبدأ نجمع ،،

for (int i=0;i<n;i++)
{
for(int j=0;j<5;j++)
{
sum+=s.mark[j];
}
}

------------

القسمة :

4 - أظن المقصود ،، إيجاد المتوسط ،، :)

يعني بنوجد مصفوفة لتخزين ناتج القسمة ،،

float avg[max];

و نبدأ نقسم على 5 ،،

for(int k=0; k<n;k++)
avg[k]=sum[k]/5;

------------------------------

و إن شاء الله بيكون صحيح ،،

تحياتي لك ،، :)

تم تعديل هذه المشاركة بواسطة العصاميه في 30 ديسمبر 2003 في 02:13

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

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