ورود

نسخه کامل مشاهده نسخه کامل : چند سوال در ارتباط با مفاهیم c++



khatat
01-05-2008, 20:25
سلام دوستان
1. اگه ممکنه مفهوم operator های زیر رو برام توضیح بدید :


\r
\v
\f
>>=
<<=
&=
|=
^=
&
|
^
>>
<<
~ (اگر به مفهوم NOT هست پس فرقش با ! در چیست ؟)


2. پیشوند L در کد زیر به چه معنایی است ؟


L"This is a wide character string"


3. وقتی می خواهیم یک متغیری رو از نوعی به نوع دیگه تبدیل کنیم از روش زیر استفاده می کنیم :


int i;
float f = 3.14;
i = (int) f; یا i = int (f);

اما من از روش بالا برای تبدیل string به int و برعکس استفاده کردم ولی هنگام کامپایل کردن با خطا مواجه شدم می شه بگین برای تبدیل string به int و برعکس از چه روشی باید استفاده کنم ؟

البته فکر کنم این حروف ها یه خورده به هم بریزه ولی فکر نکنم غیر قابل فهم باشن به هر حال اگه هر کدوم رو نفهمیدین بگین تا دوباره بنویسم
ممنون از کمکتون

cpplover
01-05-2008, 23:53
نمیدونم چقدر سی کار کردید چیزایی که من بلدم ایناست :

کلید اینتر را مشخص میکند .\r

کنترل خروجی را به ابتدای 8 سطر بعدی میبرد .\v

نمیدونم\f

عملگر >> برای چاپ خروجی است مثلا cout<<”a” برای چاپ a بکار میرود .
عملگر << برای گرفتن عددی از کاربر به کا میرود (با دستور cin )
عملگر => کوچکتر مساوی
عملگر =< کوچکتر مساوی


و&

یا|


توان^

! نقیض که عملگر منطقی است

~
عملگر بیتی که در تعریف مخرب کلاس هم کاربرد دارد.

در کل عملگر مساوی با چهار عمل اصلی بدین معناست :مثلا
یعنی A+=b اینکه a با b جمع شود و حاصل در a قرار گیرد و برای بقیه هم به همین صورت
2. پیشوند L در کد زیر به چه معنایی است ؟

اگه اشتباه نکنم نوع تعریف رشته در برنامه هایی است که اسکی کامپایل میشن (مطمئن نیستم) و در ویژوال سی کاربردش بیشتره و مثلا به جای char از wchar_t استفاده می کنن .


می شه بگین برای تبدیل string به int و برعکس از چه روشی باید استفاده کنم ؟

از دستور atoi و itoa

rf.ariyapoor
02-05-2008, 00:09
دوست عزیز 2 سوال اولت رو نمیدونم اما در مورد سوال سوم بگم که i=(int)f درست هستش و این به این معنا نیستش که شما نوع داده ی f رو که از نوع float هستش به int تبدیل کردید بلکه شما دارید به کامپایلر میگی که اینجا یه کپی از f رو به صورت int در نظر بگیر .توجه کن که گفتم یه کپی و خود داده f تغییری نمیکنه مثلا اگه f=3.95876 و از نوع float باشه و i هم یه نوع داده از نوع int باشه i=(int )f باعث میشه که تو i مقدار 3 قرار بگیره
در ضمن نمیشه به این سادگی ها یه string رو به int تبدیل کرد
واسه تبدیل مثلا یه سری عدد به صورت string به int باید خودتون برنامه ای بنویسی که این کارو بکنه یا همونطور که cpplover گفته میتونید از تابع های از پیش نوشته شده ی atoi() و itoa() استفاده کنید:20: