• Tidak ada hasil yang ditemukan

ﺧﻼﺻﻪ درس دوم ١ ﺳﺎﺧﺘﺎر ﮐﻠ ﯾ ﺑﺮﻧﺎﻣﻪ ++C

N/A
N/A
Protected

Academic year: 2025

Membagikan "ﺧﻼﺻﻪ درس دوم ١ ﺳﺎﺧﺘﺎر ﮐﻠ ﯾ ﺑﺮﻧﺎﻣﻪ ++C"

Copied!
8
0
0

Teks penuh

(1)

٩٦ نﺎﺘﺴﻣز ‐ ﻪﺘﻓﺮﺸﯿﭘ ﺴﯾﻮﻧ ﻪﻣﺎﻧﺮﺑ یﺮﻫﻮﺟ ﻦﯿﺴﺣ :ﻂﺳﻮﺗ ﺲﯾرﺪﺗ ﺳﻮﻃ ﻦﯾﺪﻟاﺮﯿﺼﻧ ﻪﺟاﻮﺧ هﺎ ﺸﻧاد ‐ ﺿﺎﯾر هﺪ ﺸﻧاد

مود سرد ﻪﺻﻼﺧ

:سرد ﻦﯾا ﻢﯿﻫﺎﻔﻣ ﻊﺑاﻮﺗ ﺎﺑ رﺎﮐ زا ﻟﺎﺜﻣ C++ ﻪﻣﺎﻧﺮﺑ ﯾ ﻠﮐ رﺎﺘﺧﺎﺳ

پوﺮﺗ سرﺎﺘﺳا ﻪﻧرﺎﯿﺑ ﻂﺳﻮﺗ ١٩٧٩ لﺎﺳ رد ﻪﮐ ﺖﺳا هرﻮﻈﻨﻣ ﻪﻤﻫ ﺴﯾﻮﻧ ﻪﻣﺎﻧﺮﺑ نﺎﺑز ﯾ C++ ﺴﯾﻮﻧ ﻪﻣﺎﻧﺮﺑ نﺎﺑز و ﺪﺷﺎﺑ ﻣ C ﺴﯾﻮﻧ ﻪﻣﺎﻧﺮﺑ نﺎﺑز زا یا ﻪﻌﺳﻮﺗ ﻊﻗاو رد C++ نﺎﺑز .ﺖﺳا هﺪﺷ ﺣاﺮﻃ Bjarne Stroustrup ﻪﻤﻫ ﺎﺒﯾﺮﻘﺗ .ﺖﺳا هدﺮﮐ ﻪﻓﺎﺿا C ﻪﺑ ار هﺮﯿﻏ و یزﺎﺠﻣ ﻊﺑاﻮﺗ ،اﺮﮔ ﺷ ﺴﯾﻮﻧ ﻪﻣﺎﻧﺮﺑ ﻪﻠﻤﺟ زا یدﺎﯾز یﺎﻬﺘﯿﻠﺑﺎﻗ .ﺪﻨﺘﺴﻫ هدﺎﻔﺘﺳا ﻞﺑﺎﻗ C++ نﺎﺑز رد C نﺎﺑز تارﻮﺘﺳد

C++ ﻪﻣﺎﻧﺮﺑ ﯾ ﻠﮐ رﺎﺘﺧﺎﺳ ١

.ﺪﺷﺎﺑ ﻣ ﻊﺑاﻮﺗ و ﺎﻬﺳﻼﮐ ،ﺎﻫﺮﯿﻐﺘﻣ ،ﺎﻫ هﺪﻧزادﺮﭘ ﺶﯿﭘ ﻒﯾﺮﻌﺗ زا یا ﻪﻋﻮﻤﺠﻣ C++ ی ﻪﻣﺎﻧﺮﺑ ﯾ ﻪﺻﻼﺧ رﻮﻄﺑ هدﺎﺳ ﻪﻣﺎﻧﺮﺑ ﯾ

#include <iostream>

int main() {

std::cout << "Hello, world! \n";

return 0;

}

(2)

C++ رد ﻊﺑاﻮﺗ زا هدﺎﻔﺘﺳا

#include <iostream>

using namespace std;

int Square (int n) {

return n*n;

}

int Cube (int n) {

return n*n*n;

}

