#105جواب تمرین
#104#include<iostream>
using namespace std;
int main()
{int i,j;
for(i=1;i<7;i++)
{for(j=1;j<=i;j++)
{cout«j;
}
cout«"\t";
for(j=i;j>=1;j--)
{cout«j;
}
cout«endl;
}
return 0;
}
@Learncpp
برای اینکه بتونیم کلاس رو جدا تعریف کنیم پس روی Header.h کلیک میکنیم و Add رو انتخاب میکنیم
@Learncpp
@Learncpp
حالا برای استفاده از توابعی که توی کلاس تعریف کردیم باید فایلی با پسوند .cpp ایجاد کنیم سپس روی Add کلیک میکنیم
@Learncpp
@Learncpp
در این مرحله برای استفاده از توابع کلاس با استفاده از :: به توابع دسترسی پیدا میکنیم دستورات لازم را مینویسیم
@Learncpp
@Learncpp
پس از ایجاد فایل .h و .cpp توی main با ساخت شی ای از توابع عضو کلاس استفاده میکنیم
@Learncpp
@Learncpp
#106
تمرین : برنامه ای به زبان ++C بنویسید که خروجی تصور بالا را نمایش دهد ؟
🔺 پیاده سازی با آرایه
@Learncpp
تمرین : برنامه ای به زبان ++C بنویسید که خروجی تصور بالا را نمایش دهد ؟
🔺 پیاده سازی با آرایه
@Learncpp
#107جواب تمرین
#106#include<iostream>
using namespace std;
int main()
{unsigned int arr[30], j=0;
char txt[30];
cin>>txt;
for(unsigned int i=0;i<strlen(txt);i++)
{if( txt[i] == '(' ){j++;
arr[j]=1;
}
if( txt[i] == ')' )
{j--;
arr[j]=0;
}
}
if(arr[0] == NULL)
{cout<<"Correct"<<endl;
}
else
cout<<"Wrong";
return 0;
}
@Learncpp
#Cpp #C #Cplusplus #startcpp
#کتاب #آموزش #سی #شروع_سی
منابع آموزشی سی پلاس پلاس:
کتب فارسی:
کتاب دیتیل
کتاب آقای فراهانی
کتاب آقای جعفر نژاد قمی
فیلم ها فارسی:
فیلم های آقای بازرگان
فیلم های آقای جعفری نژاد
فیلم های آقای بازرگان
فیلم های آقای پرویزی
سایت های فارسی:
http://www.bekaran.com/tutorials/cpp/intro.aspx
کتب غیر فارسی :
c++ prime
Bjarne Stroustrup
Herb Schildt's
Ivor Horon's
Malik
Nicolai M. Josutties
سایت های غیر فارسی:
www.tutorialspoint.com/cplusplus/index.htm
www.tutorialspoint.com/cprogramming/index.htm
کلاس های حضوری:
لایتک دانشگاه صنعتی شریف(تهران)
توجه:تمام ide های سی پلاس پلاس توانایی کامپایل کد های سی رو دارن
محیط های توسعه
( IDE ) :
🔹Code::Blocks
🔺telegram.me/Learncpp/49
🔹Qt creator
🔺telegram.me/Learncpp/55
🔹falcon c++
🔹Clion
🔹Visual Studio
🔺telegram.me/Learncpp/45
🔹eclipse
🔹Dev c++
🔺telegram.me/Learncpp/53
🔹code lite
🔺telegram.me/Learncpp/52
🔹ultimate ++
🔹Borland c++
🔺telegram.me/Learncpp/44
🔹Turbo c++
🔺telegram.me/Learncpp/42
🔹Kdevelop
🔺telegram.me/Learncpp/50
کامپایلر ها:
نکته اکثر
IDE
های معرفی شده در بالا کامپایلر به همراه خود دارند و این لیست برای آشنایی با برنامه های کامپایلر تهیه شده
چنانچه تازه کار هستید بهتر است از محیط توسعه(IDE) استفاده کنید
Code::Blocks
Visual cpp
Borland
کامپایلر های آنلاین:
ideone.com
rextester.com
cpp.sh
سایت های مفید:
cplusplus.com
en.cppreference.com
stackoverflow.com
quera.ir
maktabkoone.org
stroustrup.com
codeproject.com
open-std.org
freebyte.com/programming/cpp
🔹دانلود Visual Studio
visualstudio.com/downloads/download-visual-studio-vs
🔹دانلود Code::Blocks
codeblocks.org/downloads
🔹دانلود Borland ++C
edn.embarcadero.com/article/20633
🔹دانلود Dev ++C
sourceforge.net/projects/orwelldevcpp/
🔹دانلود Qt
download.qt.io/official_releases/qt
🔹دانلود Turbo ++C
turboc.codeplex.com/
🔹سی پلاس پلاس چیست؟
نوعی زبان برنامه نویسی که برای انسان قابل فهم بوده ولی برای کامپیوتر غیر قابل فهم است و کامپیوتر نمیواند از آن استفاده کند. در اصل سی پلاس پلاس نوعی واسطه بین شما و کامپیوتر است. کد های نوشته شده به زبان سی پلاس پلاس توسط نرم افزاری که آن را "کامپایلر(Compiler)" می نامند آن را به کد های قابل فهم برای کامپیوتر تبدیل میکند
🔹چرا سی پلاس پلاس ؟ آیا سی پلاس پلاس بهترین است؟
هیچوقت دنبال چیزی به نام بهترین نباشید.اگر از یک برنامه نویس سی پلاس پلاس بپرسید بهترین کدام است می گوید سی پلاس پلاس
اگر از برنامه نویس جاوا بپرسید می گوید جاوا
اگر از برنامه نویس سی شارپ بپرسید می گوید سی شارپ و ...
خلاصه دست بالای دست زیاده و نمی شه به این سوال جواب قطعی داد.
پس وقت خود را برای اینکار هدر ندهید که از کدام شروع کنید. از هر زبانی دوست دارید شروع کنید
(اما چرا سی پلاس پلاس؟) چون با یاد گیری زبان سی پلاس پلاس شما میتوانید زبان های دیگر را سریع تر فرا بگیرید. شاید شما برای یادگیری اولین زبان یکسال وقت بگذارید . اما دومین زبان به بعد یادگیری آن ها چندان دشوار و وقت گیر نخواهد بود
🔹آیا با یاد گیری سی ، سی پلاس پلاس را هم یاد خواهم گرفت؟
شما تنها قسمتی از قابلیت های سی پلاس پلاس را فراخواهید گرفت
آیا با یاد گیری سی پلاس پلاس ،سی را هم یاد خواهم گرفت؟بله ، سی پلاس پلاس نسخه ی پیشرفته تر سی میباشد
🔸telegram.me/joinchat/ChZ37DybSHKOo67vuleOdw
🔸@Learncpp
#کتاب #آموزش #سی #شروع_سی
منابع آموزشی سی پلاس پلاس:
کتب فارسی:
کتاب دیتیل
کتاب آقای فراهانی
کتاب آقای جعفر نژاد قمی
فیلم ها فارسی:
فیلم های آقای بازرگان
فیلم های آقای جعفری نژاد
فیلم های آقای بازرگان
فیلم های آقای پرویزی
سایت های فارسی:
http://www.bekaran.com/tutorials/cpp/intro.aspx
کتب غیر فارسی :
c++ prime
Bjarne Stroustrup
Herb Schildt's
Ivor Horon's
Malik
Nicolai M. Josutties
سایت های غیر فارسی:
www.tutorialspoint.com/cplusplus/index.htm
www.tutorialspoint.com/cprogramming/index.htm
کلاس های حضوری:
لایتک دانشگاه صنعتی شریف(تهران)
توجه:تمام ide های سی پلاس پلاس توانایی کامپایل کد های سی رو دارن
محیط های توسعه
( IDE ) :
🔹Code::Blocks
🔺telegram.me/Learncpp/49
🔹Qt creator
🔺telegram.me/Learncpp/55
🔹falcon c++
🔹Clion
🔹Visual Studio
🔺telegram.me/Learncpp/45
🔹eclipse
🔹Dev c++
🔺telegram.me/Learncpp/53
🔹code lite
🔺telegram.me/Learncpp/52
🔹ultimate ++
🔹Borland c++
🔺telegram.me/Learncpp/44
🔹Turbo c++
🔺telegram.me/Learncpp/42
🔹Kdevelop
🔺telegram.me/Learncpp/50
کامپایلر ها:
نکته اکثر
IDE
های معرفی شده در بالا کامپایلر به همراه خود دارند و این لیست برای آشنایی با برنامه های کامپایلر تهیه شده
چنانچه تازه کار هستید بهتر است از محیط توسعه(IDE) استفاده کنید
Code::Blocks
Visual cpp
Borland
کامپایلر های آنلاین:
ideone.com
rextester.com
cpp.sh
سایت های مفید:
cplusplus.com
en.cppreference.com
stackoverflow.com
quera.ir
maktabkoone.org
stroustrup.com
codeproject.com
open-std.org
freebyte.com/programming/cpp
🔹دانلود Visual Studio
visualstudio.com/downloads/download-visual-studio-vs
🔹دانلود Code::Blocks
codeblocks.org/downloads
🔹دانلود Borland ++C
edn.embarcadero.com/article/20633
🔹دانلود Dev ++C
sourceforge.net/projects/orwelldevcpp/
🔹دانلود Qt
download.qt.io/official_releases/qt
🔹دانلود Turbo ++C
turboc.codeplex.com/
🔹سی پلاس پلاس چیست؟
نوعی زبان برنامه نویسی که برای انسان قابل فهم بوده ولی برای کامپیوتر غیر قابل فهم است و کامپیوتر نمیواند از آن استفاده کند. در اصل سی پلاس پلاس نوعی واسطه بین شما و کامپیوتر است. کد های نوشته شده به زبان سی پلاس پلاس توسط نرم افزاری که آن را "کامپایلر(Compiler)" می نامند آن را به کد های قابل فهم برای کامپیوتر تبدیل میکند
🔹چرا سی پلاس پلاس ؟ آیا سی پلاس پلاس بهترین است؟
هیچوقت دنبال چیزی به نام بهترین نباشید.اگر از یک برنامه نویس سی پلاس پلاس بپرسید بهترین کدام است می گوید سی پلاس پلاس
اگر از برنامه نویس جاوا بپرسید می گوید جاوا
اگر از برنامه نویس سی شارپ بپرسید می گوید سی شارپ و ...
خلاصه دست بالای دست زیاده و نمی شه به این سوال جواب قطعی داد.
پس وقت خود را برای اینکار هدر ندهید که از کدام شروع کنید. از هر زبانی دوست دارید شروع کنید
(اما چرا سی پلاس پلاس؟) چون با یاد گیری زبان سی پلاس پلاس شما میتوانید زبان های دیگر را سریع تر فرا بگیرید. شاید شما برای یادگیری اولین زبان یکسال وقت بگذارید . اما دومین زبان به بعد یادگیری آن ها چندان دشوار و وقت گیر نخواهد بود
🔹آیا با یاد گیری سی ، سی پلاس پلاس را هم یاد خواهم گرفت؟
شما تنها قسمتی از قابلیت های سی پلاس پلاس را فراخواهید گرفت
آیا با یاد گیری سی پلاس پلاس ،سی را هم یاد خواهم گرفت؟بله ، سی پلاس پلاس نسخه ی پیشرفته تر سی میباشد
🔸telegram.me/joinchat/ChZ37DybSHKOo67vuleOdw
🔸@Learncpp
Tutorialspoint
C++ Tutorial
This C++ tutorial has been written by experienced C++ programmers, which helps beginners to advanced programmers while learning C++ in simple and easy steps. This tutorial uses a simple and practical approach to describe the concepts of C++to
#108#cmd #system
✅ جهت استفاده از دستورات cmd و اجرای آن توسط کد های ++C میتوانید از روش زیر استفاده کنید :
system("instruction");به جای کلمه instruction ، دستور مورد نظرتان در cmd را بنویسید.
مثال )
#include<iostream>
#include<cstdlib>
using namespace std;
int main ()
{system ("ping google.com");system("pause");}
🔹با استفاده از کد زیر تعداد فرمان هایی که درون system قابل استفاده هست نمایش داده میشود .
system("help");🔻تذکر : تابع system در محیط Visual Studio قابل استفاده هست .
@Learncpp
#109#براکت #Brackets #کلاس #class
✅ استفاده از براکت ها برای ایجاد محدوده
🔹 براکت { } چیست ؟
به زبان ساده براکت یه جفت { } باز و بسته است که محدوده ای رو مشخص میکنه یعنی از جایی که براکت باز میشه تا جایی که براکت بسته میشه و متغییر هایی که داخل اون تعریف شده قابل شناسایی هستن و بیرون اون قابل دسترسی نیستن که ما بیشتر توی تعریف تابع ها بهش بر میخوریم مثلا تابع main یا توابعی که خودمون ایجاد میکنیم.
مثلا )
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{int x=10;
{int x=1;
cout<<x; //1
}
cout<<x; //10
cout<<endl;
system("pause");return 0;
}
اگه دقت کنیم متغییر x که توی براکت داخلی درون main تعریف شده حوزه شناساییش درون همون براکت هست و موقع چاپ x مقدار 1 رو چاپ میکنه.
مثلا )
#include "stdafx.h"
#include <iostream>
using namespace std;
class Brackets
{public:
Brackets()
{cout<<"Constructor\n";
}
~Brackets()
{cout<<"Destructor\n";
}
};
int main()
{Brackets t1, t2;
{Brackets t3, t4;
}
Brackets t5;
cout<<endl;
system("pause");return 0;
}
خروجی بالا به صورت زیر نمایش داده میشود و دلیل نمایش مخرب ها هم به خاطر براکت های داخلی که درون main استفاده شده می باشد , این یعنی اینکه محدوده تمامی متغییر ها یا شی هایی که درون براکت باز و بسته قرار داره فقط درون خودشون قابل شناسایی و وقتی به براکت بسته میرسیم از بین میروند.
🔺صدا زدن تابع مخرب درون کلاس هم به خاطر همین موضوع هست.
Constructor
Constructor
Destructor
Destructor
Constructor
@Learncpp
This media is not supported in your browser
VIEW IN TELEGRAM
مقایسه قدرت زبانها نسبت هم.....
#111#function #توابع
✅ تابع چیست؟
در این قسمت به بحث در مورد یکی از مفاهیم مهم و اساسی در برنامه نویسی به نام توابع میپردازیم.
وقتی خطوط برنامه ما زیاد می شود درک،پیگیری،خطایابی و دیگر اعمال بروی برنامه دشوار خواهد شد. توابع ابزاری هستند که به ما در بهبود برنامه کمک میکنند و برنامه نویسی ساخت یافته را ارائه میدهند،به این معنی که برنامه اصلی به قسمتهای مستقل و کوچکی تقسیم می شود که توابع نام دارند.
برای استفاده از تابع باید تابع خود را تعریف نماییم تا مشخص کنیم که چه کاری را باید انجام دهد
@learncpp
#112#function #توابع
✅ چرا در برنامه هامون باید از توابع استفاده کنیم ؟
قبل از اینکه بخوام مزایای استفاده از تابع رو بگم دوست دارم یک مثال غیر برنامه نویسی بزنم که درکتون نسبت به توابع عمیق تر بشه
شما فرض کنید توی یک نشریه کار میکنید که مجبورین هفته ای یکبار مجله ای رو با موضوعات ورزشی و سیاسی و فرهنگی و غیره آماده و چاپ کنید پس برای تهیه مجله ای با موضوعات متفاوت میتونیم از کسایی که سر رشته ای و تخصصی از موضوعات دارند کمک بگیریم مثلا در قسمت ورزشی از آقای فردوسی پور یا در قسمت سیاسی از آقای ظریف استفاده کنبم تا پس از جمع آوری و دسته بندی و تعیین صفحات موضوعات (یعنی هر موضوع از چه صفحه ای شروع و تا چه صفحه ای ادامه دارد) که این باعث میشه تا خیلی سریع موضوعی که علاقه داریم رو پیدا و مطالعه اش کنیم
خب اگه به کارکرد نشریه بالا دقت کرده باشیم دو مورد بیشتر خودنمایی میکنه:
🔹برای نوشتن یک مجله هفتگی موضوعات بین افرادی که تخصص دارند تقسیم بندی خواهد شد
🔹بخاطر اینکه هر کسی روی موضوع خاصی تمرکز کرده مطالب نشریه سریع تر گرد آوری خواهد شد
کارکرد توایع هم شبیه نشریه بالاست یعنی برای ساخت یک نرم افزار هرکسی به نسبت تخصصش در هر شهری و روستایی که هست به صورت جداگانه قسمتی از نرم افزار رو داخل یک تابع روی سیستم خودش تکمیل و خطایابی میکنه و سپس در پایان پس از تکمیل تمامی توابع نوشته شده توسط هر برنامه نویس درون تابع اصلی (main) قرار گرفته و کامپایل خواهد شد که همین امر باعث کم شدن درصد خطا (به دلیل تمرکز بیشتر هر برنامه نویس روی تابع خودش) و اتمام سریعتر پروژه (به خاطر تقسیم بندی قسمت های مختلف پروژه بین افراد) رو همراه خواهد داشت
@learncpp
❤1
#113#function #توابع
✅ مزایای استفاده از توابع :
🔹تقسیم بندی برنامه به توابع کوچک تر :
فرض کنید میخوایم یه برنامه "تبدیل فیلم به صوت" بنویسیم که این برنامه قابلیت باز کردن, ویرایش, برچسب گذاری روی فیلم و تبدیل فایل تصویری به صوت را دارد حالا اگه بخوایم همه این کار ها رو توی تابع main انجام بدیم به دلیل زیاد شدن تعداد خطوط کدها باعث میشه هم پیچیده و هم درک برنامه کمتر بشه و ممکنه بعد مدتی ندونیم از کدوم خط تا کدوم خط کار تبدیل "ویدیو به صوت" را انجام میده یا کدوم خط باعث "پخش شدن فیلم" میشه پس برای جلوگیری از این سردرگمی ها میایم هر بخش رو توی یه تابع مشخصی مینویسیم
🔹اشکال زدایی ساده تر :
فرض کنید برنامه "تبدیل فیلم به صوت" حدود 1000 خط هست و درون main هم نوشتیمش و ممکنه موقع کامپایل کردن برنامه یک خطایی در خط 782 بوجود بیاد که مرتبط به تبدیل ویدیو به صوت هست خب الان به نظرتون باید چکار کنیم باید از خط 782 به قبل برسی کنیم ببینیم چه جایی اشتباه کردیم و بریم درستش کنیم که برسی 782 خط وقت گیره پس برای حل این مشکل وظایف برنامه رو جدا جدا توی هر تابعی مینویسیم و سپس اگه تابعی به مشکل داشت خیلی راحت فقط همون تابع رو برسی میکنیم یعنی 1000 خط ممکنه توی 4 تابع قرار بگیره که هر تابع 250 خط کد درونش هست پس برسی 250 خط خیلی آسون تر از 1000 خط هست
🔹صرفه جویی در وقت:
همانطور که در مثال بالا دیدیم 1000 خط رو توی 4 تابع نوشتیم که هر تابع 250 خط کد درونشه پس اگه خطایی توی یکی از توابع پیش بیاد ما فقط 250 خط رو اشکال زدایی میکنیم بجای 1000 خط که این خود باعث صرفه جویی در وقت می شود.
@learncpp
#115#function #توابع
✅ تعریف توابع در ++C
تا الان هر کدی که مینوشتیم داخل main بوده که اگه دقت کنیم main هم یک تابع هست و تنها تابعی که الزاما توی برنامه نیازه و باید وجود داشته باشه همین تابع main هست که به صورت زیر مورد استفاده قرار میگیره :
#include <iostream>
using namespace std;
int main()
{//orders
return 0;
}
🔹نحوه تعریف توابع در پست بعدی (telegram.me/Learncpp/406)
@learncpp
Telegram
Learning ©➕➕
#116
#function #توابع
✅ نحوه تعریف تابع :
<data type> name_function(parameters)
{
//order 1 ;
//order 2 ;
// order 3;
// . . .
// orders n ;
return 0; //return 0;
}
🔹نوع بازگشتی (data type):
نوع بازگشتی باید یکی از انواع داده های موجود در ++C باشد(tel…
#function #توابع
✅ نحوه تعریف تابع :
<data type> name_function(parameters)
{
//order 1 ;
//order 2 ;
// order 3;
// . . .
// orders n ;
return 0; //return 0;
}
🔹نوع بازگشتی (data type):
نوع بازگشتی باید یکی از انواع داده های موجود در ++C باشد(tel…