آموزش برنامه نویسی ++c - درس 5 - نوشتن برنامه ++c با آرگومان ورودی
در درس پنجم از سری آموزش های زبان برنامه نویسی ++c به آموزش نحوه نوشتن یک برنامه در سی پلاس پلاس با گرفتن ورودی از کاربر می پردازیم.
Table of Contents
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) در صورتی که خود متغیر فاصله داشته باشد باید آن را درون کوتیشن (" ) قرار داد.