تور لحظه آخری
امروز : چهارشنبه ، 28 شهریور 1403    احادیث و روایات:  امام سجاد (ع):به امام سجّاد عليه‏السلام عرض كردم: مرا از تمام دستورهاى دين آگاه كنيد، امام عليه...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

تریدینگ ویو

کاشت ابرو

لمینت دندان

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

طراحی کاتالوگ فوری

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

وکیل کرج

خرید تیشرت مردانه

وام لوازم خانگی

نتایج انتخابات ریاست جمهوری

خرید ابزار دقیق

خرید ریبون

موسسه خیریه

خرید سی پی کالاف

واردات از چین

دستگاه تصفیه آب صنعتی

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

خرید نهال سیب سبز

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

دیوار سبز

irspeedy

درج اگهی ویژه

ماشین سازان

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

شات آف ولو

تله بخار

شیر برقی گاز

شیر برقی گاز

خرید کتاب رمان انگلیسی

زانوبند زاپیامکس

بهترین کف کاذب چوبی

پاد یکبار مصرف

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

بلیط هواپیما

 






آمار وبسایت

 تعداد کل بازدیدها : 1816351454




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

اشکال در یه برنامه خیلی ساده از ++؟؟؟؟!


واضح آرشیو وب فارسی:سایت ریسک: mm4512-09-2009, 06:28 PM:10:سلام به همه دوستان و اساتید نمی دونم چرا این برنامه ساده خروجی درستی نداره ؟ #include <iostream.h> int main () { int gallon = 1, miles = 1, subG = 0, subM = 0; cout << "Enter the Gallon used ( -1 to end ): " ; while ( ( gallon = cin.get() ) != -1 ) { subG += gallon; cout << " Enter the miles driven : "; cin >> miles; subM += miles; cout << " The miles / Gallonfor this tank was :" << miles / gallon << endl; cout << " Enter the Gallon used ( -1 to end ) : " ; } cout << " Enter overall averrage miles /Gallon was :" << subM / subG << endl; return 0; } sin2x=2sinxcosx12-09-2009, 06:59 PMتو تاپيک سوال و جواب پرسيدين . گفتم اگه ميشه بگين قراره برنامه چيکار کنه . mm4512-09-2009, 07:09 PM:10::11:این برنامه باید خروجی زیر را تولید کند : Enter the gallons used ( -1 to end ) : 12.8 Enter the miles driven : 287 the miles / gallon for this tank was : 22.421875 Enter the gallon uset ( -1 to end ): -1 t the overall average miles gallon was ..... یا ساده تر که بگم قراره میزان مصرف سوخت خودرو را برحسب گالون از کاربر بگیره و مقدار مسافت را بر حسب مایل دریافت کند و نسبت مایل به گالن را حساب کند و بعد از اینکه -1 را کاربر وارد کرد نسبت مایل در گالن کل را محاسبه و چاپ کند راستی من خودم تصورم اینه که مشکل از تابع cin.get() است چون یه برنامه ساده دیگه هم با این تابع درست کار نمی کنه !!:11: mm4512-09-2009, 07:12 PM#include<iostream.h> int main() { int sales = -1, salary = 0, fix = 200 ; cout << " Enter sales in dollars ( -1 to end ) : " ; while ( (sales = cin.get() )!= -1 ) { salary = 0.09 * sales + fix ) ; cout << " salary is :$ " << salary ; cout << " Enter sales in dollars (-1 to end):"; } return 0 ; } mm4512-09-2009, 09:05 PMبابا دمتون گرم !!!! 22 نفر فقط بازدید میکنند و هیچکس هیچ نظری نمیده ! god of war 212-09-2009, 09:44 PM#include<iostream.h> int main() { int sales = -1, salary = 0, fix = 200 ; cout << " Enter sales in dollars ( -1 to end ) : " ; while ( (sales = cin.get() )!= -1 ) { salary = 0.09 * sales + fix ) ; cout << " salary is :$ " << salary ; cout << " Enter sales in dollars (-1 to end):"; } return 0 ; } کد شما یه چندتای اشتباه داشت. مثلا متغیر salary از نوع int تعریف شده در صورتی که باید از نوع double تعریف بشه و چندتا مشکل دیگر که نگاه کنی متوجه میشی کد درست پایین صفحه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! موفق باشید god of war 212-09-2009, 10:04 PM:10:سلام به همه دوستان و اساتید نمی دونم چرا این برنامه ساده خروجی درستی نداره ؟ #include <iostream.h> int main () { int gallon = 1, miles = 1, subG = 0, subM = 0; cout << "Enter the Gallon used ( -1 to end ): " ; while ( ( gallon = cin.get() ) != -1 ) { subG += gallon; cout << " Enter the miles driven : "; cin >> miles; subM += miles; cout << " The miles / Gallonfor this tank was :" << miles / gallon << endl; cout << " Enter the Gallon used ( -1 to end ) : " ; } cout << " Enter overall averrage miles /Gallon was :" << subM / subG << endl; return 0; } شما از چه کامپایلری استفاده میکنی؟ این کد ی که شما دادی فکر نکنم اصلا کامپایل بشه! از using std یا using namespace استفاده کنید. معمولا به جای iostraem.h از iostream استفاده میکنن. موفق باشید. mm4512-09-2009, 10:04 PMاما کد قبلی مشکلش چی بود ؟؟؟؟؟ ممنون میشم راهنمایی بکنی#include <iostream.h> int main () { int gallon = 1, miles = 1, subG = 0, subM = 0; cout << "Enter the Gallon used ( -1 to end ): " ; while ( ( gallon = cin.get() ) != -1 ) { subG += gallon; cout << " Enter the miles driven : "; cin >> miles; subM += miles; cout << " The miles / Gallonfor this tank was :" << miles / gallon << endl; cout << " Enter the Gallon used ( -1 to end ) : " ; } cout << " Enter overall averrage miles /Gallon was :" << subM / subG << endl; return 0; } mm4512-09-2009, 10:08 PMاز کامپایلر Turbo c++ for windows 4.5 استفاده می کنم . استفاده از فضای نام std برای جلوگیری از تداخل نام های توابع است تا اینجایی که من اطلاع دارم ؟! و درک نمی کنم چه نیازی به استفاده اش می تونه باشه ؟ میشه توضیح بدهید دلیل اش را ؟ باز هم ممنون از جوابتون :11: mm4512-09-2009, 10:13 PM#include<iostream> using namespace std; int main() { int sales = -1, fix = 200 ; double salary; cout << " Enter sales in dollars ( -1 to end ) : " ; while ( (sales = cin.get() )!= -1 ) { salary = 0.09 * sales + fix ; cout << " salary is :$ " << salary ; cout << " Enter sales in dollars (-1 to end):"; } return 0 ; } همینطور که گفتم من از turbo c++ for windows 4.5 استفاده میکنم و برنامه ی دیگه ای هم باهاش کامپایل کردم و درست کار میکنه . اما این دو تا برنامه خروجی درستی نمیدهد بهم اول اینکه با وارد کردن -1 از حلقه خارج نمی شه ؟ و دوم اینکه با وارد کردن هر عددی یک خروجی ثابت نمایش میدهد و 3 بار حلقه را برای هر ورودی تکرار میکنه ؟!!:18::19: god of war 212-09-2009, 10:50 PMمن خودم شخصا CodeBlocks یا Visual Studio 2008 رو بجای Turbo c++ به شما معرفی میکنم. در رابطه با فضای نام تمام نماد های iostream متعلق به فضای نام std هستند.این یک کار لازم مخصوصا برای زمانی است که بخواهیم از نام هایی استفاده کنیم که با دستور پیش پردازنده <include<iostream به برنامه آورده شده است. مثلا نماد std::cout به ما می گوید در برنامه از اسمی استفاده میکنیم که مربوط به فضای نام میباشد. ali zi zeperto12-09-2009, 11:17 PM:10:سلام به همه دوستان و اساتید نمی دونم چرا این برنامه ساده خروجی درستی نداره ؟ #include <iostream.h> int main () { int gallon = 1, miles = 1, subG = 0, subM = 0; cout << "Enter the Gallon used ( -1 to end ): " ; while ( ( gallon = cin.get() ) != -1 ) { subG += gallon; cout << " Enter the miles driven : "; cin >> miles; subM += miles; cout << " The miles / Gallonfor this tank was :" << miles / gallon << endl; cout << " Enter the Gallon used ( -1 to end ) : " ; } cout << " Enter overall averrage miles /Gallon was :" << subM / subG << endl; return 0; } اول که شما متغیر gallon رو int تعریف کردی ولی توی ورودیهای برنامه ات می خوای عدد اعشار وارد کنی. شرط حلقه while هم اشتباهه.جریان cin.get برای خوندن کاراکتره.برنامه درستش رو پایین برات گذاشتم.خروجی ها رو هم دقیق همون که خواستی میده.من با کامپایلر gcc کامپایلش کردم. موفق باشی #include <iostream.h> int main (){ float gallon = 1, miles = 1, subG = 0, subM = 0; cout << "Enter the Gallon used ( -1 to end ): " ; cin>>gallon; while ( gallon != -1 ){ subG += gallon; cout << " Enter the miles driven : "; cin>>miles; subM += miles; cout << " The miles / Gallon for this tank was :" << miles / gallon << endl; cout << " Enter the Gallon used ( -1 to end ) : " ; cin>>gallon; } cout << " Enter overall averrage miles / Gallon was :" << subM / subG << endl; return 0; } god of war 212-09-2009, 11:46 PMاین کد امتحان کن: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! اگر به جای 1- از EOF استفاده میکردی بهتر بود. موفق باشید mm4513-09-2009, 03:50 PMمن خودم شخصا CodeBlocks یا Visual Studio 2008 رو بجای Turbo c++ به شما معرفی میکنم. . ممنون از وقتی که برام گذاشتی . من visual studio 2008 را نصب کردم اما کد را که با اون باز می کنم توانایی کامپایل اش را ندارد . ممکنه توضیح بدهید دقیقا باید چه طور از این برنامه استفاده کنم برای کامپایل کردن ؟؟:11: god of war 213-09-2009, 06:24 PMدر Visual Studio 2008 قبل از هر کاری باید یک پروژه جدید ایجاد کرد که با توجه به زبان مورد استفاده متفاوت میباشد یعنی شما باید یک پروژه از قسمت زبان ++C و ترجیحا از نوع Win32 console application ایجاد کنید.بعد از ایجاد پروژه جدید کد مورد نظرتون رو داخل پروژه بنویسید یا اگر از قبل موجود میباشد با copypaste به داخل پروژه منتقل کنید. برای ایجاد پروژه جدید هم میتونید از قسمت File گزینه New project اقدام کنید البته هنگام نصب برنامه باید آپشن های مربوط به زبان ++C رو هم نصب کرده باشید و گرنه اصلا قادر به کار با زبان ++C در Visual Studio 2008 نمیباشید. موفق باشید. mm4513-09-2009, 09:38 PMشرمنده که یه برنامه به این سادگی را اینقدر سوال می پرسم راجعش اما نمی دونم چرا خروچی درستی نمیده ؟!:19: یعنی ورودی ها را دریافت می کنه و برنامه موقعی که -1 را وارد می کنی تا از حلقه خارج بشه کل برنامه بسته میشه و ادامه دستورات بعد حلقه while اجرا نمیشه و بهتر بگم خروجی مربوط به دستور زیر نمایش داده نمی شه cout << " Enter overall averrage miles /Gallon was :" << subM / subG << endl; لطفا به نوع متغیر ها گیر ندهید که باید float باشه یا ... ! :11: god of war 213-09-2009, 10:14 PMمن این کد رو امتحان کردم و مشکلی نداشت.1- رو هم وقتی وارد میکردم برنامه تا آخرین دستور اجرا و بعد به پایان میرسید. فکر میکنم مشکل شما اینه که برنامه مورد نظر رو مستقیم اجرا میکنی و برنامه پس دریافت 1- بسرعت بسته میشه یعنی خروجی نمایش داده میشود اما خیلی سریع و بعد برنامه بسته میشود. برای دیدن آخرین خروجی بعد از حلقه باید از Command Prompt کمک بگیری یعنی برنامه رو از داخل Command Prompt اجرا کنی تا بتونی آخرین خروجی رو ببینی. اینو یادم رفت بگم که میتونی از !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! برای جلوگیری از بسته شدن سریع برنامه استفاده کنی. موفق باشید. mm4514-09-2009, 11:05 AM:10:[QUOTE=god of war 2;4209822]برای دیدن آخرین خروجی بعد از حلقه باید از Command Prompt کمک بگیری یعنی برنامه رو از داخل Command Prompt اجرا کنی تا بتونی آخرین خروجی رو ببینی. QUOTE] ممنو دوست عزیز که وقت می گذارید و با حوصله به سوالات ابتدایی من جواب می دهید .. از بابت معرفی دستور system("pause"); خیلی ممنون چون خیلی مفید بود اما در رابطه با استفاده از cmd فکر می کنم تا برنامه را exe نکنم کار نده و من هم نمی دونم که کجای visual std C++ این کار را انجام میدهد پس اگر امکان داره برام یه کم این مسئله را توضیح بدهید که چطور در ویژوال استودیو برنامه ام را بصورت فایل اجرایی در بیارم ؟ و اگر ممکنه طرز استاده از کتاخانه آماده ویژوال سی پلاس هم بهم بگید god of war 214-09-2009, 12:01 PMزمانی که یک کد توسط Visual Studio کامپایل میشه فایل اجرایی بصورت پیش فرض یعنی اگر تنظیمات اولیه رو تغییر نداده باشید در آدرس: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! و یا !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! مثل این آدرس: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ذخیره میشه که آدرس اول مربوط به قسمت Debug یا اشکال زدایی میشه و آدرس دوم مربوط به نسخه Release یا کامل میباشد.که معمولا حجم فایل اجرایی در این محل کمتر از قسمت Debug میباشد زیرا هنگام کامپایل قسمت های مربوط به اشکال زدایی و قسمت های اضافه دیگر از فایل اجرایی حذف میشود. و اگر ممکنه طرز استاده از کتاخانه آماده ویژوال سی پلاس هم بهم بگید برای این کار باید از یک کتاب کمک بگیری تاهم روش استفاده و هم توضیحات دیگر رو به شما بده. یه نگاه به تاپیک مربوط به کتابهای خانواده C در همین بخش بندازی کتاب مورد نظرتو پیدا میکنی. موفق باشید fam_jam_teh18-09-2009, 06:47 PMشرمنده که یه برنامه به این سادگی را اینقدر سوال می پرسم راجعش اما نمی دونم چرا خروچی درستی نمیده ؟!:19: یعنی ورودی ها را دریافت می کنه و برنامه موقعی که -1 را وارد می کنی تا از حلقه خارج بشه کل برنامه بسته میشه و ادامه دستورات بعد حلقه while اجرا نمیشه و بهتر بگم خروجی مربوط به دستور زیر نمایش داده نمی شه cout << " Enter overall averrage miles /Gallon was :" << subM / subG << endl; لطفا به نوع متغیر ها گیر ندهید که باید float باشه یا ... ! :11: سلام خیلی از نرم افزارهایی که برنامه را اجرا می کنن خروجی را سریع نشان می دهند و پنجره را می بندند در واقع این خط برنامه شما آنقدر سریع اجرا می شود که شما متوجه نمی شوید. برای اینکه بخواهی خروجی را ببینی می توانی از چند روش استفاده کنی. به ابتدای برنامه دستور #include<conio.h> را اضافه کن و در آخر برنامه دستور getch() return 0; این دستورات باعث می شه که خروجی رو نشون بده و بعد منتظر بمونه که شما یکی از دکمه های کیبورد را فشار بدید. راه دیگه این هست که زمانی که شما برنامه را کامپایل می کتید یک فایل در دایرکتوری مربوطه با پسوند exe ساخته می شه که در واقع فایل اجرایی شما است. برای اینکه خروجی برنامه را یه صورت کامل ببینید می توانید از طریق زیر عمل کنید و command را باز کنید و از آنجا برنامه را اجرا کنید: start->run->cmd->ok و بعد در آنجا آدرس کامل فایل exe خود را وارد کنید مثلا اگر که در شاخه c و در دایرکتوری به اسم hw و سپس در دایرکتوری projectاست وارد کنید: c: cd hwproject و در آنجا فایل اجرایی خود را بدون پسوند exe وارد کنید و enter بزنید. موفق باشید سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1460]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن