C++ program آموزش
53 subscribers
54 photos
1 video
7 files
42 links
آموزش c++

تلگرام @hrgh74
سروش http://sapp.ir/hrh74

آموزش پی اچ پی :@phpprogram
آموزش جاوا اسکریپت : @javascriptlear
گروه رفع اشکال و حل تمرین


مدرس : حمیدرضا غلامی بروجنی
Download Telegram
#مثال از تابع سازنده با مقدار ورودی
// Source Code to demonstrate the working of overloaded constructors
#include <iostream>
using namespace std;

class Area
{
private:
int length;
int breadth;

public:
// Constructor with no arguments
Area(): length(5), breadth(2) { }

// Constructor with two arguments
Area(int l, int b): length(l), breadth(b){ }

void GetLength()
{
cout << "Enter length and breadth respectively: ";
cin >> length >> breadth;
}

int AreaCalculation() { return length * breadth; }

void DisplayArea(int temp)
{
cout << "Area: " << temp << endl;
}
};

int main()
{
Area A1, A2(2, 1);
int temp;

cout << "Default Area when no argument is passed." << endl;
temp = A1.AreaCalculation();
A1.DisplayArea(temp);

cout << "Area when (2,1) is passed as argument." << endl;
temp = A2.AreaCalculation();
A2.DisplayArea(temp);

return 0;
}

در مثال بالا مقدار اولیه های شی Area را می توانید از کاربر دریافت کنید و یا به صورت دلخواه تنظیم کنید

#نظر_سنجی
کد های مثال ها را به چه صورت در کانال قرار دهیم ؟
۱- متنی
۲- عکس
ارسال پاسخ به @hrgh74
فهرست مطالب کانال
برنامه نویسی سی پلاس پلاس

۱-مقدمات
https://t.me/cpprg/3

۲-انواع متغیر ها و #نوع_داده
https://t.me/cpprg/4

۳-استفاده و نمایش متغیر ها
https://t.me/cpprg/5

۴-تعریف ثابت ها
https://t.me/cpprg/7

۵-عملگر ها
https://t.me/cpprg/10

۶-استاندار های کد نویسی
https://t.me/cpprg/15

۷-مطالب تکمیلی در مورد
*- #آرایه #دو_بعدی
https://t.me/cpprg/136
*- #رشته
https://t.me/cpprg/159

۸-کاراکتر ها
https://t.me/cpprg/23

۹- عبارت های کنترلی while , if , else
https://t.me/cpprg/25

۱۰- عبارت های کنترلی while , if , else (ادامه)
https://t.me/cpprg/29

۱۱- عبارت های مقایسه ای
https://t.me/cpprg/31

۱۲- معرفی و ایجاد آرایه
https://t.me/cpprg/38

۱۳- معرفی عبارت کنترلی switch
https://t.me/cpprg/60

۱۴- عبارت کنترلی goto
https://t.me/cpprg/67

۱۵- معرفی تابع و انواع تابع
https://t.me/cpprg/73

۱۶- تعریف تابع به صورت از پیش تعریف شده
https://t.me/cpprg/80

۱۷- ایجاد تابع توسط برنامه نویس
https://t.me/cpprg/78


۱۸- انواع تابع
https://t.me/cpprg/92


۱۹- ایجاد overload یک تابع
https://t.me/cpprg/100

۲۰- مقدار اولیه در ورودی تابع
https://t.me/cpprg/105

۲۱- توابع بازگشتی
https://t.me/cpprg/111

۲۲- تعریف ساختار و ایجاد آن
https://t.me/cpprg/117

۲۳-ارسال ساختار به عنوان ورودی تابع
https://t.me/cpprg/121

۲۴-نوع داده شمارش شونده enum
https://t.me/cpprg/126

۲۵- معرفی اشاره گر
https://t.me/cpprg/165

۲۶-شی گرایی (کلاس برنامه نویسی)
https://t.me/cpprg/179

۲۷- تعریف و ایجاد تابع سازنده در کلاس
https://t.me/cpprg/186
لطفا با اشتراک فهرست مطالب دیگران را نیز به کانال آموزش رایگان سی پلاس پلاس دعوت کنید
🌺🌸🌼🌷🌹
#نکته
دانش، بيش از آن است که بتوان بر آن احاطه يافت؛ پس از هر دانشي بهترين آن را برگيريد
#اهمیت_مطالعه
ضایعه دردناک جان باختن پرسنل نفتکش سانچی را به ملت شریف ایران و خانواده های داغدار آن عزیزان تسلیت عرض نموده و از خداوند متعال برای درگذشتگان علو درجات و برای بازماندگان صبر و اجر مسئلت می نماییم.
قسمت ۲۸
#سربازگذاری_عملیات
در زمان تعریف کلاس گفته شد که شما با ایجاد یک کلاس در حقیقت یک نوع داده جدید را در برنامه خود ایجاد می کنید که مانند نوع داده های تعریف شده در زبان سی پلاس پلاس int , float , ... قابل استفاده است

شما برای جمع دو عدد از نوع داده int می نویسید
int a,b,c;
a=1;
b=2;
c=a+b;

