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

بس سؤال اذا ممكن

مغلق
بدأه mautez في 21 مارس 2007 · 3 رد · 562 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا سمعت إنو قي شي اسمه بلسي

struct ooo refernas

ممكن أعرف شوية معلومات عنهم

#2

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

1-struct

تستطيع أعتباره سجل يخزن أنواع مختلفة من البيانات على سبيل المثال سجل الموظفين الذي يحتوي على اسم الموظف ورقم هاتفه .

struct employ
{
char name[100];
int phonenumber;
}

تعرف struct خارج الدالة main() وتسخدمها داخل الدالة main() هكذا

int main()
{
//declare variable of type employ
employ emp1;
//initilizing structure variable
emp1.name="Ahmed";
emp1.phonenumber=1524;
return 0;
}

2-refrence

على ما اعتقد عنوان متغير ما في الذاكرة يدعى refrence , مثلاً عند تعريف متغير من نوع عدد صحيح integer

int x=5;

cout<<x;

اما أذا أردت طباعة عنوان المتغير x ما عليك سوى ان تسبقة بـ &

cout<<&x;

عندما تريد خزن عنوان المتغير x يجب ان تستخدم نوع من المتغيرات التي تدعى مؤشرات pointer وظيفتها خزن العناوين فقط,

تعريف مؤشر من نوع integer

int *ptr;

أسناد عنوان المتغير x الى المؤشر ptr

ptr=&x;

طباعة عنوان المتغير x عن طريق المؤشر تتم بالصورة التالية

cout<<ptr;

اما قيمة المتغير x سيتم طباعتها عن طريق المؤشر بالصورة التالية

cout<<*ptr;

اما أذا اردت طباعة عنوان المتغير ptr نفسة هكذا

cout<<&ptr;

تم تعديل هذه المشاركة بواسطة flame_man2007 في 22 مارس 2007 في 14:09

#3

أنا فهمت شوي بسي بعد إذنك ممكن مثال والله يجزيك الخير

#4

أليك هذا المثال البسيط عن struct , عبارة عن سجل يحتوي على اسم الطالب ودرجتة النهائية والنتيجة, ما سنقوم بة هو بناء سجل struct يحتوى على ثلاث متغيرات هي أسم الطالب ودرجتة ونتيجتة هل هو راسب ام ناجح , لكي تبني سجل يجب أن تبدء بالكلمة المحجوزة struct متبوعة بألاسم الذي تختارة لسجلك ثم تعرف المتغيرات في block السجل,

struct student
{
	   char name[100];
	   int Degree;
	   bool pass;
};

لكي تصل الى المتغيرات الموجودة في struct يجب أن تعرف كائن من النوع الذي انشأتة هكذا

student my_student

ألان تسطيع أن تصل الى جميع أعضاء السجل student وذلك عن طريق الكائن الذي عرفتة متبوعة dot ثم أختر احد اعضاء السجل لتهيئة بالقيم المطلوبة مثلاَ

my_student.Degree=77;

ولطباعة محتويات السجل يجب ان تصل الى اعضاءة عن طريق الكائن الذي عرفتة , نفس عملية التهئية بالضبط مثال

cout<<my_student.name<<"\n";
	cout<<my_student.Degree<<"\n";
	cout<<my_student.pass<<"\n";

هذا المثال بأكامل

#include <iostream>
#include <string>
using namespace std;
struct student
{
	   char name[100];
	   int Degree;
	   bool pass;
};
int main()
{
	//declare two students of type student
	student my_student[1];
	//initilizing data for the two students
	//for first student
	strcpy(my_student[0].name , "ali");
	my_student[0].Degree=86;
	my_student[0].pass=true;
	//for first student
	strcpy(my_student[1].name,"khalid");
	my_student[1].Degree=46;
	my_student[1].pass=false;
	//disply student record
	for(int i=0;i<2;i++)
	{
	cout<<my_student.name<<"\n";
	cout<<my_student.Degree<<"\n";
	cout<<my_student.pass<<"\n";
	}
	system("PAUSE");
	return EXIT_SUCCESS;
}

***************************************************************************

تم تعديل هذه المشاركة بواسطة flame_man2007 في 23 مارس 2007 في 10:00

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

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