PDA

View Full Version : اعداد فارسی به عنوان integer



علی بهمنی جلالی
جمعه 26 دی 1393, 11:53 صبح
بسم الله الرحمن الرحیم
سلام به همه
چگونه می‌شود دو عدد یونیکد فارسی را از صفحه‌کلید دریافت کرده سپس آن‌ها را با هم جمع کنیم و حاصل را نیز با عدد فارسی یونیکد نمایش دهیم؟
به عنوان مثال برنامهٔ زیر دو عدد انگلیسی را از کاربر می‌گیرد، جمع می‌کند و حاصل جمع را به صورت اعداد انگلیسی نمایش می‌دهد.
#include <stdio.h>
int main()
{
int x, y, sum;
x = 0;
y = 0;
printf("لطفاً اوّلین عدد خود را وارد کنید: \n");
scanf("%d",&x);
printf("لطفاً دوّمین عدد خود را نیز وارد کنید: \n");
scanf("%d",&y);
sum = x + y;
printf("حاصل جمع دو عدد برابر است با: %d\n",sum);
return 0;
}
حالا من می‌خواهیم همین عمل را اما با نمایش دادن اعداد فارسی بنویسیم. آیا کسی می‌داند چگونه می‌توان به صورت اعداد فارسی نمایش داد؟
نکته: در خط فرمان mlterm می‌توان از حروف یونیکد هم استفاده کرد. (نسخهٔ لینوکسی این برنامه رو الان دارم.)
خوبی این خط فرمان این است که نوشته‌های فارسی را از راست به چپ تراز می‌کند.

rahnema1
جمعه 26 دی 1393, 20:55 عصر
سلام
در مورد فارسی نویسی در محیط کنسول در تاپیک زیر توضیح داده شده
http://barnamenevis.org/showthread.php?429755
یک روش که بتونید اعداد فارسی را بخونید و بنویسید اینه که از دو تابع ReadConsoleW و WriteConsoleW استفاده کنید و اعداد را به صورت کاراکترهای یونیکد بخونید در واقع نتایج ReadConsoleW در یک آرایه از نوع char16_t ذخیره میشه بعد این آرایه کاراکتری باید تبدیل به int بشه
به همین ترتیب int هم باید به آرایه کاراکتر تبدیل بشه

علی بهمنی جلالی
جمعه 26 دی 1393, 22:18 عصر
سلام
در مورد فارسی نویسی در محیط کنسول در تاپیک زیر توضیح داده شده
http://barnamenevis.org/showthread.php?429755
یک روش که بتونید اعداد فارسی را بخونید و بنویسید اینه که از دو تابع ReadConsoleW و WriteConsoleW استفاده کنید و اعداد را به صورت کاراکترهای یونیکد بخونید در واقع نتایج ReadConsoleW در یک آرایه از نوع char16_t ذخیره میشه بعد این آرایه کاراکتری باید تبدیل به int بشه
به همین ترتیب int هم باید به آرایه کاراکتر تبدیل بشه
سلام
ممنونم از پاسختون ولی اگه اشتباه نکنم ReadConsoleW و WriteConsoleW مالِ #C هستش در صورتی که من در حال حاضر مالِ C را می‌خواهم.

rahnema1
شنبه 27 دی 1393, 09:59 صبح
سلام
ممنونم از پاسختون ولی اگه اشتباه نکنم ReadConsoleW و WriteConsoleW مالِ #C هستش در صورتی که من در حال حاضر مالِ C را می‌خواهم.

اینها تابعهای مربوط به winapi هستند که با include کردن windows.h قابل دسترسی می باشند