int main() {

Cout << “The Square of 27 is “ << Square(27) << endl;

Cout << “The Cube of 27 is “ << Cube(27) << endl;

return 0;

}

.ﺖﺳا ﻪﻣﺎﻧﺮﺑ یاﺮﺑ ﺎﻬﺿﺮﻓ ﺶﯿﭘ یﺮﺳ ﯾ نﻼﻋا ﻞﻣﺎﺷ preprocessor directivesﺎﻫ هﺪﻧزادﺮﭘ ﺶﯿﭘ • ( header ﻞﯾﺎﻓ ﯾ ﺎﺣﻼﻄﺻا ) c++ ﺮ ﯾد ﻪﻣﺎﻧﺮﺑ ﺎﯾ ﻪﻧﺎﺨﺑﺎﺘﮐ ﯾ include هﺪﻧزادﺮﭘ ﺶﯿﭘ لﺎﺜﻣ یاﺮﺑ ﺮ ﯾد یﺎﻫ ﻪﻣﺎﻧﺮﺑ تﺎﻧﺎ ﻣا و راﺰﺑا زا ﺪﻧاﻮﺗ ﻣ دﻮﺟﻮﻣ ﻪﻣﺎﻧﺮﺑ ،رﺎﮐ ﻦﯾا ﺎﺑ .ﺪﻨﮐ ﻣ ﻪﻓﺎﺿا دﻮﺟﻮﻣ ﻪﻣﺎﻧﺮﺑ ﻪﺑ ار ﻪﺑ طﻮﺑﺮﻣ یﺎﻫراﺰﺑا و ﻒﯾرﺎﻌﺗ ﻞﻣﺎﺷ include<iostream> هﺪﻧزادﺮﭘ ﺶﯿﭘ لﺎﺜﻣ ناﻮﻨﻋ ﻪﺑ .ﺪﻨﮐ هدﺎﻔﺘﺳا ﺮﯾز هﺪﻧزادﺮﭘ ﺶﯿﭘ .ﺖﺳا ﺟوﺮﺧ و یدورو یﺎﻬﻧﺎﯾﺮﺟ زا هدﺎﻔﺘﺳا

#define TableSize 100

TableSize زا ﻪﮐ ﻪﻣﺎﻧﺮﺑ یﺎﺟ ﺮﻫ .ﺪﻨﮐ ﻣ ﻒﯾﺮﻌﺗ100راﺪﻘﻣ ﺎﺑ و ﺖﺑﺎﺛ ﯾ ترﻮﺼﺑ ار TableSize ﻢﺳا .دﺮﯿﮔ ﻣ ﺮﻈﻧ رد100دﺪﻋ یﺎﻨﻌﻣ ﻪﺑ ار نآ ﺮﻠﯾﺎﭙﻣﺎﮐ ﺪﺷ هدﺎﻔﺘﺳا .ﺪﺷ ﺪﻫاﻮﺧ هداد ﺢﯿﺿﻮﺗ یﺪﻌﺑ سورد رد class سﻼﮐ درﻮﻣ رد .سﻼﮐ • ﻒﯾﺮﻌﺗ یﺎﻬﺳﻼﮐ و دﻮﺟﻮﻣ یا هداد عاﻮﻧا زا ﻪﺘﻓﺮﮔﺮﺑ ﺮﯿﻐﺘﻣ یﺮﺳ ﯾ ﻒﯾﺮﻌﺗ و نﻼﻋا ﻞﻣﺎﺷ ﺎﻫﺮﯿﻐﺘﻣ ﻒﯾﺮﻌﺗ •

رﻮﺘﺳد لﺎﺜﻣ یاﺮﺑ .ﺪﺷﺎﺑ ﻣ هﺪﺷ

int x=43;

.ﺪﻨﮐ ﻣ ﻒﯾﺮﻌﺗ43ﻪﯿﻟوا راﺪﻘﻣ ﺎﺑ x ﻢﺳا ﻪﺑ ﺮﯿﻐﺘﻣ ﯾ

(3)

