شيئية OOP
281 subscribers
53 photos
10 files
12 links
عمي رحمة لوالديك ولعشيرتك وللعزاز وللعراق وللشرق الأوسط، لا تكعد تحفظ الأكواد
الكود فهم فهم فهم مو حفظ
و السلام
Download Telegram
تغيير قيمة المعاملات باستخدام البوينتر :
#include <iostream>
using namespace std;

int p ( int *ptr){
*ptr+= 1;
return *ptr;
}
int main() {
int m = 5;

cout << p(&m) << endl;
cout << m << endl;
cout << p(&m) << endl;
}
اظهار عنصر معين من المصفوفة باستخدام البوينتر :
#include <iostream>
using namespace std;

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

cout << *(arr+2) << endl;
}
طباعة مصفوفة باستخدام البوينتر :
#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;

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;

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;
}
ارسال قيم للفنكشن باستخدام 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;
}
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;
}
3👍1
تكدر تستبدل التعريف الي بالmain بهذا
personweight person1 = {"Alice", 70};

personweight person2 = {"John", 80};
2
سؤال مختبر الهياكل-OOP-
الفكرة مهمة جداً حل وفهم قبل المحاضرة القادمة - الإثنين -
تحياتي 🌹
1
#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;
}
3
هنا اول شيء فتحنا كلاس بأسم bank
و سويناه public
public :
لان اي شيء بداخل الكلاس يعتبر شيء خاص ممنوع الوصول له ف نكتب public حتى نكدر نستخرج هاي المتغيرات بالmain براحتنا و نستدعيها

و كتبنه المتغيرات الي رادهن ثلاث متغيرات
اسم الحساب AccountHolder ( نوع سترنغ )
رقم الحساب AccountNumber ( نوع انتجر )
الفلوس الي بالحساب balance ( نوع دوبل )
1
بعدين سوينا فنكشن
طلب من عدنا ثلاث فكشنات

الأولى deposit وهاي شغلها ايداع الشخص فلوسه بالبنك
الدكتور كال اريد الكود بسيط ما نحتاج فكرة cin
ف نحط بداخل اقواس الvoid متغير من نفس نوع متغير balance وهو متغير double لان قيمة بيها بوينتات
هنا تصير عملية جمع و نعوفها ما نسوي cout بداخلها بحسب مطلوب السؤال
1
الثانية withDrawal
هاي شغلها سحب الشخص فلوسه
نفس الأولى همين نعرف متغير اسمه amount و نوعه double بداخل الvoid و نسوي عمليه طرح ( تنقيص )
بس هنا حط if condition يعني اذا جانت الفلوس الي تريد تسحبها اكثر من فلوسك ما راح تكدر تسحب
لازم اقل من فلوسك و بحسب ما موضح بصياغة الكود
و ايضا بدون cout و نقفلها
1
الثالثة هنا الشغل بيها
اسمها display و تعرض المعلومات المحدثة
يعني بعد السحب و بعد الإيداع
مثل ما مبين بداخلها فقط cout
1
الى هنا يخلص ال class
نبدأ بالmain
هنا كتب اسم الكلاس و اسم الشخص
انا سميته s1
انت بكيفك شتسميه سميه ماكو فرق
و مثل ما موضحه ندخل بيه
اسم الحساب
رقم الحساب
الفلوس الي بالحساب
و نخليها بداخل اقواس { };
ليش نستخدم هاي الطريقة حتى الكود يصير ابسط و اسهل اكو طرق بالملزمة تطول السالفة كل حقل له سطر بحده ف يصير طويل الكود و مزعج

ورا ما ندخل القيم
نسوي استدعاءات للفنكشن
1-
deposit
نكتب لها رقم معين من يمك هو كمية الايداع انت شكد تريد تضيف للحساب بكيفك .
و نكتب اسم عنصر الكلاس مالت الmain
s1.deposit(50.9);
لازم نحط نقطة بينهن حتى يتم الاستدعاء بشكل صحيح .
2-
withDrawal
هنا نفس الحجي للي قبلها

3-
display
هنا فقط تعرض معلومات بعد الإضافة او بعد النقصان و هاي تبقى دائماً شغاله


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

هذا الملف نسويه بداخل ملف البروجكت نفسه مو بحده
يعني اضافة ملف من اعلى البرنامج و بداخل نفس ملف البروجكت ركز على هاي
كون يصير هيج👇
1
الهدر شلون نسويه
هذا شيء حلو يصير
نروح لمكان ملف هدر .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
1