اطلاعیه

Collapse
No announcement yet.

ایجاد توقف آخر برنامه(C++)

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ایجاد توقف آخر برنامه(C++)

    سلام دوستان
    این برنامه ساده C++ زمانی که اجرا میشه برای یک لحظه کوتاه خروجی دیده میشه و بعد سریع پینجره بسته میشه. تا اونجا که یادم هست یه دستور یا پارامتر بود اضافه میکردیم که پنجره در پایان اجرا بسته نشه و بتونیم خروجی رو درست ببینیم. اگر ممکنه یکی از دوستان که اطلاع دارند لطف کنند و
    راهنمایی کنند
    ( از Visual Studio 2008 استفاده میکنم )
    1 // Fig. 2.3: fig02_03.cpp
    2 // Printing a line of text with multiple statements.
    3 #include <iostream> // allows program to output data to the screen
    4
    5 // function main begins program execution
    6 int main()
    7 {
    8 std::cout << "Welcome ";
    9 std::cout << "to C++!\n";
    10
    11 return 0; // indicate that program ended successfully
    12
    13 } // end function main
    با تشکر
    از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
    هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
    اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
    اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
    شاد و موفق باشید

    #2
    پاسخ : ایجاد توقف آخر برنامه(C++)

    سلام

    #include<conio.h>
    این رو به اول برنامه اضافه نموده و از تابع getch() در انتهای برنامه استفاده کنید.
    یعنی خط زیر رو قبل از return بیارید.

    getch();

    به این ترتیب برنامه منتظر می مونه تا یک کاراکتر رو وارد کنید و بعد بسته میشه.

    دیدگاه


      #3
      پاسخ : ایجاد توقف آخر برنامه(C++)

      ممنون ساسان جان لطف کردی
      اگر بخوایم این هدر فایل رو اضافه نکنیم چطور؟ باز هم راه دیگه ای هست؟ طوری که نخوایم دیگه متغیر جدیدی تعریف کنیم، چون مثلا با همون std::cin هم میشه تقریبا مشابه این کار رو انجام داد ولی باید یک متغیر بهش معرفی کنیم. توی همون iostream تابعی نیست که دقیقا مشابه getch() رو انجام بده؟
      باز هم تشکر
      از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
      هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
      اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
      اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
      شاد و موفق باشید

      دیدگاه


        #4
        پاسخ : ایجاد توقف آخر برنامه(C++)

        خواهش می کنم سوال خیلی سختی هم نبود

        راستش من همچین هم در برنامه نویسی حرفه ای نیستم و راه حلی غیر از اون چیزی که خودتون اشاره کردید به ذهنم نمی رسه دوستان دیگه اگر بدونن حتما کمک می کنند.


        دیدگاه


          #5
          پاسخ : ایجاد توقف آخر برنامه(C++)

          سلام دوستان

          شما میتونید از

          cin.get()

          استفاده کنید.

          البته در مورد فضای نام std عرض کنم که برای اینکه از شر نوشتن std::cout بجای cout راحت بشید زیر include iostream یه خط اضافه کنید و بنویسید:

          using namespace std;


          البته برا هر هدری باید جداگانه زیرش اینکار رو بکنید.

          موفق باشید.
          Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

          دیدگاه


            #6
            پاسخ : ایجاد توقف آخر برنامه(C++)

            بابت توضیحات ممنون عابدجان
            من این cin.get() رو یک خط قبل از return نوشتم اما کار getch() رو انجام نداد یعنی کلا توقفی ایجاد نکرد !! ( البته با موفقیت کامپایل شد مشکلی نداشت )
            تشکر
            از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
            هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
            اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
            اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
            شاد و موفق باشید

            دیدگاه


              #7
              پاسخ : ایجاد توقف آخر برنامه(C++)

              .
              Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

              دیدگاه


                #8
                پاسخ : ایجاد توقف آخر برنامه(C++)

                سلام

                خب ایرادی نداره
                یه راه دیگه:
                تابع system یه تابع هست که باهاش میتونی یه فرمان رو تو خط فرمان اجرا کنی.
                خب با توجه به اینکه شما vs2008رو تو ویندوز اجرا میکنی ، پس خط فرمانش DOS هست.
                پس میتونی از فرمان زیر استفاده کنی:


                system("pause&quot



                این کار باعث میشه که در انتهای برنامه  press any key to continue    بیاد و منتظر بمونه.
                نتیجه رو بگو.








                البته در مورد تابع cin.get() باید عرض کنم که یه روالی تو برنامه باعث میشه که یه کلیدایی زده بشه که بعدا رو سر تابع هایی مثل getch  و cin.get() و cin  ورودی بیاره. چون بافر کیبرد ر زمان اجرای برنامه خالی نمیشه و ادامه ش جلوتر استفاده میشه.
                البته اگه میخوای فقط یه مکثی در انتهای برنامه داشته باشی حتی میتونی از یه cin  هم استفاده کنی.




                اینو هم امتحان کن قبل از return:

                cin.ignore(256,'\n'
                cin.get();


                نتیجه ی اینم بگو.


                موفق باشی.


                Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

                دیدگاه


                  #9
                  پاسخ : ایجاد توقف آخر برنامه(C++)

                  ممنون عابد جان
                  اون System() که گفتی نکته خیلی خوبی بود، در موارد دیگه هم میتونه مفید باشه، شاید اگر نمیگفتی حالا حالاها متوجه این نکته نمیشدم، حال دادی دمت گرم، یکی طلبت
                  اون دوتا دستور دیگه که گفتی رو امتحان کردم موقع کامپایل از cin.ignore(256,"\n" ایراد میگیره.
                  از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                  هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                  اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                  اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                  شاد و موفق باشید

                  دیدگاه


                    #10
                    پاسخ : ایجاد توقف آخر برنامه(C++)

                    سلام

                    خب راستش یه اشتباهی وجود داره
                    من حدس میزدم که اشتباه نوشتم ، چون اکثرا با " سروکار دارم تا ' موقع تایپ یه پست دستم اتوماتیک روی " میره . شرمنده.
                    اصلاحش کردم .
                    دوباره همین دستورو استفاده کن.
                    راستی میدونی فرق استفاده از ' و " چیه دیگه. اولی برا کاراکتره و دومی برا رشته (آرایه ی کاراکتری )
                    Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

                    دیدگاه


                      #11
                      پاسخ : ایجاد توقف آخر برنامه(C++)

                      ممنون عابد جان حالا درست شد :applause: کار این تابع Ignore چی هست؟ یعنی یه چیز وارد کنیم اون ندیده بگیره؟ :biggrin:
                      از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                      هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                      اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                      اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                      شاد و موفق باشید

                      دیدگاه


                        #12
                        پاسخ : ایجاد توقف آخر برنامه(C++)

                        نوشته اصلی توسط Study
                        ممنون عابد جان حالا درست شد :applause: کار این تابع Ignore چی هست؟ یعنی یه چیز وارد کنیم اون ندیده بگیره؟ :biggrin:
                        سلام

                        راستش ignore() روی هر جریانی استفاده بشه ، بافر فعلی اون جریان رو به تعدادی که تعیین شده خالی میکنه.

                        منم گفتم این کارو بکنی که اگه کلید اضافی enter  (در حالت آرمانی 256 کلید فشرده شده باشه که اینتر هم توشون باشه) فشرده شده باشه رو منفجر کنه و cin.get بعدی دیگه تحت تاثیر اونا قرار نگیره.
                        اون کاراکتر اینتر بعنوان ارگومان دوم تعیین میکنه که اگه به اینتر رسید اونو حذف کنه و بقیه ی روند حذف رو ادامه نده. همین /

                        راستش این یه ترفند ابتکاری خالی کردن بافر کیبورد تا ورودی بعدیه که البته باید بصورت

                        ignore(255);

                        استفاده شه.
                        بعبارتی اگه کاراکتر خاتمه دهنده تعیین نشه تا 255 کاراکتر مستقیما حذف میشه.

                        موفق باشی.

                        Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

                        دیدگاه

                        لطفا صبر کنید...
                        X