قسمت ۲۲
#ساختار
تعریف : به مجموعه ای از متغیر ها که دارای #نوع_داده متفاوت می باشند گفته می شود که این مجموعه به وسیله یک نام مشخص می شود که در هنگام ایجاد آن برای آن استفاده می کنیم
عکس #ساختار ، ساختار یک عدد را نشان می دهد که دارای دو قسمت حقیقی و غیر حقیقی می باشد و هر کدام دارای نوع داده متفاوت می باشند
مثال :
فرض کنید می خواهید اطلاعات یک شخص حقیقی را جمع آوری کنید مثلا نام ، سن و حقوق
برای این کار شما نیاز به یک ساختار به نام person دارید این ساختار در ساده ترین حالت می تواند مانند زیر باشد :
struct Person
{
};
به حالت نوشتن یک ساختار دقت کنید
struct به معنی ساختار می باشد
این ساختار را می توانید در تابع main استفاده کنید اما باید به نکاتی زیر دقت کنید
*دقت کنید که ساختار نیز همانند تابع باید قبل از تابع main تعریف شده باشد تا در خود تابع main قابل استفاده باشد *
به کد زیر دقت کنید :
using namespace std;
struct Person
{
char name[50];
int age;
float salary;
};
int main()
{
Person p1;
return 0;
}
همانطور که در کد مشاهده می کنید برای دسترسی به متغیر های داخلی یک ساختار که عضو های ان می باشند
باید از اسمی که برای متغیر با نوع داده ساختار استفاده کردید استفاده کنید
متغیر p1 در کد بالا نوع داده person دارد و دارای عضو های name , age , salary می باشد
برای دسترسی به هر عضو کافیست بعد از نوشتن نام متغیر یک نقظه قرار دهید و سپس نام عضو را بنویسید
دقت کنید که تمامی توابع برای نوع داده رشته char برای p1.name نیز قابل استفاده می باشد
تمامی عضو های ساختار می توانند همانند یک متغیر معمولی دریافت ، مقدار گذاری ، عملیات های ریاضی ، یا حتی نمایش داده شوند
تنها تفاوت با متغیر های معمولی این است که شما ابتدا باید یک ساختار ایجاد کنید تا بتوانید به وسیله نام متغیر به عضو ان دسترسی داده باشید
#ساختار
تعریف : به مجموعه ای از متغیر ها که دارای #نوع_داده متفاوت می باشند گفته می شود که این مجموعه به وسیله یک نام مشخص می شود که در هنگام ایجاد آن برای آن استفاده می کنیم
عکس #ساختار ، ساختار یک عدد را نشان می دهد که دارای دو قسمت حقیقی و غیر حقیقی می باشد و هر کدام دارای نوع داده متفاوت می باشند
مثال :
فرض کنید می خواهید اطلاعات یک شخص حقیقی را جمع آوری کنید مثلا نام ، سن و حقوق
برای این کار شما نیاز به یک ساختار به نام 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
لطفا با اشتراک فهرست مطالب دیگران را نیز به کانال آموزش رایگان سی پلاس پلاس دعوت کنید
🌺🌸🌼🌷🌹
برنامه نویسی سی پلاس پلاس
مقدمات
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
لطفا با اشتراک فهرست مطالب دیگران را نیز به کانال آموزش رایگان سی پلاس پلاس دعوت کنید
🌺🌸🌼🌷🌹
Telegram
C++ program آموزش
// my first program in C++
#include <iostream>
using namespace std;
int main ()
{
cout « "Hello World!";
return 0;
}
مثال اول
در این تیکه کد عبارت Hello World! نمایش داده می شود
دقت کنید که این ساختار یک ساختار کلی یک برنامه به زبان سی پلاس پلاس می…
#include <iostream>
using namespace std;
int main ()
{
cout « "Hello World!";
return 0;
}
مثال اول
در این تیکه کد عبارت Hello World! نمایش داده می شود
دقت کنید که این ساختار یک ساختار کلی یک برنامه به زبان سی پلاس پلاس می…
با تشکر از همراهی شما علاقه مندان با کانال آموزش سی پلاس پلاس لطفا درصد رضایت خود را از مطالب و بروزرسانی کانال اعلام فرمایید
anonymous poll
بسیار عالی 80%-100% – 6
👍👍👍👍👍👍👍 67%
عالی 60%-80% – 1
👍 11%
متوسط 50% – 1
👍 11%
ضعیف 10%-40% – 1
👍 11%
👥 9 people voted so far.
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) را به عنوان ورودی تابع قرار دهید
در این صورت شما با ارسال یک نوع داده ساختار می توانید چندین متغیر داخلی آن را که قبلا برای خود ساختار تعریف کرده اید را همزمان ارسال کنید
مثال زیر در تصویر #ارسال_ساختار را بررسی کنید
ارسال یک struct به عنوان ورودی تابع
در مبحث #تابع گفته شد که باید در هنگام تعریف تابع در قسمت ورودی تابع مشخص کنید که چه نوع داده ای را میخواهید به تابع ارسال کنید و در نهایت تابع چه نوع داده ای را به خروجی ارسال خواهد کرد
جدا از نوع داده هایی که در خود زبان سی پلاس پلاس تعریف شده اند مانند int , char و void شما می توانید یک نوع داده از جنس ساختار (struct) را به عنوان ورودی تابع قرار دهید
در این صورت شما با ارسال یک نوع داده ساختار می توانید چندین متغیر داخلی آن را که قبلا برای خود ساختار تعریف کرده اید را همزمان ارسال کنید
مثال زیر در تصویر #ارسال_ساختار را بررسی کنید
C++ program آموزش
قسمت ۲۳ ارسال یک struct به عنوان ورودی تابع در مبحث #تابع گفته شد که باید در هنگام تعریف تابع در قسمت ورودی تابع مشخص کنید که چه نوع داده ای را میخواهید به تابع ارسال کنید و در نهایت تابع چه نوع داده ای را به خروجی ارسال خواهد کرد جدا از نوع داده هایی که…
مثال بالا را بررسی کنید
#ساختار_به_عنوان_خروجی_تابع
#ساختار_به_عنوان_خروجی_تابع
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 بدون نیاز به تعریف مجدد آن از آن استفاده کنید
enum months_t {
january=1,
february,
march,
april,
may,
june,
july,
august,
september,
october,
november,
december
} y2k;
using namespace std;
int main (){
}
در صورتی که کد بالا را اجرا کنید در صفحه عدد ۷ را مشاهده خواهید کرد
قسمت ۲۴
نوع داده شمارش شونده
#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;
}
در صورتی که کد بالا را اجرا کنید در صفحه عدد ۷ را مشاهده خواهید کرد
C++ program آموزش
https://cdn.programiz.com/sites/tutorial2program/files/enum-C%2B%2B.jpg قسمت ۲۴ نوع داده شمارش شونده #enum به مثال زیر توجه کنید enum colors_t {black, blue, green, cyan, red, purple, yellow, white}; نوع داده شمارش شونده به صورت بالا تعریف میشود این…
این مثال در مورد نحوه تعریف و استفاده از نوع داده شمارش شونده #enum می باشد
مثالی از #enum
در حالتی که به جای استفاده از مقدار ترتیبی که از صفر شروع می شود و به ترتیب یکی یکی اضافه و به هر کدام از اعضا نسبت داده میشود
مقدار دلخواه خود را برای هر عضو تعریف کرده ایم
در حالتی که به جای استفاده از مقدار ترتیبی که از صفر شروع می شود و به ترتیب یکی یکی اضافه و به هر کدام از اعضا نسبت داده میشود
مقدار دلخواه خود را برای هر عضو تعریف کرده ایم
C++ program آموزش
https://cdn.programiz.com/sites/tutorial2program/files/enum-C%2B%2B.jpg قسمت ۲۴ نوع داده شمارش شونده #enum به مثال زیر توجه کنید enum colors_t {black, blue, green, cyan, red, purple, yellow, white}; نوع داده شمارش شونده به صورت بالا تعریف میشود این…
#نکته
چرا در زبان سی پلاس پلاس از #enum استفاده می کنیم ؟
using namespace std;
enum suit {
club = 0,
diamonds = 10,
hearts = 20,
spades = 3
} card;
int main()
{
}
کد بالا نشان میدهد که متغیری را که توسط enum ساخته میشود چقدر از فضای حافظه اصلی ما را اشغال می کند
خروجی کد عبارت زیر می باشد
Size of enum variable 4 bytes.
تنها به اندازه ی یک متغیر عدد صحیح در حافظه فضا اشغال می کند که به مراتب می تواند کمک زیادی در سرعت بخشیدن به برنامه هایی که با داده های ثابت زیادی سر کار دارند باشد
چرا در زبان سی پلاس پلاس از #enum استفاده می کنیم ؟
#include <iostream>
using namespace std;
enum suit {
club = 0,
diamonds = 10,
hearts = 20,
spades = 3
} card;
int main()
{
card = club;
cout << "Size of enum variable " << sizeof(card) << " bytes.";
return 0;
}
کد بالا نشان میدهد که متغیری را که توسط enum ساخته میشود چقدر از فضای حافظه اصلی ما را اشغال می کند
خروجی کد عبارت زیر می باشد
Size of enum variable 4 bytes.
تنها به اندازه ی یک متغیر عدد صحیح در حافظه فضا اشغال می کند که به مراتب می تواند کمک زیادی در سرعت بخشیدن به برنامه هایی که با داده های ثابت زیادی سر کار دارند باشد
C++ program آموزش
قسمت ۱۲ نوع داده آرایه امروز در مورد نوع داده آرایه قرار است صحبت کنیم . آرایه مجموعه متغیر هایی هستند که توسط یک عدد نشانه گذاری شده اند به این معنی که شما در متغیر زیر تنها می توانید یک عدد را ذخیره کنید اما در آرایه می توانید مجموعه ای از اعداد را…
مثالی در رابطه با استفاده از #آرایه
https://cdn.programiz.com/sites/tutorial2program/files/cpp-array-function.jpg
#تکمیلی
چگونه یک آرایه را به یک تابع به عنوان ورودی ارسال کنیم ؟
زمان هایی نیاز است که شما یک آرایه را به عنوان ورودی یک تابع به ان تابع ارسال کنید
باید در زمان تعریف تابع در قسمت پارامتر های ورودی نوع داده آرایه و تعداد اعضای آن و نام متغیر مشخص گردد تا بتوانید آن را در خود تابع استفاده کنید
مثال زیر در تصویر #ارسال_آرایه_تابع را بررسی کنید
#تکمیلی
چگونه یک آرایه را به یک تابع به عنوان ورودی ارسال کنیم ؟
زمان هایی نیاز است که شما یک آرایه را به عنوان ورودی یک تابع به ان تابع ارسال کنید
باید در زمان تعریف تابع در قسمت پارامتر های ورودی نوع داده آرایه و تعداد اعضای آن و نام متغیر مشخص گردد تا بتوانید آن را در خود تابع استفاده کنید
مثال زیر در تصویر #ارسال_آرایه_تابع را بررسی کنید
لطفا به دوستان خود کانال ما را معرفی کنید
آی دی کانال : @cpprg
—---------------------------
علاقه مندان می تونید مثال های خودتون را که برای زبان سی پلاس پلاس در نظر دارید ارسال کنید تا با نام شما در کانال ثبت شود
اعضای کانال توسط رای گیری به مثال ارسالی شما رای خواهند داد
آی دی کانال : @cpprg
—---------------------------
علاقه مندان می تونید مثال های خودتون را که برای زبان سی پلاس پلاس در نظر دارید ارسال کنید تا با نام شما در کانال ثبت شود
اعضای کانال توسط رای گیری به مثال ارسالی شما رای خواهند داد
C++ program آموزش
#تکمیلی مثالی از #آرایه #یافتن_بزرگترین_عدد در یک آرایه عددی
نمونه استفاده از کد بالا
https://cdn.programiz.com/sites/tutorial2program/files/cpp-multidimensional-arrays.jpg
#تکمیلی
آرایه دوبعدی
در صورتی نیاز داشته باشید از ماتریس استفاده کنید لازم است تا از آرایه دو بعدی استفاده کنید
آرایه دو بعدی مانند یک اتاق است که دارای چند کمد است و هر کمد دارای یک شماره منحصر به فرد و هر کمد دارای چند قفسه می باشد که هر قفسه نیز شماره ی منحصر به فردی می باشد
دقت کنید که اتاق خود آرایه دو بعدی و هر کمد عضوی از آرایه اصلی و هر قفسه یک عضو فرعی می باشد
مثال :
int Array[10][20];
اتاقی با ۱۰ کمد و هر کمد دارای ۲۰ قفسه
Array[0][0]=1;
اولین قفسه از اولین کمد را مقدار گذاری ۱ می کنیم
و به ترتیب هر قفسه را می توان مقدار گذاری کرد
برای اینکه از حلقه for استفاده کنید
لازم است که از دو حلقه تو در تو استفاده کنید
عکس #حلقه_تو_در_تو
#تکمیلی
آرایه دوبعدی
در صورتی نیاز داشته باشید از ماتریس استفاده کنید لازم است تا از آرایه دو بعدی استفاده کنید
آرایه دو بعدی مانند یک اتاق است که دارای چند کمد است و هر کمد دارای یک شماره منحصر به فرد و هر کمد دارای چند قفسه می باشد که هر قفسه نیز شماره ی منحصر به فردی می باشد
دقت کنید که اتاق خود آرایه دو بعدی و هر کمد عضوی از آرایه اصلی و هر قفسه یک عضو فرعی می باشد
مثال :
int Array[10][20];
اتاقی با ۱۰ کمد و هر کمد دارای ۲۰ قفسه
Array[0][0]=1;
اولین قفسه از اولین کمد را مقدار گذاری ۱ می کنیم
و به ترتیب هر قفسه را می توان مقدار گذاری کرد
برای اینکه از حلقه for استفاده کنید
لازم است که از دو حلقه تو در تو استفاده کنید
عکس #حلقه_تو_در_تو