برای کلاس های جدیدی که شما تعریف می کنید نیز میتوان عملیات های جمع و .. را تعریف کرد به طوری که شما مشخص می کنید در هنگام جمع دو نوع داده از کلاس شما چه خروجی داده شود

به مثال زیر توجه کنید
#include <iostream>
using namespace std;

class Complex
{
private:
float real;
float imag;
public:
Complex(): real(0), imag(0){ }
void input()
{
cout << "Enter real and imaginary parts respectively: ";
cin >> real;
cin >> imag;
}

// Operator overloading
Complex operator - (Complex c2)
{
Complex temp;
temp.real = real - c2.real;
temp.imag = imag - c2.imag;

return temp;
}

void output()
{
if(imag < 0)
‍` cout « "Output Complex number: "« real « imag « "i";`
else
cout << "Output Complex number: " << real << "+" << imag << "i";
}
};

int main()
{
Complex c1, c2, result;

cout<<"Enter first complex number:\n";
c1.input();

cout<<"Enter second complex number:\n";
c2.input();

// In case of operator overloading of binary operators in C++ programming,
// the object on right hand side of operator is always assumed as argument by compiler.
result = c1 - c2;
result.output();

return 0;
}
#تکمیلی
مثال بالا نوع داده عدد مختلط را تعریف کرده و سپس برای آن عملیات تفریق را سربارگذاری کرده است

برای این عملیات به صورت زیر عملیات انجام می شود

// Operator overloading
Complex operator - (Complex c2)
{
Complex temp;
temp.real = real - c2.real;
temp.imag = imag - c2.imag;

return temp;
}

#نکته
متغیر temp برای این منظور استفاده میشود که هنگامی که دو شی را از هم تفریق می کنید به عنوان خروجی برای شی ای که پشت مساوی قرار دارد خروجی همنوع آن ارسال شود و به مقادیری که مربوط به شی هایی می شود که با هم تفریق می شوند اثری وارد نشود وهمان مقادیر قبلی باشند
با تشکر و سپاس فراوان از همراهی با کانال آموزشی ما لطفا درصد رضایت خود را اعلام فرمایید (حمیدرضا @hrgh74 )
anonymous poll

90-100 – 47
👍👍👍👍👍👍👍 71%

70-90 – 9
👍 14%

40-70 – 5
👍 8%

0-40 – 5
👍 8%

👥 66 people voted so far.
C++ program آموزش
#سربارگذاری_عمگر_کلاس
خروجی مثال به صورت زیر است:

F: -11 I:-10
F: 5 I:-11
@successful_studies
هدف ها مثل همین ۱۲ نقطه سیاه هستند که تا تمرکز بر آن ها نکنید نمی توانید آن ها را درست و دقیق ببینید
#نکته
📣 تعرفه اینترنت همراه اول برای پیام رسان‌های داخلی یک سوم شد

📌 اداره کل ارتباطات همراه اول اعلام کرد: با اجرای مصوبه ۲۶۵ کمیسیون تنظیم مقررات ارتباطات که در راستای مصوبات شورای عالی فضای مجازی با موضوع سیاست‌ها و اقدامات ساماندهی پیام رسان‌های اجتماعی و به منظور حمایت و توسعه فعالیت‌ پیام رسان‌های داخلی بوده است، از ساعت ۱۶ روز جمعه ۲۹ دی‌ماه ۹۶، سقف تعرفه کاربر نهایی پیام رسان‌های داخلی مجاز را به میزان یک سوم سقف تعرفه ترافیک بین‌الملل کاربران نهایی اعمال می‌کند.

📌 بر اساس این اعلام، به منظور حمایت از توسعه و ساماندهی فعالیت پیام رسان‌های اجتماعی داخلی، سقف تعرفه کاربر نهایی پیام رسان‌های داخلی مجاز، در استفاده آزاد و بسته‌های دیتا به ميزان يک سوم سقف تعرفه ترافيک بين‌الملل كاربران نهايی محاسبه می‌شود.

📌 اپراتور اول در راستای حمایت از تولیدات و مهارت‌های ایرانی و تحقق اقتصاد مقاومتی، آمادگی خود را بر حمايت از نرم افزارهای بومی و پيام رسان‌های اجتماعی داخلی اعلام کرده است.

📌 طبق اعلام، این کاهش تعرفه برای پیام رسان‌های «گپ، آی گپ، بیسفون و سروش» انجام شده است.

📌 پیش از این اپراتور اول تعرفه استفاده از سایت‌های پرمصرف منتخب داخلی را نیز به نصف کاهش داده بود.

📶 @www_mci_ir
https://cdn.programiz.com/sites/tutorial2program/files/pass-return-object-C%2B%2B.jpg

ارسال شی به تابع و دریافت شی از تابع

قسمت ۲۹
مثال شماره #1
مثال زیر نوع داده عدد مختلط را به وسیله ی کلاس Complex تعریف کرده و عملیات جمع را برای شی هایی از این نوع داده انجام می دهد

#include <iostream>
using namespace std;

class Complex
{
private:
int real;
int imag;
public:
Complex(): real(0), imag(0) { }
void readData()
{
cout << "Enter real and imaginary number respectively:"<<endl;
cin >> real >> imag;
}
void addComplexNumbers(Complex comp1, Complex comp2)
{
real=comp1.real+comp2.real;
imag=comp1.imag+comp2.imag;
}

void displaySum()
{
cout << "Sum = " << real<< "+" << imag << "i";
}
};
int main()
{
Complex c1,c2,c3;

c1.readData();
c2.readData();

c3.addComplexNumbers(c1, c2);
c3.displaySum();

return 0;
}


کد بالا یک کلاس تعریف شده ، که به وسیله تابع readData که عضو عمومی کلاس Complex است ورودی را دریافت می کند و سپس توسط تابع addComplexNumbers دو عدد مختلط c1 , c2 را با هم جمع می کند و در نهایت در شی c3 قرار می دهد و با گرفتن خروجی از c3 به وسیله تابع displaySum می توانید حاصل جمع را مشاهده کنید
C++ program آموزش
https://cdn.programiz.com/sites/tutorial2program/files/pass-return-object-C%2B%2B.jpg ارسال شی به تابع و دریافت شی از تابع قسمت ۲۹ مثال شماره #1 مثال زیر نوع داده عدد مختلط را به وسیله ی کلاس Complex تعریف کرده و عملیات جمع را برای شی هایی از این نوع داده…
مثال زیر را بررسی کنید و تفاوت هایی را که این دو مثال دارند را بررسی کنید

کدام مثال از لحاظ استفاده اسان تر است
مثال شماره #2

#include <iostream>
using namespace std;
class Complex
{
private:
int real;
int imag;
public:
Complex(): real(0), imag(0) { }
void readData()
{
cout « "Enter real and imaginary number respectively:"«endl;
cin » real » imag;
}
Complex addComplexNumbers(Complex comp2)
{
Complex temp;

// real represents the real data of object c3 because this function is called using code c3.add(c1,c2);
temp.real = real+comp2.real;

// imag represents the imag data of object c3 because this function is called using code c3.add(c1,c2);
temp.imag = imag+comp2.imag;
return temp;
}
void displayData()
{
cout « "Sum = " « real « "+" « imag « "i";
}
};

int main()
{
Complex c1, c2, c3;

c1.readData();
c2.readData();

c3 = c1.addComplexNumbers(c2);

c3.displayData();

return 0;
}
کدام مثال از لحاظ استفاده آسان تر است ؟

#2 – 3
👍👍👍👍👍👍👍 100%

#1
▫️ 0%

👥 3 people voted so far.
#تمرین
میخواهیم برنامه ای بنویسیم که یک فروشگاه را شبیه سازی کند و این فروشگاه قابلیت این را داشته باشد که
۱- اجناس مختلف با قیمت های مختلف و تعداد مختلف در آن درج شود
۲- مشتری با خرید هر یک از جناس فاکتور خرید خود را مشاهده کند
۳- مشتری بتواند تعداد متفاوت از هر محصول را خریداری کند
۴-مشتری بتواند از لیست خرید خود چیزی را حذف و یا مجدد اضافه کند
۵- اگر مشتری بیشتر از آن چه در انبار وجود دارد کالایی را تقاضا کند به آن هشدار دهد


این تمرین را تا فردا فرصت دارید برای ما ارسال کنید

اگر به توضیح و یا راهنمایی نیاز داشتید می تونید از طریق آدرس گروه پرسش و پاسخ سوال خودتون را ارسال کنید
https://t.me/joinchat/CR4fq0ohDCulqBKhVeLVSg

#نکته
چون هنوز مبحث ذخیره سازی در فایل را در کانال تدریس نکرده ایم نیازی نیست که با باز کردن مجدد برنامه اطلاعات قبلی در داخل برنامه وجود داشته باشند

با یک بار باز کردن برنامه هم اجناس و تعداد آن ها را در انبار وارد می کنیم و هم مشتری می تواند خرید خود را از اجناس وارد شده انجام دهد

@hrgh74
هرگز نگرانی به خود راه ندهید از اینکه
رویا پردازی بزرگ کنید
و با شهامت جلو روید (ریسک پذیر)
زیرا اگر موفق شوید شاد می شوید(لذت)
و اگر شکست بخورید با هوش تر خواهید شد (با تجربه تر)

@hrgh_official
#تمرین
میخواهیم از بین 1000 عدد ، اعدادی را که بیشتر از ۴ تا از مقسوم علیه های آن ها عدد اول است را بیابیم
برنامه باید طوری نوشته شود که در صورتی که ۵ عدد را با این مشخصات پیدا کرد پایان پذیرد
ابتدا از کاربر یک عدد درخواست کنید و تا ۱۰۰۰ عدد بعد از آن عدد را بررسی کنید


این #تمرین برای مبحث #حلقه for , while می باشد
به رویا داشتن ادامه بده بگردبه دنبال نشانه هایی که رویایت را به امروزت متصل کند
بگذار موسیقی امروزت
از آینده‌ تو سرچشمه بگیرد
بگذار نت های آینده‌ تو
همین امروز جاری باشند.
@hrgh_official