یﺮﺳ ﯾ ﻊﺑاﻮﺗ ﻻﻮﻤﻌﻣ .ﺪﻫد ﻣ مﺎﺠﻧا ار ﺻﺎﺧ ﻪﻔﯿﻇو و ﺖﺳا تارﻮﺘﺳد زا ﻪﻋﻮﻤﺠﻣ ﻞﻣﺎﺷ ﻊﺑﺎﺗ ﺮﻫ • مﺎﻧ ﻪﺑ ﻠﺻا ﻊﺑﺎﺗ ﯾ C++ ﻪﻣﺎﻧﺮﺑ ﺮﻫ .ﺖﺳا ﻊﺑﺎﺗ رﺎﮐ ﻪﺠﯿﺘﻧ ﻪﮐ دراد ﺟوﺮﺧ ﯾ و (ﺎﻫﺮﺘﻣارﺎﭘ) یدورو ﺮ ﯾد ﻊﺑاﻮﺗ main ﻊﺑﺎﺗ نورد .دﻮﺷ ﻣ عوﺮﺷ main ﻊﺑﺎﺗ یاﺮﺟا ﺎﺑ هراﻮﻤﻫ ﻪﻣﺎﻧﺮﺑ یاﺮﺟا .دراد main .دﻮﺷ هﺪﻧادﺮﮔﺮﺑ main ﻊﺑﺎﺗ ﻪﺑ ﺎﻬﻧآ ﺞﯾﺎﺘﻧ و ﺪﻧﻮﺷ ﻧاﻮﺧاﺮﻓ ﺖﺳا ﻦ ﻤﻣ

[ ﺎﻫ هﺪﻧزادﺮﭘ ﺶﯿﭘ Preprocessor Directives

]

[ ﺎﻬﺳﻼﮐ ﻒﯾﺮﻌﺗ Class Definitions

]

[ ﺎﻫﺮﯿﻐﺘﻣ ﻒﯾﺮﻌﺗ Variable Declarations

]

[ main ﻊﺑﺎﺗ ﻞﻣﺎﺷ ﻊﺑاﻮﺗ ﻒﯾﺮﻌﺗ Functions

]

(4)

C++ رد سﻼﮐ زا هدﺎﻔﺘﺳا زا ﻟﺎﺜﻣ

#include <iostream>

#define TableSize 100;

using namespace std;

class Car {

public:

Car(int color, spring brand);

start();

drive();

stop();

speed_Up(int speed);

speed_Down(int speed);

fill_tank();

get_Color();

get_Tank();

private:

int speed;

string color;

double tank;

string brand;

}

void Square (int n) { return n*n; } int Cube (int n) { return n*n*n; } int main()

{

int a[Table_Size];

Car mycar(“red”, “bmw”);

mycar.Start();

mycar.Drive();

mycar.Speed_Up(100);

mycar.Speed_Down(60);

mycar.Stop();

return 0;

}

(5)

string سﻼﮐ روﺮﻣ ٢

.ﺪﻨﮐ ﻣ دﺎﺠﯾا ار هﺪﺷ هداد ﻪﯿﻟوا ﺮﯾدﺎﻘﻣ ﺎﺑ strb و stra یﺎﻬﻣﺎﻧ ﻪﺑ string عﻮﻧ زا ﺊﯿﺷ ود ﺮﯾز تارﻮﺘﺳد string stra(“hello, how are you?”);

string strb(“fine, thanks.”);

ﺎﺑ ﻪﮐ strb و stra ﻪﺘﺷر ود لﺎﺼﺗا ﺎﺑ ﺮﺑاﺮﺑ ار نآ راﺪﻘﻣ و ﺪﻨﮐ ﻣ دﺎﺠﯾا ار string عﻮﻧ زا strc ﺌﺷ ﺮﯾز رﻮﺘﺳد .ﺪﻫد ﻣ راﺮﻗ ﺪﻧا هﺪﺷ اﺪﺟ ﻢﻫ زا ﻂﺧ نﺎﯾﺎﭘ ﺮﺘﮐارﺎﮐ ﯾ string strc = stra + “\n” +strb;

.ﺪﻧادﺮﮔ ﻣﺮﺑ ار ﻪﺘﺷر لﻮﻃ length ﺪﺘﻣ cout << strc.length(); // prints 33

فﺮﺣ j نآ لﻮﻃ و هﺪﺷ عوﺮﺷ i ﺲﯾﺪﻧا رد ﻪﮐ ﺪﻧادﺮﮔ ﻣﺮﺑ ار رﻮﮐﺬﻣ ﻪﺘﺷر زا ﻪﺘﺷرﺮﯾز ﯾ substr(i،j) ﺪﺘﻣ .ﺖﺳا cout<< strc.substr(7,3); // prints how

