en
Feedback
شيئية OOP

شيئية OOP

Open in Telegram

عمي رحمة لوالديك ولعشيرتك وللعزاز وللعراق وللشرق الأوسط، لا تكعد تحفظ الأكواد الكود فهم فهم فهم مو حفظ و السلام

Show more
234
Subscribers
No data24 hours
-47 days
-930 days
Posts Archive
ورا ما تطبق هذا تروح للبرنامج الرئيسي main الاصلي تكتب هيج بالبداية #include <iostream> #include "main.h" using namespace std; // حسب الحاجة همين و كود الmain يبقى على حاله و نسوي تشغيل و يشتغل البرنامج طبيعي

الهدر شلون نسويه هذا شيء حلو يصير نروح لمكان ملف هدر .h و تكتب #ifndef اسم.h انا سميته main ف يصير #ifndef main.h ورا ما تكتب هذا تنطيه enter كبل يطلعلك #endif انت تكتب الكود بينهن يعني #ifndef main.h // الكود #endif هيج هسه شني الاضافات الي عدنا بعد ( #ifndef main.h ) نكتب #define main.h // اسم الهدر .h و نكتب هذني و نعرفهن حسب الحاجة اي لو لا . و هنا نحتاجهن حتى ما يخبط الكود و std لان عدنا cout و تحتاجه #include <string> using namespace std; ف الترتيب يصير #ifndef main.h // اسم الهدر .h #define mainh // اسم الهدر .h #include <string> // حسب الحاجة using namespace std; // حسب الحاجة // الكود هنا #endif

نبلش شلون تسويه ملف هدر ( .h ) خل نتفق على شغلة هدر هو نوع الملف مو اسم ثابت يعني انا مسميه mohd.h هذا يعتبر ملف هدر ايضاً ماكو مشكلة هذا الملف نسويه بداخل ملف البروجكت نفسه مو بحده يعني اضافة ملف من اعلى البرنامج و بداخل نفس ملف البروجكت ركز على هاي كون يصير هيج👇

الى هنا يخلص ال class نبدأ بالmain هنا كتب اسم الكلاس و اسم الشخص انا سميته s1 انت بكيفك شتسميه سميه ماكو فرق و مثل ما موضحه ندخل بيه اسم الحساب رقم الحساب الفلوس الي بالحساب و نخليها بداخل اقواس { }; ليش نستخدم هاي الطريقة حتى الكود يصير ابسط و اسهل اكو طرق بالملزمة تطول السالفة كل حقل له سطر بحده ف يصير طويل الكود و مزعج ورا ما ندخل القيم نسوي استدعاءات للفنكشن 1- deposit نكتب لها رقم معين من يمك هو كمية الايداع انت شكد تريد تضيف للحساب بكيفك . و نكتب اسم عنصر الكلاس مالت الmain s1.deposit(50.9); لازم نحط نقطة بينهن حتى يتم الاستدعاء بشكل صحيح . 2- withDrawal هنا نفس الحجي للي قبلها 3- display هنا فقط تعرض معلومات بعد الإضافة او بعد النقصان و هاي تبقى دائماً شغاله هنا الكود تشغل بيه فنكشن وحدة فقط من فنكشنات deposit او withDrawal حتى الي يظهر علشاشة يصير صحيح .

الثالثة هنا الشغل بيها اسمها display و تعرض المعلومات المحدثة يعني بعد السحب و بعد الإيداع مثل ما مبين بداخلها فقط cout

الثانية withDrawal هاي شغلها سحب الشخص فلوسه نفس الأولى همين نعرف متغير اسمه amount و نوعه double بداخل الvoid و نسوي عمليه طرح ( تنقيص ) بس هنا حط if condition يعني اذا جانت الفلوس الي تريد تسحبها اكثر من فلوسك ما راح تكدر تسحب لازم اقل من فلوسك و بحسب ما موضح بصياغة الكود و ايضا بدون cout و نقفلها

بعدين سوينا فنكشن طلب من عدنا ثلاث فكشنات الأولى deposit وهاي شغلها ايداع الشخص فلوسه بالبنك الدكتور كال اريد الكود بسيط ما نحتاج فكرة cin ف نحط بداخل اقواس الvoid متغير من نفس نوع متغير balance وهو متغير double لان قيمة بيها بوينتات هنا تصير عملية جمع و نعوفها ما نسوي cout بداخلها بحسب مطلوب السؤال

