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

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

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


مدرس : حمیدرضا غلامی بروجنی
Download Telegram
C++ program آموزش
تمرین: برنامه ای بنویسید که عددی را به عنوان شعاع دایره از کاربر دریافت کند و سپس محاسبه کند با افزایش شعاع به اندازه ی ۵ واحد ، مساحت و محیط چند درصد افزایش پیدا می کنند ؟؟؟ دقت کنید برای شعاع تنها از یک متغیر استفاده کنید تمامی مباحث بالا در تمرین رعایت…
جواب تمرین

#include <iostream>

using namespace std;
#define pi 3.1415
int main()
{
int R, mohit1, masahat1, mohit2, masahat2;
double a,b;
cout«"enter R :";
cin»R;
mohit1=2*pi*R;
masahat1=R*R*pi;
R+=5;
mohit2=2*pi*R;
masahat2=R*R*pi;
a=((mohit2-mohit1)*100)/mohit1;
b=((masahat2-masahat1)*100)/masahat1;
cout<<"mohit "<<a<<"% afzaesh dasht\nmasahat "<<b<<"% afzaesh dasht";
int tend;
cin>>tend;
return 0;
}
#نکته
/* Test integer limits in <climits> header */
#include <iostream>
#include <climits>
// integer limits
using namespace std;
int main() {
cout << "int max = " << INT_MAX << endl;
cout << "int min = " << INT_MIN << endl;
cout << "unsigned int max = " << UINT_MAX << endl;

cout << "long long max = " << LLONG_MAX << endl;
cout << "long long min = " << LLONG_MIN << endl;
cout << "unsigned long long max = " << ULLONG_MAX << endl;
cout << "Bits in char = " << CHAR_BIT << endl;
cout << "char max = " << CHAR_MAX << endl;
cout << "char min = " << CHAR_MIN << endl;
cout << "signed char max = " << SCHAR_MAX << endl;
cout << "signed char min = " << SCHAR_MIN << endl;
cout << "unsigned char max = " << UCHAR_MAX << endl;
return 0;
}

int max = 2147483647
int min = -2147483648

unsigned int max = 4294967295
long long max = 9223372036854775807
long long min = -9223372036854775808
unsigned long long max = 18446744073709551615
Bits in char = 8
char max = 127
char min = -128
signed char max = 127
signed char min = -128
unsigned char max = 255


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


موارد بالا نکته هایی هستند که برای اطلاع عمومی قرار داده می شوند
در سوالات از این نکته ها سوالی طرح نمی شود


خروجی کد بالا در پایین ان قرار داده شده است

هر نوع داده عددی حداقل و حداکثر میتواند عددی مقابل انچه رو به روی ان قرار دارد را در خود ذخیره کند
/* Testing mix-type arithmetic operations (TestMixTypeOp.cpp) */
#include <iostream>
#include <iomanip>
// needed for formatting floating-point numbers
using namespace std;
int main() {
int i1 = 2, i2 = 4;
double d1 = 2.5, d2 = 5.0;
// Print floating-points in fixed format with 1 decimal place
cout << fixed << setprecision(1); // need <iomanip>
cout << i1 << " + " << i2 << " = " << i1+i2 << endl;
// 6
cout << d1 << " + " << d2 << " = " << d1+d2 << endl;
// 7.5
cout << i1 << " + " << d2 << " = " << i1+d2 << endl;
// 7.0 <==
cout << i1 << " - " << i2 << " = " << i1-i2 << endl;
// -2
cout << d1 << " - " << d2 << " = " << d1-d2 << endl;
// -2.5
cout << i1 << " - " << d2 << " = " << i1-d2 << endl;
// -3.0 <==
cout << i1 << " * " << i2 << " = " << i1*i2 << endl;
// 8
cout << d1 << " * " << d2 << " = " << d1*d2 << endl;
// 12.5
cout << i1 << " * " << d2 << " = " << i1*d2 << endl;
// 10.0 <==
cout << i1 << " / " << i2 << " = " << i1/i2 << endl;
// 0 <==
cout << d1 << " / " << d2 << " = " << d1/d2 << endl;
// 0.5
cout << i1 << " / " << d2 << " = " << i1/d2 << endl;
// 0.4 <==
return 0;
}

مثال تکمیلی برای قسمت علمگر ها و محاسبه
به مقادیری که توسط پیکان نشان داده شده اند دقت کنید

هر گاه دو متغیر از نوع صحیح را بر هم تقسیم کنید حاصل ان به صورت صحیح نمایش داده می شود
پس اگرi1 بر i2 تقسیم شود در حالت نمایش صحیح مقدار صفر می شود
ولی در نمایش عدد اعشاری که شامل صحیح و اعشاری است این مقدار به صورت 0.5 می باشد
قسمت هشتم

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

