آموزش C++ جلسه 3
هدف از این قسمت، آموزش گرفتن ورودی در سی پلاس پلاس c++ و نمایش آن است.
مثال در سی پلاس پلاس C++
برنامهای بنویسید که سن و اولین حرف نام را بگیرد و در خط بعدی با یک فاصله از هم هر دو را نمایش دهد.
مثلا اسم من حیدر و سنم 24 هست ( Heydar ). پس باید خروجی به شکل زیر باشه.
H 24
حل مثال در سی پلاس پلاس C++
کد برنامهی مثال بالا به صورت زیر خواهد بود.
#include <iostream> using namespace std; int main() { cout<<"Please insert first character of your name: "; char esm; cin>>esm; // avale esme taraf gerefte shod cout<<"How old are you? "; int age; cin>>age; // senne taraf gerefte shod cout<<esm<<" "<<age; return 0; }
ورودی برنامه
H 24
خروجی برنامه
H 24
توضیح خط به خط
توی خط 5 با دستور cout ما سوالمون رو از کاربر میپرسیم.
توی خط 6 ما باید یه داده تعریف کنیم و اسم براش بزاریم. شما اگر بخواید تو برنامهنویسی یه چیزی رو نگهداری کنید مثلا اسم کسی یا عدد صحیح و یا عدد اعشاری باید اینها رو تو به عنوان داده ذخیر کنید.
دادهها انواع مختلفی داره که تو زبانهای مختلف فرق دارن اما همگی کار ذخیره کردن رو برای ما انجام میدن تو قالبهای مختلف.
مثلا اینجا ما برای ذخیر یک حرف (توجه کنید یک حرف) از نوع دادهی کاراکتر char استفاده کردیم، که یعنی میتونیم یک کاراکتر (میتونه حرف ، عدد و … باشه) رو به عنوان ذخیرهکنندهی حرف اول اسم در نظر بگیریم.
اسم این دادهای که از نوع کاراکتر هست esm گذاشتم و قراره تو خط بعدی ازش استفاده کنم.
توی خط 7 ما از کاربر با استفاده از cin یک کاراکتر رو توی esm ذخیره میکنم و کاربر هرچی وارد کنه و اینتر بزنه توی esm قرار میگیره و من میتونم بعدا از اون توی کدهام استفاده کنم.
توجه کنید که دستور ورودی گرفتن با cin رو به صورت زیر استفاده میکنم:
cin >> متغیر ;
حتما به علامت << توجه کنید و اینکه باید جای متغیر، شما اسم دادهای که از قبل تعریق کردید بزارید.
توضیحات در کدنویسی سی پلاس پلاس
خط 8 فقط توضیحات هست و اصلا توی عملکرد برنامهتون تاثیر نداره، شما با استفاده از // میتونید بین خط کدها یا بعد از ; توضیحاتی بزارید که بعدا کدهاتون رو راحتتر شناسایی کنید.
خط 11 باز هم برای سوال پرسیدن از کاربر هست.
خط دوازده یک داده به اسم age از نوع اعداد صحیح تعریف کردم.
توی خط بعدی کاربر عدد سن رو وارد میکنه و ما توی age ذخیره میکنیم.
خب حالا که هم سن و هم حرف اول اسم رو گرفتیم، میتونیم اون رو مثه سوال که گفته چاپ کنیم فقط بینشون باید از فاصله استفاده کنیم.
توی خط 17 با cout ، اول کاراکتری که از کاربر گرفته شده رو چاپ میکنیم بعد یه فاصله خالی چاپ میکنیم و بعدش هم سنی که توی age گذاشته بودیم رو چاپ میکنیم.
به فرض اگر حرف اول اسم شما M باشد و سن شما 19 سال باشد ورودی شما به صورت زیر خواهد بود:
M
19خروجی به شکل زیر خواهد بود:
M 19
نظر یادتون نره !
خب تا انتهای این آموزش امیدوارم به خوبی هر چی رو که بوده گفته باشیم و شما به راحتی فهمیده باشید. اگر کمی گنگ بود و یا مشکلاتی داشت و هر نوع انتقاد یا پیشنهادی و سوالی داشتید می توانید در انتهای همین صفحه در قسمت نظرات بیان کنید . خیلی متشکریم بابت وقتی که گزاشتید و اچ کدینگ رو دنبال کردید.
برای اینکه خستگی از تن ما در بره می تونید ما رو به دوستانتون معرفی کنید (با به اشتراک گذاری) تا برای ما روحیه مثبتی بشه که در آموزش های آتی بهتر عمل کنیم.
۱ . برای اینکه کاربر رو وادار کنم فقط در قسمت سنش عدد وارد کنه و اگر حروف وارد کرد یک پیام بهش بده که شما فقط باید عدد وارد کنید یا متقابلاً در قسمت نام فقط حروف وارد کنید
۲ . می خوام برای کاربر بازه تعیین کنم مثلا همین سنشو نتونه بیشتر از چهار رقم وارد کنه و اگه این کارو کرد نتونه بره مرحله بعد باید چیکار کنم ؟؟؟
ببینید برای این دوتا سوال خیلی کارا میشه انجام داد ولی باید دید دقیقا کجا میخواید اینکارو کنید ، اگر توی کنسول هستید ، میتونید یه متد بنویسید که همه ش getch رو چک کنید و اگر عدد بود بزارید بمونه درغیر اینصورت پاکش کنید ، کد زدنش اسونه ولی برای اینکه تمرین شه براتون ، راه حل رو گفتم تست کنید
برای دومی م میتونید بگید اگر هنوز کمتر مساوی ۴ تا دکمه قبول شده اجازه بده وارد کنه در غیر اینصورت فقط اجازه بده اینتر بزنه.
سلام ببخشید قسمت آخرش که cout میکنم که نشان بده نمیشه چرا مشکلش چیه باید چیکارش کرد که سن و عدد رو نمایش بده
و اینکه میخوام بیشتر از چند حرف مثلا اسم کامل بنویسم باید چیکار کنم؟؟
حتما مطمئن شید که iostream رو در ابتدای برنامه include کرده باشید.
#include
بعد اینکه مشکلتون رو دقیق بنویسید.(خطایی رو که میده رو بنویسید.)
کلا اگر میخواید بیشتر بنویسید باید به این صورت عمل کنید:
std::string str1 = "More Than One Character."; // or below code. ( char * )
char str2[128] = "More Than One Character.";
std::cout < < str1 <