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

نام تاپیک: نحوه ی استفاده از Boolean:

  1. #1

    نحوه ی استفاده از Boolean:

    سلام

    کدی که نوشتم با if و if else به این صورت هست که اگر کاربر:
    عدد وارد کند، خروجی num باشه
    حرف وارد کند، خروجی id باشه
    عملگر وارد کند، خروجی خود عملگر باشه
    عبارات ثابت مثل if وارد کنه خود عبارت رو از خروجی بگیره.

    اما با دوتا مشکل روبرو شدم:
    1: عددهای دو رقمی رو به جای num در خروجی numum میزنه!!
    2: عبارت های ثابت مثل if رو در خروجی بصورت idid میزنه!!
    به پیشنهاد استادم بهتره چهارتا boolean بگیرم که ورودی رو false بزنم و... اما متاسفانه من تا الان با boolean و این شیوه ای که استاد گفته کار نکردم و از طریق سرچ اینترنت هم مطلبی پیدا نکردم که بتونم بخوبی یاد بگیرم!!

    ممنون میشم اگر کمک کنید که بدون boolean ِیا با boolean چطوری می تونم به نتیجه دلخواه برسم.

    عکس کدی که نوشتم:
    photo_2017-06-02_03-02-55.jpg

  2. #2

    نقل قول: نحوه ی استفاده از Boolean:

    سلام
    من کد شما را به شکل زیر تغییر دادم. کد زیر دو مشکلی را که شما به آن اشاره کرده بودید برطرف می‌سازد اما کد زیر یک مشکل هم دارد. به عنوان مثال اگر بنویسید 123asd خروجی num را نمایش می‌دهد. (البته asd123 درسته، یعنی خروجی asd123 را نمایش می‌دهد.) اگر با عدد شروع شود و در ادامه حرف هم با آن بی‌آید آن را به عنوان «عدد» در نظر می‌گیرد، نه به عنوان «عبارت ثابت».

    #include <iostream>
    using namespace std;


    int main()
    {
    bool isConstantExpresstion = false;
    bool isOneCharacter = true;
    bool isMultiDigit = false;
    char variable[100] = {'\0'}; // important


    cout << "Please enter your phrase...";
    cout << '\n';
    cin >> variable;


    if (variable[1] != '\0')
    {
    isOneCharacter = false;
    }


    cout << "Scanner from is..." << '\n';


    for (int i = 0; variable[i] != '\0'; ++i)
    {
    if ( (variable[i] >= 'a' && variable[i] <= 'z') && isOneCharacter == true)
    {
    cout << "id";
    }


    else if (variable[i] == '+' || variable[i] == '-' ||
    variable[i] == '*' || variable[i] == '/' || variable[i] == '%')
    {
    cout << variable[i];
    }


    else if (variable[i] >= '0' && variable[i] <= '9' &&
    isMultiDigit == false && isConstantExpresstion == false)
    {
    cout << "num";
    isMultiDigit = true;
    }


    else if (isMultiDigit == false)
    {
    cout << variable[i];
    isConstantExpresstion = true;
    }
    }


    cout << '\n';
    }
    آخرین ویرایش به وسیله علی بهمنی جلالی : سه شنبه 16 خرداد 1396 در 20:16 عصر

  3. #3

    نقل قول: نحوه ی استفاده از Boolean:

    نقل قول نوشته شده توسط علی بهمنی جلالی مشاهده تاپیک
    سلام
    من کد شما را به شکل زیر تغییر دادم. کد زیر دو مشکلی را که شما به آن اشاره کرده بودید برطرف می‌سازد اما کد زیر یک مشکل هم دارد. به عنوان مثال اگر بنویسید 123asd خروجی num را نمایش می‌دهد. (البته asd123 درسته، یعنی خروجی asd123 را نمایش می‌دهد.) اگر با عدد شروع شود و در ادامه حرف هم با آن بی‌آید آن را به عنوان «عدد» در نظر می‌گیرد، نه به عنوان «عبارت ثابت».

    #include <iostream>
    using namespace std;


    int main()
    {
    bool isConstantExpresstion = false;
    bool isOneCharacter = true;
    bool isMultiDigit = false;
    char variable[100] = {'\0'}; // important


    cout << "Please enter your phrase...";
    cout << '\n';
    cin >> variable;


    if (variable[1] != '\0')
    {
    isOneCharacter = false;
    }


    cout << "Scanner from is..." << '\n';


    for (int i = 0; variable[i] != '\0'; ++i)
    {
    if ( (variable[i] >= 'a' && variable[i] <= 'z') && isOneCharacter == true)
    {
    cout << "id";
    }


    else if (variable[i] == '+' || variable[i] == '-' ||
    variable[i] == '*' || variable[i] == '/' || variable[i] == '%')
    {
    cout << variable[i];
    }


    else if (variable[i] >= '0' && variable[i] <= '9' &&
    isMultiDigit == false && isConstantExpresstion == false)
    {
    cout << "num";
    isMultiDigit = true;
    }


    else if (isMultiDigit == false)
    {
    cout << variable[i];
    isConstantExpresstion = true;
    }
    }


    cout << '\n';
    }
    سلام
    خیلی ممنون از وقتی که گذاشتین. خدا خیرتون بده
    کدی که زحمت کشیدین برای وقتی که کاربر تنها یک کاراکتر وارد میکنه درست عمل می کنه و خروجی رو میده اما اگر یه عبارت رو وارد کنه خیر...
    مثلا اگر کاربر وارد کنه:
    if(a>2)then 2+a
    به جای اینکه خروجی به این شکل باشه:
    if(id>num)then num+a
    همون عبارت رو عینا تکرار می کنه.
    ممنون میشم بفرمایید، باید چه کاری انجام بدم.

  4. #4

    نقل قول: نحوه ی استفاده از Boolean:

    نقل قول نوشته شده توسط senator0 مشاهده تاپیک
    سلام
    خیلی ممنون از وقتی که گذاشتین. خدا خیرتون بده
    کدی که زحمت کشیدین برای وقتی که کاربر تنها یک کاراکتر وارد میکنه درست عمل می کنه و خروجی رو میده اما اگر یه عبارت رو وارد کنه خیر...
    مثلا اگر کاربر وارد کنه:
    if(a>2)then 2+a
    به جای اینکه خروجی به این شکل باشه:
    if(id>num)then num+a
    همون عبارت رو عینا تکرار می کنه.
    ممنون میشم بفرمایید، باید چه کاری انجام بدم.
    سلام
    امیدوارم کد زیر بتواند تا حد بسیار زیادی مشکل شما را برطرف کند:

    #include <iostream>
    using namespace std;


    int main()
    {
    char variable[100] = {'\0'}; // important
    bool isMultiDigit = false;
    bool isConstantExpresstion = false;


    cout << "Enter your expresstion: ";
    cin >> variable;


    if ( (variable[1] >= '0' && variable[1] <= '9') &&
    ( (variable[0] >= 'a' && variable[0] <= 'z') || (variable[0] >= 'A' && variable[0] <= 'Z') )
    )
    {
    isConstantExpresstion = true;
    }


    else
    {
    for (int i = 1; i < 100; ++i)
    {
    if ( (variable[i] >= 'a' && variable[i] <= 'z') ||
    (variable[i] >= 'A' && variable[i] <= 'Z') ||
    variable[i] == '+' ||
    variable[i] == '-' ||
    variable[i] == '*' ||
    variable[i] == '/' ||
    variable[i] == '%'
    )
    {
    isConstantExpresstion = true;
    }
    }
    }


    for (int i = 0; i < 100; ++i)
    {
    if (isConstantExpresstion == false)
    {
    if (isMultiDigit == false && variable[i] >= '0' && variable[i] <= '9')
    {
    cout << "num";
    isMultiDigit = true;
    }


    else if ( (variable[i] >= 'a' && variable[i] <= 'z') || (variable[i] >= 'A' && variable[i] <= 'Z') )
    {
    cout << "id";
    }


    else if ( variable[i] == '+' ||
    variable[i] == '-' ||
    variable[i] == '*' ||
    variable[i] == '/' ||
    variable[i] == '%'
    )
    {
    cout << "Operator: " << variable[i];
    }
    }


    else if (isConstantExpresstion == true)
    {
    cout << variable[i];
    }
    }


    cout << endl;
    }

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

  1. نحوه ی استفاده از IntraWeb طراحی شده بر روی سرور
    نوشته شده توسط koosha system در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: پنج شنبه 17 تیر 1389, 17:00 عصر
  2. نحوه ی استفاده از تایمر
    نوشته شده توسط Mega7000 در بخش C#‎‎
    پاسخ: 47
    آخرین پست: یک شنبه 22 مرداد 1385, 08:52 صبح
  3. نحوه ی استفاده از DateTimePicker
    نوشته شده توسط arash_a در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: چهارشنبه 16 آذر 1384, 08:28 صبح
  4. نحوه ی استفاده از dataview به عنوان datasourcrدر datagrid
    نوشته شده توسط marmar در بخش C#‎‎
    پاسخ: 5
    آخرین پست: سه شنبه 18 مرداد 1384, 09:58 صبح
  5. نحوه ی استفاده از اسکین های ساخته شده با VCL Skin Builder
    نوشته شده توسط koosha system در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: یک شنبه 15 خرداد 1384, 09:40 صبح

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

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