مبحث رشته های کاراکتر

#include <string>
using namespace std;
string str1("Hello");
// Initialize with a string literal (Implicit initialization)
string str2 = "world";
// Initialize with a string literal (Explicit initialization via assignment operator)
string str3;
// Initialize to an empty string
string str4(str1);
// Initialize by copying from an existing string object

برای ذخیره یک کلمه و یا جمله از متغیر از نوع کاراکتر یا string استفاده می کنیم

روش های مقدار گذاری در بالا نمایش داده شده است

تمرین :
یک رشته را مقدار گذاری کنید و در متغیر دیگری قرار دهید متغیر دوم را توسط عبارت خطی cout چاپ کنید همانند متغیر های دیگر
پاسخ تمرین هشتم

/* Testing string class input and output (TestStringIO.cpp) */
#include <iostream>
#include <string>
// Need this header to use string class
#include <limits>
using namespace std;
// Also needed for <string>
int main() {
string message("Hello");
cout << message << endl;
// Input a word (delimited by space)
// into a string
cout << "Enter a message (no space): ";
cin >> message;
cout << message<<endl;
cout << "Enter a message (with spaces): ";
getline(cin, message);
// Read input from cin into message
cout << message << endl;
return 0;
}

توسط دو عبارت cin, getline می توانید رشته حروف را دریافت کنید
لطفا با بررسی کد بالا مشخص کنید تفاوت این دو در دریافت و نمایش چه چیزی می باشد ؟

کد بالا به صورت استاندارد بر روی نرم افزار codeblocks 12 قابل اجرا می باشد

لطفا برای حمایت از ما در ربات تلگرام به ما امتیاز دهید
از طریق لینک زیر اقدام نمایید

https://telegram.me/tchannelsbot?start=cppprogram
قسمت نهم
/* * Sum the odd and even numbers from 1 to an upperbound (SumOddEven.cpp) */
#include <iostream>
using namespace std;
int main() {
int sumOdd = 0;
// For accumulating odd numbers, init to 0
int sumEven = 0;
// For accumulating even numbers, init to 0
int upperbound;
// Sum from 1 to this upperbound
// Prompt user for an upperbound
cout << "Enter the upperbound: ";
cin >> upperbound;
// Use a loop to repeatedly add 1, 2, 3,..., up to upperbound
int number = 1;
while (number <= upperbound) {
if (number % 2 == 0) {
// even number sumEven = sumEven + number;
}
else {
// odd number
sumOdd = sumOdd + number;
}
++number;
// increment number by 1
}
// Print the results
cout << "The sum of odd numbers is "
<< sumOdd << endl;
cout << "The sum of even numbers is " << sumEven << endl;
cout << "The difference is " << (sumOdd - sumEven) << endl;
return 0;
}
خروجی برنامه به صورت زیر می باشد

Enter the upperbound: 1000
The sum of odd numbers is 250000
The sum of even numbers is 250500
The difference is -500

توضیح
در این قسمت دو عبارت پر کاربرد while, if, else تدریس می شود

اگر در برنامه شما یک عملیات محاسباتی که توسط عملگر ها انجام می شود ( در قسمت های قبلی تدریس شده است) به دفعات مشخصی باید تکرار شود به جای نوشتن چند باره ان می توانید از حلقه استفاده کنید .
حلقه ها در زبان سی پلاس پلاس بر سه قسم هستند که یکی از آن ها حلقه شرط مبنا یا while می باشد این حلقه پایه ترین حالت می باشد و تنها نیاز به یک عبارت شرطی برای استفاده از آن دارید
عبارت شرطی عبارتی است که مقایسه بین دو متغیر یا یک متغیر و عدد ثابت و یا... می باشد مثال :
int a;
a=2;
while (a<3)// عبارت شرطی داخل پرانتز
{
a++; // عبارت محاسباتی
}

عبارت شرطی به وسیله ی عملگر های مقایسه ای و یا اعتبار سنجی ایجاد می شود
به این مبحث در قسمت ده کامل پرداخته می شود

حال اگر عبارت شرطی درست باشد عبارت داخل متن حلقه اجرا می شود و در صورتی که عبارت شرطی غلط باشد کد عبارت محاسباتی را اجرا نکرده و بعد از کروشه بسته را اجرا خواهد کرد

در صورتی که از عبارت منطقی if, else استفاده کنیم نیز با تفاوت اینکه دیگر حلقه نیست هم همین عمل اتفاق می افتد

