نمایش نتایج 1 تا 2 از 2

نام تاپیک: آیا نویسهٔ ورودی جزء الفبای فارسی است یا خیر؟ (نمونه کُد)

  1. #1

    Smile آیا نویسهٔ ورودی جزء الفبای فارسی است یا خیر؟ (نمونه کُد)

    سلام
    یک برنامه نوشتم که کارش این است که یک ورودی از کاربر می‌گیرد و بررسی می‌کند که آیا اولین حرف این جمله جزء الفبای فارسی است یا خیر. اگر بود، کلمه «درست» را به خروجی می‌فرستد و اگر غلط بود، کلمه «غلط» را به خروجی می‌فرستد. در این مثال از استاندارد C++‎‎‎‎‎‎‎‎‎‎‎‎‎ 11 استفاده شده است و از آنجا که از unicode identifier مثل متغیر و تابع‌های فارسی استفاده کردم، برای کامپایل کدهای پایین نیاز هست از کامپایلری استفاده کنید که از unicode identifier پشتیبانی بکند. مثلاً کامپایلر clang++ از unicode identifier تا حدودی پشتیبانی می‌کند. برای اینکه ببینید تا چه مقدار از آن پشتیبانی به عمل می‌آورد، به مستندات کامپایلر مراجعه کنید. اگر کامپایلر شما از unicode identifier پشتیبانی نمی‌کند، متغیرها و تابع‌های یونیکد زیر را به ascii تغییر دهید. (البته مقدار unicode داخل متغیرها و تابع‌ها را به ascii تبدیل نکنید. برای کامپایل این برنامه در کامپایلر clang++ می‌توانید از روش زیر استفاده کنید.
    clang++ source.cpp -std=C++‎‎‎‎‎‎‎‎‎‎‎‎‎11

    (در خط بالا در قسمت std=C++‎‎‎‎‎11 بجای استفاده از C بزرگ، از c کوچک استفاده کنید)


    #include <iostream>
    #include <locale>
    #include <string>
    #include <codecvt>


    using namespace std;


    bool آیا_الفبای_فارسی_است(char16_t);


    int main()
    {
    wstring_convert< codecvt_utf8_utf16< char16_t >, char16_t > convert;
    string متن;
    cout << "الفبای خود را وارد کنید: ";
    cin >> متن;


    u16string موقت = convert.from_bytes(متن);
    char16_t حرف /*harf*/ = موقت.at(0);


    cout << ( آیا_الفبای_فارسی_است(حرف) ? "درست" : "غلط" ) << endl;
    }


    bool آیا_الفبای_فارسی_است(char16_t حرف)
    {
    switch (حرف)
    {
    case u'آ':
    case u'ا':
    case u'ب':
    case u'پ':
    case u'ت':
    case u'ج':
    case u'چ':
    case u'ح':
    case u'خ':
    case u'د':
    case u'ذ':
    case u'ر':
    case u'ز':
    case u'ژ':
    case u'س':
    case u'ش':
    case u'ص':
    case u'ض':
    case u'ط':
    case u'ظ':
    case u'ع':
    case u'غ':
    case u'ف':
    case u'ق':
    case u'ک':
    case u'ل':
    case u'م':
    case u'ن':
    case u'و':
    case u'ه':
    case u'ی':
    return true;
    default:
    return false;
    }
    }


    خروجی: (من در این مثال از خط فرمانی استفاده کردم که بتواند حروف فارسی را از راست به چپ نمایش دهد)
    خروجی.png
    آخرین ویرایش به وسیله علی بهمنی جلالی : یک شنبه 24 اردیبهشت 1396 در 12:28 عصر

  2. #2
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: آیا نویسهٔ ورودی جزء الفبای فارسی است یا خیر؟ (نمونه کُد)

    سلام.
    البته به جای switch اینجور هم میشه نوشت:
    ((wc >= L'آ') && (wc <= L'ی'))

تاپیک های مشابه

  1. برنامه ای که عددی از ورودی بگیرد و مشخص کند اول است یا خیر؟
    نوشته شده توسط mf_arian در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 6
    آخرین پست: پنج شنبه 08 بهمن 1388, 02:01 صبح
  2. سوال: تعیین اینکه تاریخ ورودی فارسی هست یا خیر؟
    نوشته شده توسط wolfstander در بخش Access
    پاسخ: 6
    آخرین پست: چهارشنبه 15 مهر 1388, 15:06 عصر
  3. پاسخ: 4
    آخرین پست: جمعه 25 اردیبهشت 1388, 08:05 صبح
  4. سوال: تشخيص اينكه آيا اطلاعات يك ركورد قبلا چاپ شده است يا خير؟
    نوشته شده توسط mehdi5106 در بخش ابزارهای گزارش سازی در دلفی
    پاسخ: 0
    آخرین پست: جمعه 04 بهمن 1387, 14:57 عصر
  5. سوال: آیا گرافیک در VB.Net امکان پذیر است یا خیر؟
    نوشته شده توسط domidimod در بخش VB.NET
    پاسخ: 2
    آخرین پست: جمعه 22 آذر 1387, 09:46 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •