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

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

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


مدرس : حمیدرضا غلامی بروجنی
Download Telegram
مثالی از مقدار اولیه
خروجی مثال را در سیستم خود بررسی کنید و مثال های بیشتری را برای ما ارسال کنید

// C++ Program to demonstrate working of default argument

#include <iostream>
using namespace std;

void display(char = '*', int = 1);

int main()
{
cout << "No argument passed:\n";
display();

cout << "\nFirst argument passed:\n";
display('#');

cout << "\nBoth argument passed:\n";
display('$', 5);

return 0;
}

void display(char c, int n)
{
for(int i = 1; i <= n; ++i)
{
cout << c;
}
cout << endl;
}
Forwarded from DailyTradePluse
This media is not supported in your browser
VIEW IN TELEGRAM
نسل آینده تکنولوژی؛ کامپیوترهایی که در جیب جا می‌شوند!
🖥 @It_Universee
C++ program آموزش
https://cdn.programiz.com/sites/tutorial2program/files/how-recursion-works-c%2B%2B.jpg
قسمت ۲۱
توابع بازگشتی

فرض کنید نیاز به تابعی دارید که باید بر روی مقدار ورودی ، عملی را تا زمان مشخصی و نه نامحدود ، تکرار کند .
به نظر شما چگونه باید این کار را انجام دهیم

در ساده ترین حالت باید از کد زیر استفاده کنید:

int a,b;
while(true){
b=func(a);
if(b<100)
a=b;
else
break;
}

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

مثلا اگر بخواهید فاکتوریل یک عدد کمتز از ۳۰ را محاسبه کنید با استفاده از توابع بازگشتی می توانید از روش زیر استفاده کنید

// Factorial of n = 1*2*3*...*n

#include <iostream>
using namespace std;

int factorial(int);

int main()
{
int n;
cout<<"Enter a number to find factorial: ";
cin >> n;
cout << "Factorial of " << n <<" = " << factorial(n);
return 0;
}

int factorial(int n)
{
if (n > 1)
{
return n*factorial(n-1);
}
else
{
return 1;
}
}


دقت کنید که در این حالت شرط در داخل خود تابع قرار دارد و با رسیدن مقدار ورودی به عدد ۱ تابع شروع به بازگشت مقدار نهایی خود به فراخوانی های قبلی می کنید و به این ترتیب مقدار های ضرب شده از ۱ تا عدد مورد نظر به سمت اولین فراخوانی ارسال می شوند
در نهایت شما مقدار فاکتوریل عدد مورد نظر را در خروجی تابع در تابع main خواهید داشت