طﻮﺑﺮﻣ یﺎﻫﺪﺘﻣ ناﻮﺗ ﻣ ﻞﯿﻟد ﻦﯿﻤﻫ ﻪﺑ .ﺖﺳا string عﻮﻧ زا ﺌﺷ ﯾ دﻮﺧ یﺪﯿﻟﻮﺗ ﻪﺘﺷرﺮﯾز ﻪﮐ ﺪﯿﻨﮐ ﺖﻗد .دﺮﮐ ﻧاﻮﺧاﺮﻓ نآ یاﺮﺑ ار string ﻪﺑ cout<< str3.substr(7,3).length(); //prints 3

( header ﻞﯾﺎﻓ و ﻊﺑاﻮﺗ ﺎﺑ رﺎﮐ ) ﻪﻠﺌﺴﻣ ﯾ ﻞﺣ ٣

.ﺪﻨﮐ ﻪﺴﯾﺎﻘﻣ ﻢﻫ ﺎﺑ ار ﻒﻠﺘﺨﻣ ( ﺴﻤﺷ – یﺮﺠﻫ) ﺦﯾرﺎﺗ ود ﻪﮐ ﻢﯿﺴﯾﻮﻨﺑ یا ﻪﻣﺎﻧﺮﺑ ﻢﯿﻫاﻮﺧ ﻣ ﺪﯿﻨﮐ ضﺮﻓ

؟دﻮﺷ ﻣ هداد ﻪﻣﺎﻧﺮﺑ ﻪﺑ ﯽﺒﻟﺎﻗ ﻪﭼ رد رﻮﮐﺬﻣ ﺦﯾرﺎﺗ ود :لاﻮﺳ دﺪﻋ dd .ﺪﻨﺷﺎﺑ dd/mm/yyyy ﺖﻣﺮﻓ ﺎﺑ string عﻮﻧ زا ﻪﺘﺷر ود ﺐﻟﺎﻗ رد رﻮﮐﺬﻣ یﺎﻬﺨﯾرﺎﺗ ﻢﯿﻨﮐ ﻣ ضﺮﻓ

.ﺪﻫد ﻣ نﺎﺸﻧ ار لﺎﺳ دﺪﻋ yyyy و هﺎﻣ دﺪﻋ mm ،زور یاﺮﺑ ٣٠ ﺎﺗ ٠١ زا و (لﺎﺳ لوا هﺎﻣ ﺶﺷ یاﺮﺑ) ٣١ ﺎﺗ ٠١ ﻦﯿﺑ ﺪﯾﺎﺑ dd ﺮﺒﺘﻌﻣ ﺦﯾرﺎﺗ ﯾ رد ﻪﮐ ﺖﺳا ﻌﯿﺒﻃ ﻞﯿﻟﺪﺑ .ﺪﺷﺎﺑ ١٢ ﺎﺗ ٠١ ﻦﯿﺑ ﺪﯾﺎﺑ mm .(ﻪﺴﯿﺒﮐ لﺎﺳ یاﺮﺑ ﺰﺠﺑ) ﺪﺷﺎﺑ ٢٩ ﺎﺗ ٠١ ﻦﯿﺑ ﺮﺧآ هﺎﻣ یاﺮﺑ و یﺪﻌﺑ هﺎﻣ ﺞﻨﭘ ﺖﻟﺎﺣ ﻦﯾا رد .ﺖﺳا ١٤٧٢ ﺎﺗ ١٣٤٣ یﺎﻬﻟﺎﺳ ﻦﯿﺑ yyyy ﻪﮐ ﻢﯾﺮﯿﮔ ﻣ ضﺮﻓ ،ﻪﺴﯿﺒﮐ لﺎﺳ ﻪﺒﺳﺎﺤﻣ یﺎﻫ ﮔﺪﯿﭽﯿﭘ .ﺪﺷﺎﺑ ٣٠ ،٢٦ ،٢٢ ،١٧ ،١٣ ،٩ ،٥ ،١ داﺪﻋا زا ﯾ ٣٣ ﺮﺑ yyyy ﻢﯿﺴﻘﺗ هﺪﻧﺎﻤﯿﻗﺎﺑ ﻪﮐ ﺖﺳا ﻟﺎﺳ ﻪﺴﯿﺒﮐ لﺎﺳ .ﺪﯾآ ﻣ بﺎﺴﺣ ﻪﺑ ﺮﺒﺘﻌﻣﺎﻧ ﺦﯾرﺎﺗ ﯾ ،ﺪﺷﺎﺑ ﻪﺘﺷاﺪﻧ ار رﻮﮐﺬﻣ ﻂﯾاﺮﺷ ﻪﮐ یا ﻪﺘﺷر ﺪﯾﺎﺑ ﺮ ﯾد فﺮﻃ زا و ﻪﻧ ﺎﯾ ﺖﺴﻫ ﺮﺒﺘﻌﻣ ﺦﯾرﺎﺗ ﯾ یدورو ﻪﺘﺷر ﻪﮐ ﺪﻫد ﺺﯿﺨﺸﺗ ﺪﯾﺎﺑ ﻪﻣﺎﻧﺮﺑ فﺮﻃ ﯾ زا عﻮﻧ ﯾ .ﻢﯿﻨﮐ ﻪﺴﯾﺎﻘﻣ ﻢﻫ ﺎﺑ ار ﺦﯾرﺎﺗ ود ﻢﯿﻧاﻮﺘﺑ ﻪﮑﻨﯾا یاﺮﺑ .ﺪﻨﮐ ﻪﺒﺳﺎﺤﻣ ار ﺮﺒﺘﻌﻣ ﺦﯾرﺎﺗ ود یﺎﻫزور فﻼﺘﺧا