int a=2;
if(a>2)
{
a+=3;
}
else{
a-=3;
}

اگر شرط برقرار باشد عبارت محاسباتی داخل بلاک اول یک بار اجرا می شود و در صورت اینکه عبارت شرطی اشتباه باشد عبارت محاسباتی بلاک دوم بعد از else اجرا می شود

از کانال ما حمایت کنید


🌹🌹🌹🌹روز ولادت حضرت معصومه سلام الله علیها مبارک 🌷🌷🌷🌷
روز دختر مبارک 🌹🌷
کانال برنامه نویسی سی پلاس پلاس را چگونه ارزیابی میکنید؟
anonymous poll

مباحث خوب و بروزرسانی مرتب – 6
👍👍👍👍👍👍👍 86%

کانال مناسبی نیست – 1
👍 14%

بروزرسانی مرتب
▫️ 0%

مباحث خوب
▫️ 0%

👥 7 people voted so far.
امتحان این هفته لطفا جواب سوالات را به آی دی کاربری @hrgh74 ارسال نمایید

سوال اول :
ساختار کلی یک برنامه در زبان سی پلاس پلاس به چه صورت شروع می شود و نشان پایان یافتن برنامه چیست؟

سوال دوم :
خروجی نهایی کد زیر کدام است؟

#include <iostream>
using namespace std;

int main(){
a=2;
a++;
cout«a;

return 0;
}


سوال سوم :
خروجی کد زیر کدام مقدار است؟

#include <iostream>
using namespace std;

int main(){
int a,b,c=5.5;
double d(10.01);

a=d;
b=c;
cout«a+b;

return 0;
}


سوال چهارم :

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



سوال آخر :

برای محاسبه باقیمانده دو عدد صحیح از چه نمادی استفاده می کنیم
با مثال نمایش دهید ؟


فرصت پاسخگویی تا ۹ شب تاریخ ۰۵/۰۸
ادامه مبحث شرطی
قسمت دهم

/* * Sum the odd and even numbers from 1 to an upperbound (SumOddEven.cpp) */

#include <iostream>

using namespace std;
int main() {
int sumOdd = 0;

// For accumulating odd numbers, init to 0

int sumEven = 0;

// For accumulating even numbers, init to 0

int upperbound;
// Sum from 1 to this upperbound
// Prompt user for an upperbound

cout << "Enter the upperbound: ";

cin >> upperbound;
// Use a loop to repeatedly add 1, 2, 3,..., up to upperbound

int number = 1;
while (number <= upperbound)
{
if (number % 2 == 0)
{
// even number
sumEven = sumEven + number;
}
else { // odd number
sumOdd = sumOdd + number;
} ++number;
// increment number by 1
}
// Print the results
cout
<< "The sum of odd numbers is "
<< sumOdd
<< endl;

cout
<< "The sum of even numbers is "
<< sumEven
<< endl;
cout
<< "The difference is "
<< (sumOdd - sumEven)
<< endl;
return 0;
}
برای نوشتن یک کد شرطی باید بدانید که کدام متغیر در شرط شرکت داده می شود و باید چه چیز آن مورد بررسی قرار گرفته شود

توجه داشته باشید که عبارت هایی مانند

a>2

یک عبارت مقایسه ای هستند و در صورتی که متغیر a مقداری بزرگ تر از 2 داشته باشد خروجی عبارت مقایسه ای مقدار TRUE می باشد و در غیر این صورت مقدار FALSE .

پس هر عبارت مقایسه ای می تواند یک بخش از یک عبارت شرطی باشد
عبارت های مقایسه ای مختلفی وجود دارد در این بخش به چند نمونه اشاره می شود :

int a=5;
if(a>1){
cout«"a more than 1";
}
else if(a<5){
cout«"a less than 5";
}
else{
cout«"a more or equal 5 ";
}

if(a==5){
cout«"a مساوی ۵ می باشد";
}

if(a!=3){
cout«"a is not equal 3"; //متغیر برابر ۳ نمی باشد
}
قسمت یازدهم

عبارت های مقایسه ای

> greater than 5 > 4 is TRUE
< less than 4 < 5 is TRUE
>= greater than or equal 4 >= 4 is TRUE
<= less than or equal 3 <= 4 is TRUE
== equal to 5 == 5 is TRUE
!= not equal to 5 != 4 is TRUE

A. !( 1 || 0 ) ANSWER: 0
B. !( 1 || 1 && 0 ) ANSWER: 0 (AND is evaluated before OR)
C. !( ( 1 || 0 ) && 0 ) ANSWER: 1 (Parenthesis are useful)


