التعرف على السجلات structure في لغة سي بلس بلس C++ الدرس |15| - Programmer Tech

Programmer Tech

موقع تعليم مجاني يهتم بتعلم البرمجة و علوم الكمبيوتر, أمن المعلومات, القرصنة الأخلاقية, سكربتات

إعلان اعلى المقالة

السبت، 26 سبتمبر 2020

التعرف على السجلات structure في لغة سي بلس بلس C++ الدرس |15|


السجلات structure

هي مجموعة من البيانات المختلفة في النوع (أي يكون بعضها من نوع int و بعضها char و بعضها float ....الخ) مع بعضها البعض بحيث يمكن التعامل معها كوحدة واحدة.

مثلاً لكتابة برنامج لتسجيل بيانات موظفين في الشركة نحتاج لتخزين :

1-اسم الموظف و هو من نوع مصفوفة حرفية char name[40].

2-عنوانه وهو من نوع مصفوفة حرفية char address[40].

3-عمره متحول من نوع عدد صحيح int age.

4-راتبه متحول من نوع عدد حقيقي float salary.

 

كما نلاحظ فإن جميع هذه البيانات يجب التعامل معها كوحدة واحدة لأنها لموظف واحد, لذلك فإننا بحاجة إلى سجل خاص لهذا الموظف.


الإعلام عن سجل

للتصريح عن سجل نستخدم الكلمة المحجوزة struct و هي اختصار لكلمة structure و معناها تركيب, و نضع جميع مكونات هذا التركيب ضمن قوسين و نختم التصريح بفاصلة منقوطة بعد القوس الثاني ثم يتم التصريح عن متحول خاص لهذا السجل ضمن القائمة الرئيسية للبرنامج.

يتم التصريح عن السجل بأحد الطرق الآتية

#include <iostream.h>
struct employee   //اسم السجل
{
--------;
--------;
--------;
--------;
};       //يجب وضع الفاصلو المنقوطة سيمي كولن
void main()
{
struct employee emp;     //نصرح عن متحول خاص بالسجل


نوضح ما سبق بصورة

 

كما نلاحظ فإننا كتبنا السجل و بداخله جميع المتحولات الموجودة و ثم بدأنا بكتابة البرنامج بالعبارة المعتادة void main() و ثم صرحنا عن متغير خاص بهذا السجل, طبعاً نختار اسم المتحول كيفياً و ثم نتابع كتابة البرنامج.


كيفية كتابة المتحولات داخل السجل

#include <iostream>
struct employee
{
char name[40];  //مصفوفة لكتابة اسم الموظف
char address[40];   //مصفوفة لكتابة عنوان الموظف
int age;    //مصفوفة لكتابة عمره
float salary;   //مصفوفة لكتابة راتبه
};
//نصرح عن متحول خاص بهذا السجل كالتالي
void main()
{
struct employee emp;
 

نوضخ ماسبق بصورة

 

كيفية ادخال و إخراج المعلومات داخل السجل

عندما نريد مثلاً إدخال عمر الموظف فإننا نكتب cin>> emp . age; و عندما نريد ادخال اسم الموظف نكتب cin>>emp . name; و لا نكتب الأقواس عندما نريد إدخال الإسم كاملاً كما تعلمنا في المصفوفات, أما عندما نريد إخراج أي قيمة فإننا نستبدل cin بـ cout كما هو معروف.

كما يمكننا ان نعلم عن التصريح بطريقة أخرى كما يلي

void main()

{

struct employee

{

-------;

-------;

-------;

-------;

}; //ونكمل البرنامج


مثال

اكتب برنامج يقوم بطباعة معلومات طالب و علامته و رقم الأيدي لهذا الطالب.

#include <iostream>
using namespace std;

struct student
{
    int id;
    string name;
    int grade;
};
int main()
{
    student stu;
    stu.id=1;
    stu.name="sajo";
    stu.grade=60;
    cout << stu.id <<endl;
    cout << stu.name <<endl;
    cout << stu.grade <<endl;
    return 0;
}

صورة للكود و نتيجته من المحرر


 كما لاحظنا بالمثال السابق سجلنا بيانات الطالبة sajo و علامتها و الأيدي و طبع لنا بياناتها, ماذا إذا كان لدينا اكثر من طالب كيف ستكون البيانات؟.


مثال

اكتب برنامج يقوم بطلب من المستخدم بإدخال بيانات 4 طلاب يطلب الأيدي و الأسم و العلامة.

#include <iostream>
using namespace std;

struct student
{
    int id;
    string name;
    int grade;
};
int main()
{
    student stu[4];
    for(int i=0;i<4;i++)
    {
    cout <<"enter info student" <<i+1 <<endl;
    cin >> stu[i].id;
    cin >> stu[i].name;
    cin >> stu[i].grade;
    }
    for(int i=0;i<4;i++)
    {
    cout << stu[i].id <<endl;
    cout << stu[i].name <<endl;
    cout << stu[i].grade <<endl;
    }
    return 0;
}

 

صورة للكود من المحرر


كما لاحظنا في المثال عند تشغيل البرنامج طلب مننا ادخال بيانات الطالب الأول ثم ضغطنا انتر و طلب بيانات الثاني و الثالث فالرابع ثم طبعهم لنا.

 

لمشاهدة الدرس على يوتيوب للإستيعاب اكثر اضغطوا على صورة اليوتيوب الآتية ليتم تحويلكم للفيديو


لتحميل البرامج المشروحه بهذا الدرس اضغط على الصورة الآتية

ليست هناك تعليقات:

إرسال تعليق

facebook

تسميات

تواصل معنا

Translate

أخر الافكار

من انا

authorمبرمجين ويب و محبين للتقنية و الشبكات و امن المعلومات و سوف نقدم لكم الافضل إن شاء الله
أعرف المزيد ←

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *

اقسام