آموزش رایگان ++C ، Rust ,golang
سورس کد سیستم مدیریت حساب بانکی به سبک کاملا شی گرا در ++C #include <iostream> using namespace std; class BankAccount { private: string accountNumber; string holderName; double balance; public: BankAccount(string accNum, string name, double…
برسه ده تا ری اکشن پی دی اف توضیحشم تقدیمتون میکنم
❤15❤🔥2
آموزش رایگان ++C ، Rust ,golang
پی_دی_اف_توضیح_کلاس_سیستم_حساب_بانکی_20241109_175326_0000.pdf
ده تا ری اکشن هم یادتون نره دوستان عزیز🌷🌷🌷❤️❤️❤️❤️
❤8❤🔥2
یکی از دوستان عزیز زیر یکی از پستا کامنت گذاشتن و اشاره کردن که چرا کدی که زدم return 0 نداره که نکته خیلی خوبی رو اشاره کردن
❗️❗️❗️در++C مدرن ( نسخه ۱۱ به بعد) نیازی نیس که 0 return رو حتما در انتهای تابع ()mainاضافه کنید ❗️❗️❗️❗️
❗️نسخه 11 سال 2011 عرضه شد
❗️چون کامپایلر خودکار براتون اضافه می کنه
با این حال نوشتنش برای افزایش خوانایی کد به مبتدیان توصیه میشه
❗️❗️❗️در++C مدرن ( نسخه ۱۱ به بعد) نیازی نیس که 0 return رو حتما در انتهای تابع ()mainاضافه کنید ❗️❗️❗️❗️
❗️نسخه 11 سال 2011 عرضه شد
❗️چون کامپایلر خودکار براتون اضافه می کنه
با این حال نوشتنش برای افزایش خوانایی کد به مبتدیان توصیه میشه
👍6❤3
آموزش رایگان ++C
👇👇👇👇👇👇
@cppw3schools
3⃣دلیل مهم یادگیری ++C
🟢پایهای قوی در مفاهیم اصلی برنامهنویسی
++C یک زبان سطح پایین است که مفاهیم اساسی مانند مدیریت حافظه، اشارهگرها و ساختار دادهها را معرفی میکند. یادگیری این زبان درک عمیقی از نحوه کار کامپیوترها به شما میدهد که در یادگیری زبانهای دیگر مفید خواهد بود.
🟢کارایی و سرعت بالا
++C به دلیل سرعت و عملکرد بالا شناخته شده است. این زبان به طور گسترده در صنایعی مانند توسعه بازی، امور مالی و برنامهنویسی سیستمها استفاده میشود. یادگیری آن شما را برای ساخت برنامههای با کارایی بالا آماده میکند.
🟢مهارتهای قابل انتقال
یادگیری ++C پایهای قوی در برنامهنویسی شیءگرا (OOP) و طراحی الگوریتمها ایجاد میکند که در بسیاری از زبانهای مدرن مانند پایتون، جاوا و سیشارپ استفاده میشوند. با تسلط بر ++C، یادگیری زبانهای دیگر آسانتر خواهد شد.
👇👇👇👇👇👇
@cppw3schools
3⃣دلیل مهم یادگیری ++C
🟢پایهای قوی در مفاهیم اصلی برنامهنویسی
++C یک زبان سطح پایین است که مفاهیم اساسی مانند مدیریت حافظه، اشارهگرها و ساختار دادهها را معرفی میکند. یادگیری این زبان درک عمیقی از نحوه کار کامپیوترها به شما میدهد که در یادگیری زبانهای دیگر مفید خواهد بود.
🟢کارایی و سرعت بالا
++C به دلیل سرعت و عملکرد بالا شناخته شده است. این زبان به طور گسترده در صنایعی مانند توسعه بازی، امور مالی و برنامهنویسی سیستمها استفاده میشود. یادگیری آن شما را برای ساخت برنامههای با کارایی بالا آماده میکند.
🟢مهارتهای قابل انتقال
یادگیری ++C پایهای قوی در برنامهنویسی شیءگرا (OOP) و طراحی الگوریتمها ایجاد میکند که در بسیاری از زبانهای مدرن مانند پایتون، جاوا و سیشارپ استفاده میشوند. با تسلط بر ++C، یادگیری زبانهای دیگر آسانتر خواهد شد.
❤3👍3
Calculator.cpp
3 KB
👍4❤1
مهمترین کتابخانه های ++C شماره ۱
کتابخانه <iostream> برای عملیات ورودی و خروجی در زبان C++ استفاده میشود. این کتابخانه امکان خواندن دادهها از ورودی استاندارد (کیبورد) و نوشتن دادهها به خروجی استاندارد (کنسول) را فراهم میکند.
اجزای کلیدی:
✅std::cin: ورودی را از کاربر میخواند
✅std::cout: دادهها را به کنسول نمایش میدهد.
✅std::cerr: پیامهای خطا را به کنسول نمایش میدهد.
آموزش رایگان ++C
@cppw3schools
#برنامه_نویسی
کتابخانه <iostream> برای عملیات ورودی و خروجی در زبان C++ استفاده میشود. این کتابخانه امکان خواندن دادهها از ورودی استاندارد (کیبورد) و نوشتن دادهها به خروجی استاندارد (کنسول) را فراهم میکند.
اجزای کلیدی:
✅std::cin: ورودی را از کاربر میخواند
✅std::cout: دادهها را به کنسول نمایش میدهد.
✅std::cerr: پیامهای خطا را به کنسول نمایش میدهد.
cout << "Enter the file URL: "; // پیام راهنما را به کنسول نمایش میدهد
cin >> url; // ورودی کاربر را میخواند و در متغیر url ذخیره میکند
آموزش رایگان ++C
@cppw3schools
#برنامه_نویسی
❤8
مهمترین کتابخانه های ++C شماره ۲
کتابخانه <fstream> برای مدیریت فایلها استفاده میشود. این کتابخانه امکان خواندن از فایل و نوشتن در فایلها را فراهم میکند.
اجزای اصلی:
✅ std::ifstream: دادهها را از یک فایل میخواند.
✅ std::ofstream: دادهها را در یک فایل مینویسد.
✅ std::fstream: امکان خواندن و نوشتن هر دو را فراهم میکند.
کتابخانه <fstream> برای مدیریت فایلها استفاده میشود. این کتابخانه امکان خواندن از فایل و نوشتن در فایلها را فراهم میکند.
اجزای اصلی:
✅ std::ifstream: دادهها را از یک فایل میخواند.
✅ std::ofstream: دادهها را در یک فایل مینویسد.
✅ std::fstream: امکان خواندن و نوشتن هر دو را فراهم میکند.
#include <fstream>
#include <iostream>
using namespace std;
int main() {
ofstream file("example.txt");
file << "سلام دنیا!";
file.close();
ifstream input("example.txt");
string content;
getline(input, content);
cout << content << endl;
input.close();
return 0;
}
❤10
مهم ترین کتابخانه های ++C شماره 3
<vector>
کتابخانه <vector> بخشی از کتابخانه (STL) است. این کتابخانه یک آرایه داینامیک(اندازه غیر ثابت) فراهم میکند که میتواند به صورت خودکار اندازه خود را بزرگ یا کوچک کند. برخلاف array که اندازه اش پس از ایجاد غیر قابل تغییر است.
ویژگیهای اصلی:
✅ اندازه آن به صورت خودکار تغییر میکند (بزرگ یا کوچک میشود).
✅ دادهها را در حافظه پیوسته ذخیره میکند که دسترسی به آنها را سریعتر میکند.
✅ از عملیات پیمایش و تغییر مانند اضافه کردن یا حذف عناصر پشتیبانی میکند.
در این مثال متد push_back در این کتابخانه به انتهای vector عنصر اضافه می کند.
#برنامه_نویسی
<vector>
کتابخانه <vector> بخشی از کتابخانه (STL) است. این کتابخانه یک آرایه داینامیک(اندازه غیر ثابت) فراهم میکند که میتواند به صورت خودکار اندازه خود را بزرگ یا کوچک کند. برخلاف array که اندازه اش پس از ایجاد غیر قابل تغییر است.
ویژگیهای اصلی:
✅ اندازه آن به صورت خودکار تغییر میکند (بزرگ یا کوچک میشود).
✅ دادهها را در حافظه پیوسته ذخیره میکند که دسترسی به آنها را سریعتر میکند.
✅ از عملیات پیمایش و تغییر مانند اضافه کردن یا حذف عناصر پشتیبانی میکند.
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);
for (int num : numbers) {
cout << num << " ";
}
return 0;
}
در این مثال متد push_back در این کتابخانه به انتهای vector عنصر اضافه می کند.
#برنامه_نویسی
❤5
مفهوم Pass By Value در ++C
✅تعریف این مفهوم : یک کپی از متغیر داخل حافظه ایجاد می شود و به عنوان آرگومان تابع داده می شود
✅نحوه عملکرد : تابع فقط روی مقدار کپی تغییرات را انجام می دهد ، و مقدار اصلی بدون تغییر می ماند
✅کاربرد: اگر قصد تغییر مقدار متغیر اصلی را ندارید ، و یا مقدار متغیر کوچک است مانند int و یا char
مثال :
در مثال بالا وقتی از x خروجی بگیریم مقدارش 11 و وقتی از num حتی بعد اجرای تابع خروجی بگیزیم مقدار 10 باقی می ماند.
✅تعریف این مفهوم : یک کپی از متغیر داخل حافظه ایجاد می شود و به عنوان آرگومان تابع داده می شود
✅نحوه عملکرد : تابع فقط روی مقدار کپی تغییرات را انجام می دهد ، و مقدار اصلی بدون تغییر می ماند
✅کاربرد: اگر قصد تغییر مقدار متغیر اصلی را ندارید ، و یا مقدار متغیر کوچک است مانند int و یا char
مثال :
#include <iostream>
using namespace std;
void incrementByValue(int x) {
x = x + 1;
cout << "Inside function: " << x << endl;
}
int main() {
int num = 10;
incrementByValue(num);
cout << "Outside function: " << num << endl;
return 0;
}
در مثال بالا وقتی از x خروجی بگیریم مقدارش 11 و وقتی از num حتی بعد اجرای تابع خروجی بگیزیم مقدار 10 باقی می ماند.
Inside function: 11
Outside function: 10
❤3👍2
مفهوم Pass By Reference در ++C
✅ تعریف : به جای کپی مقدار متغیر اصلی به عنوان آرگومان تابع به تابع داده می شود که به صورت ارجاع به متغیر تعریف می شود
✅ عملکرد: چون تابع به آدرس حافظه متغیر دسترسی دارد، پس می تواند مقدار متغیر اصلی را تغییر دهد.
✅ کاربرد: زمانی از این روش استفاده کنید که لازم است مقدار متغیر اصلی را تغییر دهید و مقدار متغیر اصلی بزرگ است و اگر در مموری کپی شود حجم زیادی میگیرد ( ساختار داده هایی نظیر آرایه ،وکتور و ..)
مثال :
در مثال فوق چون از علامت & استفاده کردیم قبل از آرگومان تابع بنابراین مقدار اصلی متغیر تغییر می کند و بعد ازاجرای تابع مقدار متغیر از ۱۰ به ۱۱ تبدیل می شود
✅ تعریف : به جای کپی مقدار متغیر اصلی به عنوان آرگومان تابع به تابع داده می شود که به صورت ارجاع به متغیر تعریف می شود
✅ عملکرد: چون تابع به آدرس حافظه متغیر دسترسی دارد، پس می تواند مقدار متغیر اصلی را تغییر دهد.
✅ کاربرد: زمانی از این روش استفاده کنید که لازم است مقدار متغیر اصلی را تغییر دهید و مقدار متغیر اصلی بزرگ است و اگر در مموری کپی شود حجم زیادی میگیرد ( ساختار داده هایی نظیر آرایه ،وکتور و ..)
مثال :
#include <iostream>
using namespace std;
void incrementByReference(int& x) {
x = x + 1;
cout << "Inside function: " << x << endl;
}
int main() {
int num = 10;
incrementByReference(num);
cout << "Outside function: " << num << endl;
return 0;
}
در مثال فوق چون از علامت & استفاده کردیم قبل از آرگومان تابع بنابراین مقدار اصلی متغیر تغییر می کند و بعد ازاجرای تابع مقدار متغیر از ۱۰ به ۱۱ تبدیل می شود
Inside function: 11
Outside function: 11
❤6👍2
میخوام گیم بسازم چه کتابخونه هایی از ++C رو باید یاد بگیرم ؟
این لیست محبوب ترین کتابخونه هاست
اگر تجربه کار با بقیه کتابخونه های مربوط به گیم
رو دارید کامنت بذارید 🌷🌷
آموزش رایگان ++C با ترجمه های سایت w3schools
👇👇👇
@cppw3schools
#C++ #برنامه_نویسی
این لیست محبوب ترین کتابخونه هاست
اگر تجربه کار با بقیه کتابخونه های مربوط به گیم
رو دارید کامنت بذارید 🌷🌷
آموزش رایگان ++C با ترجمه های سایت w3schools
👇👇👇
@cppw3schools
#C++ #برنامه_نویسی
❤6🔥2👍1
هدفت از یادگیری ++C چیه؟
Anonymous Poll
18%
گیم
12%
اینترنت اشیا و امبدد سیستم
31%
دانشگاه گفته
22%
نوشتن نرم افزار
17%
هوش مصنوعی
سوال روز مخصوص دانشجویان عزیز❤️
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string userInput;
std::cout << "Enter a string: ";
std::getline(std::cin, userInput);
std::transform(userInput.begin(), userInput.end(), userInput.begin(), ::toupper);
std::cout << "Uppercase string: " << userInput << std::endl;
return 0;
}
❤6👍2🥰1
Cplusplus.com.pdf
382.1 KB
🤯🤯🤯ترجمه دو فصل از خفن ترین سایت آموزش ++C یعنی cplusplus.com
ترجمه صفحات زیر:
https://cplusplus.com/doc/tutorial/introduction/
https://cplusplus.com/doc/tutorial/program_structure/
آموزش رایگان ++C در کانال
@cppw3schools
ترجمه صفحات زیر:
https://cplusplus.com/doc/tutorial/introduction/
https://cplusplus.com/doc/tutorial/program_structure/
آموزش رایگان ++C در کانال
@cppw3schools
نقشه راه امبدد.pdf
6.6 MB
نقشه راه برنامه نویسی امبدد و اینترنت اشیا(IOT) به درخواست های زیاد شما عزیزان 😊😊
❗️❗️✅نکته مهم: حتماً با پروژههای کوچک شروع کنید (مثل Arduino) و بعدش به سمت میکروکنترلرهای حرفهایتر برید. کلید اصلی حرفه ای شدن انجام پروژه های عملی هست 🔑🔑
❗️❗️✅نکته مهم: حتماً با پروژههای کوچک شروع کنید (مثل Arduino) و بعدش به سمت میکروکنترلرهای حرفهایتر برید. کلید اصلی حرفه ای شدن انجام پروژه های عملی هست 🔑🔑
❤1
چرا rust به جای ++C ؟
یکی از مهمترین مسئولیتهای یک برنامهنویس C++، مدیریت صحیح حافظه است. در این زبان بر خلاف زبانهایی مثل Java یا #C، مکانیزم Garbage Collector وجود ندارد و توسعهدهنده باید بهصورت دستی حافظه را آزاد کند. در پروژههای کوچک شاید این موضوع ساده به نظر برسد، اما وقتی کد بزرگتر میشود و هزاران خط دارد، خطاهای رایجی مانند نشت حافظه (Memory Leak) رخ میدهد.
نشت حافظه زمانی رخ می دهد که ما با دستور new , حافظه رزرو کردیم اما فراموش کردیم که با دستور free آزاد کنیم.
در نتیجه بخشهایی از RAM در اختیار برنامه باقی میمانند، ولی دیگر قابل استفاده نیستند. این موضوع میتواند منجر به افزایش تدریجی مصرف حافظه، کاهش کارایی، و در شرایط حاد حتی کرش برنامه شود
پس زبان Rust طراحی شد تا این مشکلات را بهصورت بنیادی حل کند. Rust با استفاده از سیستم مالکیت (Ownership System) و بررسیهای زمان کامپایل، امکان نشت حافظه یا دسترسی غیرایمن به حافظه را عملاً از بین میبرد. به همین دلیل، در پروژههایی که ایمنی حافظه و پایداری بالا اهمیت دارد، Rust میتواند جایگزین بسیار بهتری نسبت به C++ باشد.
یکی از مهمترین مسئولیتهای یک برنامهنویس C++، مدیریت صحیح حافظه است. در این زبان بر خلاف زبانهایی مثل Java یا #C، مکانیزم Garbage Collector وجود ندارد و توسعهدهنده باید بهصورت دستی حافظه را آزاد کند. در پروژههای کوچک شاید این موضوع ساده به نظر برسد، اما وقتی کد بزرگتر میشود و هزاران خط دارد، خطاهای رایجی مانند نشت حافظه (Memory Leak) رخ میدهد.
نشت حافظه زمانی رخ می دهد که ما با دستور new , حافظه رزرو کردیم اما فراموش کردیم که با دستور free آزاد کنیم.
در نتیجه بخشهایی از RAM در اختیار برنامه باقی میمانند، ولی دیگر قابل استفاده نیستند. این موضوع میتواند منجر به افزایش تدریجی مصرف حافظه، کاهش کارایی، و در شرایط حاد حتی کرش برنامه شود
پس زبان Rust طراحی شد تا این مشکلات را بهصورت بنیادی حل کند. Rust با استفاده از سیستم مالکیت (Ownership System) و بررسیهای زمان کامپایل، امکان نشت حافظه یا دسترسی غیرایمن به حافظه را عملاً از بین میبرد. به همین دلیل، در پروژههایی که ایمنی حافظه و پایداری بالا اهمیت دارد، Rust میتواند جایگزین بسیار بهتری نسبت به C++ باشد.
آموزش رایگان ++C ، Rust ,golang
چرا rust به جای ++C ؟ یکی از مهمترین مسئولیتهای یک برنامهنویس C++، مدیریت صحیح حافظه است. در این زبان بر خلاف زبانهایی مثل Java یا #C، مکانیزم Garbage Collector وجود ندارد و توسعهدهنده باید بهصورت دستی حافظه را آزاد کند. در پروژههای کوچک شاید این موضوع…
خلاصه این مطلب اینکه مدیریت حافظه در++C باید توسط برنامه نویس انجام شه که هم مزیت حساب میشه هم میتونه مشکل ساز باشه ،در صورتی که در Rust نیاز به مدیریت دستی حافظه برطرف میشه