if ( TRUE )
Execute the next statement

if ( TRUE ) {
Execute all statements inside the braces
}

هر دو حالت بالا صحیح است در حالت اول تنها خط بعد از عبارت انجام می شود در صورتی که شرط صحیح باشد و در حالت دوم خط و یا خط هایی که در داخل کروشه ها قرار دارند



if ( TRUE ) {
// Execute these statements if TRUE
}
else {
// Execute these statements if FALSE
}


در صورتی که عبارت صحیح باشد کروشه اول و در صورتی که عبارت مقایسه ای غلط باشد کروشه دوم انجام می شود ( کروشه ای که بعد از عبارت else قرار دارد)



نمونه مثال در مورد عبارت های مقایسه ای و شرط


#include <iostream>

using namespace std;

int main() // Most important part of the program!
{
int age; // Need a variable...

cout«"Please input your age: "; // Asks for age
cin» age; // The input is put in age
cin.ignore(); // Throw away enter
if ( age < 100 ) { // If the age is less than 100
cout«"You are pretty young!\n"; // Just to show you it works...
}
else if ( age == 100 ) { // I use else just to show an example
cout«"You are old\n"; // Just to show you it works...
}
else {
cout«"You are really old\n"; // Executed if no other statement is
}
cin.get();
}
لطفا سوالات و یا اشکالات خود را در مورد مباحث مطرح شده به نشانی @hrgh74 ارسال نمایید

1️⃣3️⃣9️⃣6️⃣#️⃣0️⃣5️⃣#️⃣2️⃣5️⃣
#نکته

دستورات شرطی به طور کلی به صورت زیر می باشند


if (condition 1)
{
// block 1
}
else if (condition 2)
{
// block 2
}
...
else if (condition N)
{
// block N
}
else
{
// Optional block to be executed if all of the
// previous conditions evaluated to false
}

واژگان :
condition=شرط (عبارت مقایسه ای)
block=قسمتی که کد در آن قرار داده میشود (داخل کروشه)
#مثال

فرض کنید نمرات درسی دانش آموزان یک کلاس را در اختیار دارید و می خواهید توسط برنامه ای درجه کیفی آن ها را نشان دهید

درجه کیفی نمرات بالای ۹۰ با حرف A
و سایر نمرات نیز به ترتیب با حروف B C D F

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

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


int grade;
cin> >grade;
if (grade >= 90)
{
letter_grade = 'A';
}
else if (grade >= 80)
{
letter_grade = 'B';
}
else if (grade >= 70)
{
letter_grade = 'C';
}
else if (grade >= 60)
{
letter_grade = 'D';
}
else
{
letter_grade = 'F';
}
کد بررسی زوج یا فرد بودن عدد دریافت شده از کاربر
قسمت ۱۲

نوع داده آرایه


امروز در مورد نوع داده آرایه قرار است صحبت کنیم .
آرایه مجموعه متغیر هایی هستند که توسط یک عدد نشانه گذاری شده اند

به این معنی که شما در متغیر زیر تنها می توانید یک عدد را ذخیره کنید اما در آرایه می توانید مجموعه ای از اعداد را ذخیره کنید که برای دسترسی به هر عدد از طریق یک عدد می توانید این کار را انجام دهید .

int a;
a=5;

cout< <a; //تنها عدد ۵ چاپ می شود

اما در حالت آرایه شما مجموعه اعداد را به تعداد مشخص را در یک متغیر قرار می دهید و ذخیره می کنید .

int mark[5] = {19, 10, 8, 17, 9};

تنها تفاوتی که یک متغیر ساده با آرایه دارند این است که شما باید بعد از اسم متغیر داخل [] طول آرایه را بنویسید

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

int marker[5]; // طول ارایه ۵ است
mark[0] = 19; // شمارشگر اول صفر است
mark[1] = 10;
mark[2] =8;
mark[3] =17;
mark[4] =9; // شمارشگر آخر از طول آرایه یک واحد کمتر

دقت کنید که شمارشگر آرایه ها از عدد صفر شروع می شود و آخرین شمارشگر از طول کل آرایه یک واحد کمتر است


از طریق حلقه for هم می توانید آرایه را مقدار گذاری کنید

توضیحات حلقه for در ادامه هم داده می شود
#include <iostream>
using namespace std;

int main()
{
int numbers[5], sum = 0;
cout « "Enter 5 numbers: ";

// Storing 5 number entered by user in an array
// Finding the sum of numbers entered
for (int i = 0; i < 5; ++i)
{
cin > > numbers[i];
sum += numbers[i];
}

cout < < "Sum = " < < sum < < endl;

return 0;
}