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

نام تاپیک: مشکل در برنامه ای برای شمارش تعداد کاراکتر های یک جمله

  1. #1

    مشکل در برنامه ای برای شمارش تعداد کاراکتر های یک جمله

    سلام
    برنامه ای که با خواندن یک جمله از ورودی ، تعداد کاراکتر ها و کلمات موجود در جمله را شمارش می کند .کلمات با فاصله از هم جدا شده اند و انتهای جمله به کلید Enter ختم می شود .متغیر charcount تعداد کاراکتر ها و متغیر wordcount تعداد کلمات جمله را شمارش می کند و ch کاراکتری است که از ورودی خوانده می شود.

    من متوجه نمیشم خط 9 برنامه چه کاری انجام میده و دلیل استفاده از cin.get() چیه؟یه توضیح بدید ممنون میشم.

    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int main()
    {
    int charCount=0 , wordCount=0;
    char ch;
    cout<< "\nEnter a statement (and press ENTER) :";
    while ( (ch=cin.get() ) != '\n'
    {
    charCount ++ ;
    if (ch==' ')
    wordCount ++
    } // end of while
    cout << "\nChar count ="<<charCount
    << ", Word Count = " <<wordCount+1;
    cin.get(); // ignore end of line char
    cin.get();
    }

  2. #2

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

    وقتی در حالت عادی cin بکنی کاراکتر هایی مثه اینتر و اسپیس خونده نمیشه.
    ولی دستور cin.get این کاراکتر ها رو هم می خونه.
    از این دستور برای این استفاده شده که تا وقتی اینتر نیست و متن به خط بعدی نرفته کاراکتر بخونه.

  3. #3

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

    میشه خط 9 رو توضیح بدید

  4. #4

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


    while ( (ch=cin.get() ) != '\n' )

    کاراکتر ورودی رو داخل ch میزاره بعد چک می کنه که کاراکتری که وارد شده آیا \n هست یا نه
    \n کاراکتر newline هست یعنی نشان دهنده پایان خط هستش

    اگر هم مشکلتون با اینه که چرا میشه هم مساوی و هم مقایسه داخل while انجام داد بخاطر اینه که عملگر () اطراف ()ch=cin.get این جا مقدار از نوع lvalue refrence بر می گردونه بعد این مقدار با \n مقایسه میشه .
    آخرین ویرایش به وسیله omid_kma : یک شنبه 19 مرداد 1393 در 01:03 صبح

  5. #5

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

    خط 9
    در حلقه cin.get() تک تک کاراکتر ها رو میخونه و در ch قرار میده تا وقتی که کاراکتر وارد شده اینتر یا همان \n باشد

  6. #6

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

    نقل قول نوشته شده توسط omid_kma مشاهده تاپیک

    while ( (ch=cin.get() ) != '\n' )

    کاراکتر ورودی رو داخل ch میزاره بعد چک می کنه که کاراکتری که وارد شده آیا \n هست یا نه
    \n کاراکتر newline هست یعنی نشان دهنده پایان خط هستش

    اگر هم مشکلتون با اینه که چرا میشه هم مساوی و هم مقایسه داخل while انجام داد بخاطر اینه که عملگر () اطراف ()ch=cin.get این جا مقدار از نوع lvalue refrence بر می گردونه بعد این مقدار با \n مقایسه میشه .


    سلام.
    من یه سوال داشتم.
    من میخوام یه برنامه بنویسم که تعداد کرکترهای جمله ای که کاربر وارد میکنه رو بهم بگه. بعد نمیدونم چی کار کنم که white space رو محاسبه نکنه.

    الان حلقه ی for برنامه ی من اینجوری هست:

    for(count=0; cin.get() != '@' ;count++);

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

  1. خبر: برنامه ای کوچک و بسیار سریع برای شمارش تعداد خطوط کد
    نوشته شده توسط __H2__ در بخش برنامه نویسی مبتنی بر Microsoft .Net Framework
    پاسخ: 0
    آخرین پست: چهارشنبه 02 اردیبهشت 1388, 23:30 عصر
  2. سوال: شمارش تعداد کاراکتر رشته اراکتری(در c)
    نوشته شده توسط ramsese kabir در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 5
    آخرین پست: چهارشنبه 05 تیر 1387, 22:19 عصر
  3. سوال: شمارش تعداد کاراکتر رشته اراکتری(در c)
    نوشته شده توسط ramsese kabir در بخش برنامه نویسی با Borland C++‎ Builder
    پاسخ: 1
    آخرین پست: سه شنبه 04 تیر 1387, 18:31 عصر

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

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