آموزش برنامه نویسی ++c - درس 5 - نوشتن برنامه ++c با آرگومان ورودی

  • صفحه اول
  • آموزش برنامه نویسی ++c - درس 5 - نوشتن برنامه ++c با آرگومان ورودی
image

آموزش برنامه نویسی ++c - درس 5 - نوشتن برنامه ++c با آرگومان ورودی

در درس پنجم از سری آموزش های زبان برنامه نویسی ++c به آموزش  نحوه نوشتن یک برنامه در سی پلاس پلاس با گرفتن ورودی از کاربر می پردازیم.

1) آرگومان چیست؟

فرض کنین میخواهیم یک برنامه ای بنویسید که دو عدد را بگیرد و نتیجه را به ما بدهد. دو راه پیش رو داریم.

1) دو متغیر را تعریف کنیم و برای هر بار ران برنامه متغیر را عوض کنیم و برنامه را ران کنیم. 

// Name of program mainreturn.cpp 
#include  
using namespace std; 

int main() 
{ 
int a=5; int b=10 ;
	cout << "Sum =  " << a+b 
	<< "\n"; 
 

	return 0; 
} 

2) وروی ها را به صورت آرگومان به تابع اصلی بدهیم. 

// Name of program mainreturn.cpp 
#include  
using namespace std; 

int main(int argc, char** argv) 
{ 
	cout << "Sum= " <<  argv[1]+argv[2]  << "\n"; 
	 
	return 0; 
} 

چه اتفاقی افتاد؟؟

در برنامه اول دو متغیر عددی تعریف شد که با ران برنامه نتیجه را چاپ می کند.

در برنامه دوم وقتی برنامه ران می شود باید به آن ورودی  مورد نظر را پاس داد یعنی ران برنامه به صورت زیر است. 

g++ mainreturn.cpp -o main 
./main 1  2

این کار باعث می شود که هر تعداد بار که دوست داشتیم از برنامه استفاده کنیم .

حال تصویر کنید که میخواهید یک برنامه ای بنویسید که 1000 عدد را با هم جمع کند!. راحل چیست؟!

// Name of program mainreturn.cpp 
#include  
using namespace std; 

int main(int argc, char** argv) 
{ 
	int sum=0 ;
	for (int i = 0; i < argc; ++i) 
    {
		sum += argv[i]  ; 
    }
    cout << "sum = "  << sum  << "\n"; 

	return 0; 
} 

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

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

 

 

2) چطور یک برنامه  داری آرگومان بنویسیم؟

 حتما تا الان جواب این سوال را گرفته اید. 

بلی

برای نوشتن برنامه دارای آرگومان باید در درون main  دو متغیر تعریف کنیم. 

 

// Name of program mainreturn.cpp 
#include  
using namespace std; 

int main(int argc, char** argv) 
{ 
} 

 

در اینجا دو متغیر داریم. argc  و متغیر argv

argc  یک متغیر مثبت  عددی است و تعداد پارامترهایی که به برنامه پاس داده می شود را شمارش می کند. در حالت پیشفرض مقدار 1  دارد.

argv  یک  متغیر از جنس رشته و به صورت آرایه است. 

اولین مقدار آن نام برنامه است. این مقدار همان argv[0] است.

مقدار های دوم به بعدی وروی ها  هستند.

3) قوانین پاس دادن متغیر ها ( آرگومان ها) چگونه است؟

1) ارگومان ها با استفاده از فاصله (space) از همدیگر جدا می شوند. 

2)  در صورتی که خود متغیر فاصله داشته باشد باید آن را درون کوتیشن (" )  قرار داد.