PDA

View Full Version : دریافت ده نام از ورودی و ذخیره در فایل



l3H3RO
دوشنبه 18 خرداد 1394, 20:21 عصر
سلام من یه برنامه میخوام که ده تا نام رو از ورودی بگیره و در فایل ذخیره کنه
ده تا عدد رو میتونم ولی نام رو چجوری باید بگیرم
توی for چجوری بنویسمش؟
اگه میشه راهنمایی کنید
ممنون:قلب:

amirtork
دوشنبه 18 خرداد 1394, 22:02 عصر
سلام.
برای گرفتن نام ها میتونید از نوع داده ی string که در فایل سرآیند string موجود هست استفاده کنید.
برای مثال:
#include <string>
#include <iostream>

using namespace std;

int main()
{
string name;
cin>>name;
cout<<"Your Name is : "<<name<<endl;
return 0;
}

StepUp
پنج شنبه 05 شهریور 1394, 10:08 صبح
سلام.
برای گرفتن نام ها میتونید از نوع داده ی string که در فایل سرآیند string موجود هست استفاده کنید.
برای مثال:
#include <string>
#include <iostream>

using namespace std;

int main()
{
string name;
cin>>name;
cout<<"Your Name is : "<<name<<endl;
return 0;
}

میتونید اینطوری هم بنویسید :
#include <string>#include <iostream>


using namespace std;
string name = " ";
int main()
{
cout <<"type your name : "<<endl;
cin>>name;
cout <<"Your name is"<<" : "<<name<<endl;
return 0;
}

amirtork
پنج شنبه 05 شهریور 1394, 22:44 عصر
میتونید اینطوری هم بنویسید :
#include <string>#include <iostream>


using namespace std;
string name = " ";
int main()
{
cout <<"type your name : "<<endl;
cin>>name;
cout <<"Your name is"<<" : "<<name<<endl;
return 0;
}




سلام،

عذر خواهی میکنم اما من تفاوت کدی که قرار دادید با کدی که قرار داده بودم رو متوجه نشدم. میشه راهنمایی کنید؟

StepUp
جمعه 06 شهریور 1394, 11:33 صبح
سلام،

عذر خواهی میکنم اما من تفاوت کدی که قرار دادید با کدی که قرار داده بودم رو متوجه نشدم. میشه راهنمایی کنید؟
عزیزم من بالای Int main استرینگو گذاشتم به یه شکل دیکه ، شما قبل از cin :لبخند:

ehsan_faal
جمعه 06 شهریور 1394, 14:05 عصر
خب الان تاثیرش توی هدف نهایی که گرفتن به اسم و نشون دادنش بود رو میشه واضحتر بگید؟

pbm_soy
جمعه 06 شهریور 1394, 16:03 عصر
فرق چندانی ندارد ولی در برخی کامپایلرها نیاز است باشد چون اگر ننویسید warning میدهند و شاید خطا و بگن قبل از استفاده new نکردید !
در هر صورت زیاد مهم نبود ولی مورد مهم اینه که اگه پس از گرفتن رشته با cin بهتر است یک cin.ignore هم بنویسید چون کلید اینتر در بافر صفحه کلید باقی مانده است و این دستور اینتررا از بافر حذف میکند
چون شما قرار است پشت سرهم اسم دریافت کنید باید از ignore استفاده کنید
مورد دیگر از متدهای cin هم میتوانید استفاده کنید مانند cin.getline که پارامترهای گوناگون
ویا اینکه از توابع سنتی استفاده کنید مانند gets که دردسر ignore هم ندارد

rahnema1
یک شنبه 08 شهریور 1394, 19:00 عصر
میتونید اینطوری هم بنویسید :
#include <string>#include <iostream>


using namespace std;
string name = " ";
int main()
{
cout <<"type your name : "<<endl;
cin>>name;
cout <<"Your name is"<<" : "<<name<<endl;
return 0;
}




اگر چه از نظر قواعد ++c مشکلی نداره اما توصیه می شه متغیر سراسری ( مثل متغیری که شما قبل از main ایجاد کردید) ایجاد نکنید. در واقع این کار را می گن «آلوده کردن فضای نام سراسری» یا global namespace pollution
گرچه using namespace std هم به نوعی آلوده کردن فضای نام محسوب می شه که معمولا در آموزشهای مقدماتی جهت دور شدن از پیچیدگی این را رعایت نمی کنند