PDA

View Full Version : سوال: اشکال در استفاده از چند دستو ورودی متفاوت در c++



hamid bg
شنبه 01 بهمن 1390, 16:14 عصر
سلام

چرا وقتی از چند تا دستور ورودی متفاوت تو C++‎‎‎‎‎ استفاده میکنم مشکل پیش میاد
مثلا

cout<<"name & family"<<endl;
gets(A);
cout<<"endter your ID"<<endl;
cin>>ID;

نمیدونم چرا gets اول کار نمیکنه:گریه: (دقیقا میخوام تو اولی از gets و تو دومی از cin استفاده کنم)
مشکل کجاست؟

ممنون

Salar Ashgi
شنبه 01 بهمن 1390, 22:10 عصر
اولا کدتون رو کامل بذارید و ثانیا هدفی که میخواین دنبال کنید رو بگین ./

hamid bg
یک شنبه 02 بهمن 1390, 01:20 صبح
اولا کدتون رو کامل بذارید و ثانیا هدفی که میخواین دنبال کنید رو بگین ./
کل کد همیه

الان هدفم مشخص نیس؟

من میخوام بدونم تو این یه ذره کد چرا gets اجرا نمیشه؟
از این واضح تر نمیتونم توضیح بدم

Salar Ashgi
یک شنبه 02 بهمن 1390, 16:06 عصر
توضیح کد یعنی : A چیه ؟ ID چیه ؟ چه نوعی دارن ؟ و ...

هدف هم منظورم اینه که ماهیت برنامه تون چیه ؟ چی کار میخواین بکنین ؟

JalaliMehr
یک شنبه 02 بهمن 1390, 18:16 عصر
خوب راست میگه شاید A رو int تعریف کردی gets جهت دریافت رشته است.

حامد مصافی
یک شنبه 02 بهمن 1390, 22:05 عصر
در g++ 4.6 تست شد و مشکلی نداشت

rezaheidarida
یک شنبه 02 بهمن 1390, 22:42 عصر
سلام

چرا وقتی از چند تا دستور ورودی متفاوت تو C++‎‎‎‎‎ استفاده میکنم مشکل پیش میاد
مثلا

cout<<"name & family"<<endl;
gets(A);
cout<<"endter your ID"<<endl;
cin>>ID;

نمیدونم چرا gets اول کار نمیکنه:گریه: (دقیقا میخوام تو اولی از gets و تو دومی از cin استفاده کنم)
مشکل کجاست؟

ممنون
خوب من خودم قبلا با gets همچین مشکلی داشتم
مخصوصا وقتی با cin تو یه حلقه قرارش می دی!

این کدو ببین
char A[20];
int ID;
for(int i=0 ; i< 3 ; i++){
cout<<"name & family"<<endl;
gets(A);
cout<<"endter your ID"<<endl;
cin>>ID;
cin.ignore();
cout<<endl<<endl<<A<<" "<<ID<<endl;
}


اگر منظورت همچین کدی باشه این قسمت
cin.ignore();
کارت حل می کنه این به این دلیل هست
که
cin
خودش یک
n\
داره و شما که یک بار دیگه اینتر می زنی یکی به این اضافه میشه و در حلقه بار بعدی
gets
n\ بعدی می خونه و ازش رد میشه
امیدوارم مشکلت همین بوده باشه!

maktoom
سه شنبه 04 بهمن 1390, 21:59 عصر
سلام
عینا همین مشکل در تاپیک مربوط به تمرینات C و C++ بوجود اومده بود. با یه جستجو می تویند پیداش کنید.(دقیق یادم نیست کدوم تاپیک اما صفحات زیادی داشت.)
مشکل برمی گرده به نوع عملکرد دستوری که گفتید.