.ﻢﯿﻨﮐ ﻣ ﻒﯾﺮﻌﺗ struct زا هدﺎﻔﺘﺳا ﺎﺑ Date هداد

(6)

struct Date { int day;

int month;

int year;

};

ار string_to_Dateﻊﺑﺎﺗ لوا .ﻢﯿﻨﮐ ﻣ ﻢﯿﺴﻘﺗ ﻪﻠﺌﺴﻣ‐ﺮﯾز ود ﻪﺑ ار یدورو ﺦﯾرﺎﺗ رﺎﺒﺘﻋا ﺺﯿﺨﺸﺗ ﻪﻠﺌﺴﻣ ﺪﺷﺎﺑ ﻪﺘﺷاد ار لﻮﺒﻗ ﻞﺑﺎﻗ یﻮ ﻟا یدورو ﻪﺘﺷر ﻪﮐ ﺗرﻮﺻ رد و هدﺮﮐ ﺖﻓﺎﯾرد ار یدورو ﻪﺘﺷر ﻪﮐ ﻢﯿﻨﮐ ﻣ ﻒﯾﺮﻌﺗ ﻦﯾا ﺮﯿﻏ رد .ﺪﻧادﺮﮔ ﻣﺮﺑ ار ﺖﺳا یدورو ﺦﯾرﺎﺗ ﺎﺑ لدﺎﻌﻣ ﻪﮐ Date هداد عﻮﻧ زا ﺮﯿﻐﺘﻣ ﯾ (dd/mm/yyyy) .دﻮﺷ ﻣ جرﺎﺧ ﺎﻄﺧ مﺎﯿﭘ ﺎﺑ ﻪﻣﺎﻧﺮﺑ ترﻮﺻ Date string_to_Date(string date_string)

زور ترﻮﺻ ﻪﺑ ﻻﺎﺣ ﺎﻣا (33/55/2000لﺎﺜﻣ یاﺮﺑ) ﺪﺷﺎﺑ ﺮﺒﺘﻌﻣﺎﻧ ﺪﻧاﻮﺗ ﻣ زﻮﻨﻫ هﺪﺷ هداد ﺦﯾرﺎﺗ ﺪﯿﻨﮐ ﺖﻗد .دﻮﺷ ﻣ مﺎﺠﻧا is_valid_Date() ﻊﺑﺎﺗ رد ﯽﯾﺎﻬﻧ رﺎﺒﺘﻋا ﺺﯿﺨﺸﺗ ﻪﻠﺣﺮﻣ .ﺖﺳا هﺪﺷ ﯿﮑﻔﺗ لﺎﺳ و هﺎﻣ و ار true راﺪﻘﻣ ﺪﻫد نﺎﺸﻧ ار ﺮﺒﺘﻌﻣ ﺦﯾرﺎﺗ ﯾ ﻪﮐ ﺗرﻮﺻ رد ،هدﺮﮐ ﺖﻓﺎﯾرد ار Date عﻮﻧ زا ﺮﯿﻐﺘﻣ ﯾ ﻊﺑﺎﺗ ﻦﯾا .ﺖﺴﯿﻧ ﺮﺒﺘﻌﻣ هﺪﺷ هداد ﺦﯾرﺎﺗ ﻪﮐ ﺪﻨﮐ ﻣ پﺎﭼ ترﻮﺻ ﻦﯾا ﺮﯿﻏ رد ﺪﻧادﺮﮔ ﻣﺮﺑ

