مشاهده نسخه کامل
: اشکال در یه برنامه خیلی ساده از ++؟؟؟؟!
:10:سلام به همه دوستان و اساتید
نمی دونم چرا این برنامه ساده خروجی درستی نداره ؟
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
sin2x=2sinxcosx
12-09-2009, 17:59
تو تاپيک سوال و جواب پرسيدين . گفتم اگه ميشه بگين قراره برنامه چيکار کنه .
:10::11:این برنامه باید خروجی زیر را تولید کند :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یا ساده تر که بگم قراره میزان مصرف سوخت خودرو را برحسب گالون از کاربر بگیره و مقدار مسافت را بر حسب مایل دریافت کند
و نسبت مایل به گالن را حساب کند و بعد از اینکه -1 را کاربر وارد کرد نسبت مایل در گالن کل را محاسبه و چاپ کند
راستی من خودم تصورم اینه که مشکل از تابع cin.get() است چون یه برنامه ساده دیگه هم با این تابع درست کار نمی کنه !!:11:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بابا دمتون گرم !!!! 22 نفر فقط بازدید میکنند و هیچکس هیچ نظری نمیده !
god of war 2
12-09-2009, 20:44
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کد شما یه چندتای اشتباه داشت.
مثلا متغیر salary از نوع int تعریف شده در صورتی که باید از نوع double تعریف بشه و چندتا مشکل دیگر که نگاه کنی متوجه میشی
کد درست پایین صفحه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید
god of war 2
12-09-2009, 21:04
:10:سلام به همه دوستان و اساتید
نمی دونم چرا این برنامه ساده خروجی درستی نداره ؟
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شما از چه کامپایلری استفاده میکنی؟
این کد ی که شما دادی فکر نکنم اصلا کامپایل بشه!
از using std یا using namespace استفاده کنید.
معمولا به جای iostraem.h از iostream استفاده میکنن.
موفق باشید.
اما کد قبلی مشکلش چی بود
؟؟؟؟؟
ممنون میشم راهنمایی بکنی
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
از کامپایلر Turbo c++ for windows 4.5 استفاده می کنم .
استفاده از فضای نام std برای جلوگیری از تداخل نام های توابع است تا اینجایی که من اطلاع دارم ؟!
و درک نمی کنم چه نیازی به استفاده اش می تونه باشه ؟ میشه توضیح بدهید دلیل اش را ؟
باز هم ممنون از جوابتون :11:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همینطور که گفتم من از turbo c++ for windows 4.5 استفاده میکنم و برنامه ی دیگه ای هم باهاش کامپایل کردم و درست کار میکنه .
اما این دو تا برنامه خروجی درستی نمیدهد بهم
اول اینکه با وارد کردن -1 از حلقه خارج نمی شه ؟
و دوم اینکه با وارد کردن هر عددی یک خروجی ثابت نمایش میدهد و 3 بار حلقه را برای هر ورودی تکرار میکنه ؟!!:18::19:
god of war 2
12-09-2009, 21:50
من خودم شخصا CodeBlocks یا Visual Studio 2008 رو بجای Turbo c++ به شما معرفی میکنم.
در رابطه با فضای نام
تمام نماد های iostream متعلق به فضای نام std هستند.این یک کار لازم مخصوصا برای زمانی است که بخواهیم از نام هایی استفاده کنیم که با دستور پیش پردازنده <include<iostream به برنامه آورده شده است.
مثلا نماد std::cout به ما می گوید در برنامه از اسمی استفاده میکنیم که مربوط به فضای نام میباشد.
ali zi zeperto
12-09-2009, 22:17
:10:سلام به همه دوستان و اساتید
نمی دونم چرا این برنامه ساده خروجی درستی نداره ؟
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اول که شما متغیر gallon رو int تعریف کردی ولی توی ورودیهای برنامه ات می خوای عدد اعشار وارد کنی.
شرط حلقه while هم اشتباهه.جریان cin.get برای خوندن کاراکتره.برنامه درستش رو پایین برات گذاشتم.خروجی ها رو هم دقیق همون که خواستی میده.من با کامپایلر gcc کامپایلش کردم.
موفق باشی
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
god of war 2
12-09-2009, 22:46
این کد امتحان کن:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر به جای 1- از EOF استفاده میکردی بهتر بود.
موفق باشید
من خودم شخصا CodeBlocks یا Visual Studio 2008 رو بجای Turbo c++ به شما معرفی میکنم.
.
ممنون از وقتی که برام گذاشتی .
من visual studio 2008 را نصب کردم اما کد را که با اون باز می کنم توانایی کامپایل اش را ندارد . ممکنه توضیح بدهید دقیقا باید چه طور از این برنامه استفاده کنم برای کامپایل کردن ؟؟:11:
god of war 2
13-09-2009, 17:24
در Visual Studio 2008 قبل از هر کاری باید یک پروژه جدید ایجاد کرد که با توجه به زبان مورد استفاده متفاوت میباشد یعنی شما باید یک پروژه از قسمت زبان ++C و ترجیحا از نوع Win32 console application ایجاد کنید.بعد از ایجاد پروژه جدید کد مورد نظرتون رو داخل پروژه بنویسید یا اگر از قبل موجود میباشد با copy\paste به داخل پروژه منتقل کنید.
برای ایجاد پروژه جدید هم میتونید از قسمت File گزینه New project اقدام کنید البته هنگام نصب برنامه باید آپشن های مربوط به زبان ++C رو هم نصب کرده باشید و گرنه اصلا قادر به کار با زبان ++C در Visual Studio 2008 نمیباشید.
موفق باشید.
شرمنده که یه برنامه به این سادگی را اینقدر سوال می پرسم راجعش اما نمی دونم چرا خروچی درستی نمیده ؟!:19:
یعنی ورودی ها را دریافت می کنه و برنامه موقعی که -1 را وارد می کنی تا از حلقه خارج بشه کل برنامه بسته میشه و ادامه دستورات بعد حلقه while اجرا نمیشه و بهتر بگم خروجی مربوط به دستور زیر نمایش داده نمی شه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
لطفا به نوع متغیر ها گیر ندهید که باید float باشه یا ... ! :11:
god of war 2
13-09-2009, 21:14
من این کد رو امتحان کردم و مشکلی نداشت.1- رو هم وقتی وارد میکردم برنامه تا آخرین دستور اجرا و بعد به پایان میرسید.
فکر میکنم مشکل شما اینه که برنامه مورد نظر رو مستقیم اجرا میکنی و برنامه پس دریافت 1- بسرعت بسته میشه یعنی خروجی نمایش داده میشود اما خیلی سریع و بعد برنامه بسته میشود.
برای دیدن آخرین خروجی بعد از حلقه باید از Command Prompt کمک بگیری یعنی برنامه رو از داخل Command Prompt اجرا کنی تا بتونی آخرین خروجی رو ببینی.
اینو یادم رفت بگم که میتونی از
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای جلوگیری از بسته شدن سریع برنامه استفاده کنی.
موفق باشید.
:10:[QUOTE=god of war 2;4209822]برای دیدن آخرین خروجی بعد از حلقه باید از Command Prompt کمک بگیری یعنی برنامه رو از داخل Command Prompt اجرا کنی تا بتونی آخرین خروجی رو ببینی.
QUOTE]
ممنو دوست عزیز که وقت می گذارید و با حوصله به سوالات ابتدایی من جواب می دهید ..
از بابت معرفی دستور system("pause"); خیلی ممنون چون خیلی مفید بود
اما در رابطه با استفاده از cmd فکر می کنم تا برنامه را exe نکنم کار نده و من هم نمی دونم که کجای visual std C++ این کار را انجام میدهد
پس اگر امکان داره برام یه کم این مسئله را توضیح بدهید که چطور در ویژوال استودیو برنامه ام را بصورت فایل اجرایی در بیارم ؟
و اگر ممکنه طرز استاده از کتاخانه آماده ویژوال سی پلاس هم بهم بگید
god of war 2
14-09-2009, 11:01
زمانی که یک کد توسط Visual Studio کامپایل میشه فایل اجرایی بصورت پیش فرض یعنی اگر تنظیمات اولیه رو تغییر نداده باشید در آدرس:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و یا
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
مثل این آدرس:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ذخیره میشه که آدرس اول مربوط به قسمت Debug یا اشکال زدایی میشه و آدرس دوم مربوط به نسخه Release یا کامل میباشد.که معمولا حجم فایل اجرایی در این محل کمتر از قسمت Debug میباشد زیرا هنگام کامپایل قسمت های مربوط به اشکال زدایی و قسمت های اضافه دیگر از فایل اجرایی حذف میشود.
و اگر ممکنه طرز استاده از کتاخانه آماده ویژوال سی پلاس هم بهم بگید
برای این کار باید از یک کتاب کمک بگیری تاهم روش استفاده و هم توضیحات دیگر رو به شما بده.
یه نگاه به تاپیک مربوط به کتابهای خانواده C در همین بخش بندازی کتاب مورد نظرتو پیدا میکنی.
موفق باشید
fam_jam_teh
18-09-2009, 17:47
شرمنده که یه برنامه به این سادگی را اینقدر سوال می پرسم راجعش اما نمی دونم چرا خروچی درستی نمیده ؟!:19:
یعنی ورودی ها را دریافت می کنه و برنامه موقعی که -1 را وارد می کنی تا از حلقه خارج بشه کل برنامه بسته میشه و ادامه دستورات بعد حلقه while اجرا نمیشه و بهتر بگم خروجی مربوط به دستور زیر نمایش داده نمی شه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
لطفا به نوع متغیر ها گیر ندهید که باید float باشه یا ... ! :11:
سلام
خیلی از نرم افزارهایی که برنامه را اجرا می کنن خروجی را سریع نشان می دهند و پنجره را می بندند در واقع این خط برنامه شما آنقدر سریع اجرا می شود که شما متوجه نمی شوید. برای اینکه بخواهی خروجی را ببینی می توانی از چند روش استفاده کنی.
به ابتدای برنامه دستور
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
را اضافه کن و در آخر برنامه دستور
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این دستورات باعث می شه که خروجی رو نشون بده و بعد منتظر بمونه که شما یکی از دکمه های کیبورد را فشار بدید.
راه دیگه این هست که زمانی که شما برنامه را کامپایل می کتید یک فایل در دایرکتوری مربوطه با پسوند exe ساخته می شه که در واقع فایل اجرایی شما است. برای اینکه خروجی برنامه را یه صورت کامل ببینید می توانید از طریق زیر عمل کنید و command را باز کنید و از آنجا برنامه را اجرا کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و بعد در آنجا آدرس کامل فایل exe خود را وارد کنید مثلا اگر که در شاخه c و در دایرکتوری به اسم hw و سپس در دایرکتوری projectاست وارد کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و در آنجا فایل اجرایی خود را بدون پسوند exe وارد کنید و enter بزنید.
موفق باشید
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.