هنا اول شيء فتحنا كلاس بأسم bank و سويناه public public : لان اي شيء بداخل الكلاس يعتبر شيء خاص ممنوع الوصول له ف نكتب public حتى نكدر نستخرج هاي المتغيرات بالmain براحتنا و نستدعيها و كتبنه المتغيرات الي رادهن ثلاث متغيرات اسم الحساب AccountHolder ( نوع سترنغ ) رقم الحساب AccountNumber ( نوع انتجر ) الفلوس الي بالحساب balance ( نوع دوبل )

#include <iostream>
using namespace std;
class bank {
    public :
    string AccountHolder;
    int AccountNumber;
    double balance;

    void deposit (double amount) {
        balance += amount;
   }
   void withDrawal(double amount) {

       if (balance > amount ){
        balance -= amount;
       }
       else {
        cout << "balance < amount "<<endl;
       }
   }
   void display (){
   cout << "AccountHolder : " << AccountHolder << ", AccountNumber : " << AccountNumber << ", balance : " << balance << endl;
   }
};


int main()
{

    bank s1 = {"am0m", 3456, 360.50};
    s1.deposit(50.9);
    s1.withDrawal(33.6);
    s1.display();
    return 0;
}

الكود مع شرح بسيط👇

سؤال مختبر الهياكل-OOP- الفكرة مهمة جداً حل وفهم قبل المحاضرة القادمة - الإثنين - تحياتي 🌹
سؤال مختبر الهياكل-OOP- الفكرة مهمة جداً حل وفهم قبل المحاضرة القادمة - الإثنين - تحياتي 🌹

تكدر تستبدل التعريف الي بالmain بهذا
personweight person1 = {"Alice", 70};

personweight person2 = {"John", 80};

declare a struct called personweight with a member variables name and weight. the struct should have an implementation to print a message " person-name you are overweight " if the person's weight is over 75kg, otherwise print a message " person-name you are fit ".
#include <iostream>
using namespace std;

struct personweight {
    string name;
    float weight;

    void printStatus() {
        if (weight > 75) {
            cout << name << " you are overweight" << endl;
        } else {
            cout << name << " you are fit" << endl;
        }
    }
};

int main() {
    personweight person1;
    person1.name = "John";
    person1.weight = 80;

    personweight person2;
    person2.name = "Alice";
    person2.weight = 70;

    person1.printStatus();
    person2.printStatus();

    return 0;
}

ارسال قيم للفنكشن باستخدام Array و بوينتر :
#include <iostream>
using namespace std;

int* Arr(int rar[3]) {
    for (int i = 0; i < 3; ++i) {
        cout << rar[i] <<", ";
    }
    cout<<endl;
    return rar;
}

int main() {
    int A[3] = {5, 3, 8};
    int* rar = Arr(A);
    return 0;
}

سواب بالستركت :
#include <iostream>
using namespace std;

struct numb {
    int a, b;
};
void swapp(numb &num) {
    int temp;
    temp = num.a;
    num.a = num.b;
    num.b = temp;
}

int main() {
    numb num ={9 ,5};
    swapp(num);
    cout << num.a << ", " << num.b << endl;
}

سواب بالرفرنس :
#include <iostream>
using namespace std;

void first(int &a, int &b){
    int temp;
    temp = a;
    a = b;
    b = temp;
}

int main()
{
   int m = 5, n = 3;
   first(m,n);

   cout << m << ", "<< n <<endl;

    return 0;
}

سواب بالبوينتر :
#include <iostream>
using namespace std;

void first(int *a, int *b){
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}

int main()
{
   int m = 5, n = 3;
   first(&m, &n);

   cout << m << ", "<< n <<endl;

    return 0;
}

طباعة مصفوفة باستخدام البوينتر :
#include <iostream>
using namespace std;

int main() {
   int arr[5] = {3, 5 , 7, 9, 11};

    for (int i = 0; i < 5; i++){
         cout << *(arr+i) << ", ";
    }
    cout<<endl;
}

اظهار عنصر معين من المصفوفة باستخدام البوينتر :
#include <iostream>
using namespace std;

int main() {
   int arr[] = {5, 7, 9};
   
         cout << *(arr+2) << endl;
}