# Native Code > برنامه نویسی با C > برنامه نویسی با زبان C و ++C >  تبدیل کد اسکی با کاراکتر و بالعکس

## احسان_1

سلام دوستان 
میخواستم بدونم با چه تابعی میتونم کد اسکی رو به کاراکتر و بالعکس کاراکتر  رو به کد اسکی تبدیل کنم {در c}

----------


## alinaghiha

اگه اشتباه نکنم شما در سی یک متغییر را از نوع صحیح تعریف کنید اگه از اون به عنوان کاراکتر استفاده کنید میشه کاراکتر ، به عنوان عدد هم یک کد اسکی 
این کد لیست کد اسکی و حروف رو نشون میده

int i;
for (i=0;i<255;i++)
printf("%d =%c",i,i);
 

البته می تونید از دستورات تبدیل char و int هم استفاده کنید که البته در این مثال هیچ فرقی نداره که باشه یا نباشه فقط باب پاسخ نوشتم.

char ch;
int i=65;
ch=char(i);

----------


## احسان_1

علی جان دستت درد نکنه انشالله خدا صد در دنیا یک در آخرت بهت بده کارم رو راه انداختی :تشویق:

----------


## alikapshen

سلام و من همین مشکلو داشتم ولی هل شد .حالا نمیدونم کلید های f1 تا f12 کدشون چیه ! میشه اینم هلش کنین ؟ ممنون میشم.

----------


## forogh68

سلام دوستان.
اگر بخواییم این برنامه رو خیلی ساده و بدون هیچ گونه حلقه و شرطی بنویسیم چطور میشه؟ آیا امکانش هست؟
من کدش رو اینطور نوشتم. آیا راه حلی داره بدون حلقه و شرط نخوام از a تا z رو بنویسم؟


    char a,b;
    cout << "insert char";
    cin >> a;
    cout << "a=95";

    cin >> b;
    cout << "b=96";
.
.
.

----------


## amirtork

سلام.
علت کدی که نوشتید رو متوجه نشدم!
شما یه کاراکتر نا معلوم از کاربر میگیرید و کد اسکی کاراکتر 'a' رو بهش نشون میدید؟ یا برای مورد دوم کد اسکی 'b' ؟
برای اینکه بتونید کد اسکی کاراکتر های ورودی رو نشون بدید کافیه از static_cast ( که حالت استاندارد تری هست فکر کنم. اما مطمن نیستم.) و یا به شکل int a = (int) ch; استفاده کنید که این روش در C استفاده میشه اکثرا.

----------


## forogh68

> سلام.
> علت کدی که نوشتید رو متوجه نشدم!
> شما یه کاراکتر نا معلوم از کاربر میگیرید و کد اسکی کاراکتر 'a' رو بهش نشون میدید؟ یا برای مورد دوم کد اسکی 'b' ؟
> برای اینکه بتونید کد اسکی کاراکتر های ورودی رو نشون بدید کافیه از static_cast ( که حالت استاندارد تری هست فکر کنم. اما مطمن نیستم.) و یا به شکل int a = (int) ch; استفاده کنید که این روش در C استفاده میشه اکثرا.


ببیند سوال بنده به این شرح بوده است:* برنامه ای بنویسید که یک کاراکتر از کاربر گرفته و کد اسکی آن را نمایش دهد؟*
خب در برنامه بالا من خودم اومدم این کار رو کردم و یکی یکی حروف رو می نویسم و معادل اسکی اون رو می گذارم. که کاربر هر حرفی رو نوشت معادلش براش نشون داده بشه. در بالا نیر اشاره کردم فعلا نخواستم با حلقه یا شرط چیزی رو بنویسم، فقط می خوام از کدهای ساده استفاده کنم و صد البته هم می دونم این کدی که نوشتم بدرد نمی خوره  :لبخند:  چون تعدا خطوطش زیاد از حد میشه!

*ممنون از کد. با زبان سی ++ چی میشه؟*

----------


## amirtork

:-) علت اینکه گفتم برنامه ی شما رو متوجه نشدم این بود که،‌ شما یک متغیر از نوع کاراکتری تعریف کردید، به اسم a و مقدار اون رو از کاربر گرفتید(که هر کلیدی رو میتونه وارد کنه) و بعد برای این متغیر مقدار 95 رو نمایش دادید. در صورتی که 95 کد اسکی کاراکتر 'a' هست نه اون کاراکتری که کاربر وارد کرده :-) و این باعث میشه برنامه ی شما جواب صحیح رو نده :-)‌ با بخش بهینه بودن کد کاری نداشتم.
در مورد کد C++‎ همونطور هم که گفتم میتونید از static_cast که در بالا هم لینکش رو گذاشتم استفاده کنید، به طور کامل توضیح داده. همراه با مثال.
http://en.cppreference.com/w/cpp/language/static_cast

----------


## forogh68

> :-) علت اینکه گفتم برنامه ی شما رو متوجه نشدم این بود که،‌ شما یک متغیر از نوع کاراکتری تعریف کردید، به اسم a و مقدار اون رو از کاربر گرفتید(که هر کلیدی رو میتونه وارد کنه) و بعد برای این متغیر مقدار 95 رو نمایش دادید. در صورتی که 95 کد اسکی کاراکتر 'a' هست نه اون کاراکتری که کاربر وارد کرده :-) و این باعث میشه برنامه ی شما جواب صحیح رو نده :-)‌ با بخش بهینه بودن کد کاری نداشتم.
> در مورد کد C++‎‎‎‎‎ همونطور هم که گفتم میتونید از static_cast که در بالا هم لینکش رو گذاشتم استفاده کنید، به طور کامل توضیح داده. همراه با مثال.
> http://en.cppreference.com/w/cpp/language/static_cast


عی بابا . : ) راست می گید، تازه متوجه شدم هر کاراکتری بدم 95 میده. :ناراحت:  فکر کردم میشه به این نخو هم نوشت!
ممنون از راهنمایی تون.

----------


## foruuzan

:تشویق:  :تشویق:  :تشویق:  :تشویق: خیلییییییی ممنونم
 :چشمک:

----------


## foruuzan

:گریه:  :گریه:  :گریه: 
تازه شروع کردم به کار با C++‎
برنامه ایی که *سن** را بصورت چند سال و چند ماه دریافت کردهو کل عمر را به روز محاسبه کرده نمایش دهد.(هر چهار سال یک روز کبیسه حساب شود)*

----------

