انا سمعت إنو قي شي اسمه بلسي
struct ooo refernas
ممكن أعرف شوية معلومات عنهم
انا سمعت إنو قي شي اسمه بلسي
struct ooo refernas
ممكن أعرف شوية معلومات عنهم
السلام عليكم ممكن معلوماتي البسيطة هذي تفيدكم
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
أنا فهمت شوي بسي بعد إذنك ممكن مثال والله يجزيك الخير
أليك هذا المثال البسيط عن 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
هذا الموضوع مغلق.