.ﻢﯿﻫد ﻣ راﺮﻗ date.h ﻞﯾﺎﻓ رد ار ﺮ ﯾد ﻤﮐ ﻊﺑاﻮﺗ و ﻊﺑاﻮﺗ ﻦﯾا ﻒﯾﺮﻌﺗ file date.h

#include <iostream>

#include<stdlib.h>

using namespace std;

struct Date{

int day;

int month;

int year; };

//////////////////////////////////////////////////////////////////////////////

void invalid_input(){

cout <<"error: invalid input!"<<endl;

exit(1);

}

//////////////////////////////////////////////////////////////////////////////

void invalid_date(){

cout <<"error: invalid date!"<<endl;

exit(1);

}

/////////////////////////////////////////////////////////////////////////////

Date string_to_Date(string date_string){

// allowed date format dd/mm/yyyy 01<= dd <=31, 01<=m<=12, 0000 <= yyyy <= 9999

(7)

int d, m, y;

int index = 0;

char c;

//checking if the length of the string is correct if (date_string.length() != 10)

invalid_input();

// checking for slash / characters

if (date_string[2]!='/' || date_string[5]!= '/' ) invalid_input();

while(index < 10){

if (index == 2 || index ==5){

index++;

continue;

}

c = date_string[index++];

if(c < '0' || c > '9' )

invalid_input();

}

d=atoi(date_string.substr(0,2).c_str()); //convert to int m=atoi(date_string.substr(3,2).c_str());

y=atoi(date_string.substr(6,4).c_str());

Date x;

x.day = d;

x.month = m;

x.year = y;

return x;

}

///////////////////////////////////////////////////////////////////////////

int is_valid_Date(Date dd){

int d=dd.day;

int m=dd.month;

int y=dd.year;

if (y <1343 || y > 1472) invalid_date();

if ( m<1 || m > 12) invalid_date();

if (d < 1 || d > 31) invalid_date();

if (m > 6 && d > 30 ) invalid_date();

(8)

bool Kabise = (y % 33 ==1) || (y % 33 == 5) || (y % 33 == 9) ||

(y % 33 == 13) || (y % 33 == 17) || (y % 33 == 22) ||

(y % 33 == 26) || (y % 33 == 30);

if (m ==12 && d > 29 && !Kabise) invalid_date();

return 1;

}

////////////////////////////////////////////////////////////////////////

void print_Date(Date ddate) {

cout << ddate.day <<"/"<<ddate.month <<"/" <<ddate.year <<endl;

}

/////////////////////////////////////////////////////////////////////////

رد .ﺪﯿﻨﮐ ﺖﻗد ﻪﻣﺎﻧﺮﺑ include ﺖﻤﺴﻗ ﻪﺑ .ﺖﺳا هﺪﺷ ﻒﯾﺮﻌﺗ convertdate.cpp ﻞﯾﺎﻓ رد main ﻊﺑﺎﺗ .ﺖﺳا هﺪﺷ ﺮﮐذ ﻪﻣﺎﻧﺮﺑ رد header ﻞﯾﺎﻓ ناﻮﻨﻋ ﻪﺑ date.h ﻞﯾﺎﻓ ﺎﺠﻨﯾا file convertdate.cpp

#include <iostream>

#include<stdlib.h>

#include "date.h"

int main() {

string example="31/12/1362";

Date date_example = string_to_Date(example);

if(is_valid_Date(date_example)) print_Date(date_example);

return 0;

}

Referensi

Dokumen terkait