مثال های بیشتر در ادامه ارسال خواهد شد
C++ program آموزش
قسمت ۲۱ توابع بازگشتی فرض کنید نیاز به تابعی دارید که باید بر روی مقدار ورودی ، عملی را تا زمان مشخصی و نه نامحدود ، تکرار کند . به نظر شما چگونه باید این کار را انجام دهیم در ساده ترین حالت باید از کد زیر استفاده کنید: int a,b; while(true){ b=func(a);…
#تکمیلی قسمت ۲۱

مثالی از جمع اعداد به صورت نزولی
مثال ۱۰=۱+۲+۳+۴

#include<iostream>
using namespace std;

int add(int n);

int main()
{
int n;

cout << "Enter a positive integer: ";
cin >> n;

cout << "Sum = " << add(n);

return 0;
}

int add(int n)
{
if(n != 0)
return n + add(n - 1);
return 0;
}

تابع add در مثال بالا ابتدا عدد ورودی کاربر را دریافت می کند و سپس در حالت بازگشتی تا زمانی که به عدد صفر نرسیده است تابع خود را دوباره صدا می زند
و در نهایت مقدار ها به صورت بازگشتی به فراخوانی اولیه خودشان باز می گردند

شکل #بازگشتی این مورد را به صورت نمایه نمایش می دهد
قسمت ۲۲
#ساختار

تعریف : به مجموعه ای از متغیر ها که دارای #نوع_داده متفاوت می باشند گفته می شود که این مجموعه به وسیله یک نام مشخص می شود که در هنگام ایجاد آن برای آن استفاده می کنیم
عکس #ساختار ، ساختار یک عدد را نشان می دهد که دارای دو قسمت حقیقی و غیر حقیقی می باشد و هر کدام دارای نوع داده متفاوت می باشند

مثال :

فرض کنید می خواهید اطلاعات یک شخص حقیقی را جمع آوری کنید مثلا نام ، سن و حقوق
برای این کار شما نیاز به یک ساختار به نام person دارید این ساختار در ساده ترین حالت می تواند مانند زیر باشد :

struct Person
{
char name[50];
int age;
float salary;
};

به حالت نوشتن یک ساختار دقت کنید
struct به معنی ساختار می باشد
این ساختار را می توانید در تابع main استفاده کنید اما باید به نکاتی زیر دقت کنید
*دقت کنید که ساختار نیز همانند تابع باید قبل از تابع main تعریف شده باشد تا در خود تابع main قابل استفاده باشد *

به کد زیر دقت کنید :

#include <iostream>
using namespace std;

struct Person
{
char name[50];
int age;
float salary;
};

int main()
{
Person p1;

cout << "Enter Full name: ";
cin.get(p1.name, 50);
cout << "Enter age: ";
cin >> p1.age;
cout << "Enter salary: ";
cin >> p1.salary;

cout << "\n Information." << endl;
cout << "Name: " << p1.name << endl;
cout <<"Age: " << p1.age << endl;
cout << "Salary: " << p1.salary;

return 0;
}

همانطور که در کد مشاهده می کنید برای دسترسی به متغیر های داخلی یک ساختار که عضو های ان می باشند

باید از اسمی که برای متغیر با نوع داده ساختار استفاده کردید استفاده کنید
متغیر p1 در کد بالا نوع داده person دارد و دارای عضو های name , age , salary می باشد
برای دسترسی به هر عضو کافیست بعد از نوشتن نام متغیر یک نقظه قرار دهید و سپس نام عضو را بنویسید

دقت کنید که تمامی توابع برای نوع داده رشته char برای p1.name نیز قابل استفاده می باشد

تمامی عضو های ساختار می توانند همانند یک متغیر معمولی دریافت ، مقدار گذاری ، عملیات های ریاضی ، یا حتی نمایش داده شوند

تنها تفاوت با متغیر های معمولی این است که شما ابتدا باید یک ساختار ایجاد کنید تا بتوانید به وسیله نام متغیر به عضو ان دسترسی داده باشید
فهرست مطالب کانال
برنامه نویسی سی پلاس پلاس

مقدمات
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/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/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

لطفا با اشتراک فهرست مطالب دیگران را نیز به کانال آموزش رایگان سی پلاس پلاس دعوت کنید
🌺🌸🌼🌷🌹
با تشکر از همراهی شما علاقه مندان با کانال آموزش سی پلاس پلاس لطفا درصد رضایت خود را از مطالب و بروزرسانی کانال اعلام فرمایید
anonymous poll

بسیار عالی 80%-100% – 6
👍👍👍👍👍👍👍 67%

عالی 60%-80% – 1
👍 11%

متوسط 50% – 1
👍 11%

ضعیف 10%-40% – 1
👍 11%

👥 9 people voted so far.
قسمت ۲۳

ارسال یک struct به عنوان ورودی تابع
در مبحث #تابع گفته شد که باید در هنگام تعریف تابع در قسمت ورودی تابع مشخص کنید که چه نوع داده ای را میخواهید به تابع ارسال کنید و در نهایت تابع چه نوع داده ای را به خروجی ارسال خواهد کرد
جدا از نوع داده هایی که در خود زبان سی پلاس پلاس تعریف شده اند مانند int , char و void شما می توانید یک نوع داده از جنس ساختار (struct) را به عنوان ورودی تابع قرار دهید
در این صورت شما با ارسال یک نوع داده ساختار می توانید چندین متغیر داخلی آن را که قبلا برای خود ساختار تعریف کرده اید را همزمان ارسال کنید

مثال زیر در تصویر #ارسال_ساختار را بررسی کنید
Forwarded from DailyTradePluse
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
https://cdn.programiz.com/sites/tutorial2program/files/enum-C%2B%2B.jpg

قسمت ۲۴
نوع داده شمارش شونده
#enum

به مثال زیر توجه کنید
enum colors_t {black, blue, green, cyan, red, purple, yellow, white};
نوع داده شمارش شونده به صورت بالا تعریف میشود

این نوع داده به شما در کد نویسی بسیار کمک خواهد کرد از آن جا که زمانی که شما قبل از تابع main این نوع داده را تعریف کنید
تمامی اسامی یا اعضای داخل براکت در سر تا سر کد شما تعریف شده هستند و دیگر نیازی به نماد گذاری یا تعریف مجدد نیست

برای مثال اکنون در صورتی بخواهید از نوع داده شمارش شونده استفاده کنید
ابتدا یک نوع داده از آن را تعریف می کنیم

colors_t mycolor;
mycolor=blue;

اکنون در متغیر mycolor مقدار عددی ۱ قرار دارد که مشخص می کند که دومین عضو از colors_t را نشان می دهد

یکی دیگر از مزایای استقاده از نوع داده شمارش شونده این است که شما در صورت اضافه کردن عضو دیگر نیازی به باز تعریف نماد ها ندارید و خود کامپایلر مقدار های عددی را به ترتیب از صفر برای اعضا در نظر می گیرد

enum months_t { january=1, february, march, april,
may, june, july, august,
september, october, november, december} y2k;

در مثال بالا ماه های میلادی در یک نوع داده شمارش شونده تعریف شده است
دقت کنید چون برای ماه اول مقدار ۱ را درنظر گرفته ایم ماه های بعدی نیز به همین ترتیب از ۱ تا ۱۲ خواهند بود و نه از ۰ تا ۱۱

در آخر سطر بالا بعد از براکت y2k را قرار داده ایم
این نام متغیری است که از نوع داده شمارش شونده قبل از خود تعریف خواهد شد و شما می تواند در تابه main بدون نیاز به تعریف مجدد آن از آن استفاده کنید


#include<iostream>
enum months_t {
january=1,
february,
march,
april,
may,
june,
july,
august,
september,
october,
november,
december
} y2k;

using namespace std;

int main (){
y2k=july;
cout<<y2k;
return 0;
}

در صورتی که کد بالا را اجرا کنید در صفحه عدد ۷ را مشاهده خواهید کرد