بعد از اینکه برنامه vs رو پاک کردم و دوباره نصب کردم این مشکل براش اومده
با هر پروژه و برنامه این ارور رو میده![]()
بعد از اینکه برنامه vs رو پاک کردم و دوباره نصب کردم این مشکل براش اومده
با هر پروژه و برنامه این ارور رو میده![]()
آخه مشکلی نیست . این برای همه پیش میاد . یه Warning هست . تیک Don't Show رو بزنین و Yes کنین اجرا می کنه دیگه .
تو VS قبلیتون اون تیک زده شده بود برای همین نشون داده نمی شد . ولی الان باز اومده .
پارکینگی برای توقف تا سه ساعت حداقل 2.0 دلار و برای هر ساعت اضافه یا بخشی از ساعت اضافه بر سه ساعت 0.5 دلار می گیرد.حداکثر مبلغ قابل پرداخت برای هر دوره 24 ساعته 10.0 دلار است.فرض کنید که هیچ خودرویی هر بار بیش از 24 ساعت توقف نمیکند.برنامه ای بنویسید که مبلغ پرداختی را برای هر یک از سه مشتری که روز گذشته خوردوی خود را در این پارکینگ پارک کرده اند محاسبه وچاپ کند.کاربر باید برای هر مشتری تعداد ساعات توقف را وارد کند.برنامه باید نتایج را به صورت جدول زیر چاپ کند و جمع کا مبالغ قبض های روز گذشته را محاسبه و چاپ کند.این برنامه بایذ برای تعیین مبلغ پرداختی هر یک از مشتری ها از تایعی به نام calculateCharges استفاده کند.خروجی برنامه باید به صورت زیر باشد :کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برنامه:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدحالا سوالات من :
اشکال این برنامه کجاست ؟
برای اینکه خط آخر خروجی بده باید چی کار کنم ؟
اگر بخوایم تابع یه مقداری رو به تابع اصلی برگردونه باید چی کار کنیم؟
اشکال دستوریش فقط اینه :
خوب یکی یکی charge رو توسط تابع حساب می کنین و تو یه متغیر می ریزین و آخر سر یکی یکی هر 3 رو چاپ می کنین .کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دقیقا به جای اینکه آخر تابع نوشتین return 0 ، اونو پاک کنین و هرجا خواستین مقدار برگردونین با همین return برگردونین . مثلا هر جا خواستین sumch رو برگردونین بنویسین return sumch . دقت کنین که هرجا که داخل یه تابع از return استفاده کردین دیگه اجرای تابع اونجا تموم میشه و به خطوط بعدی نمی ره .
این برنامه چیزی مطابق با خواسته کتاب خروجی نمیده . خروجیش اینطوریه که عدد اول رو میگیره میفرسته به تابع نتیجش چاپ میشه بعد عدد دوم و الی آخر . اما کتب خواسته نتایج یه جا نشون داده بشه البته بدون استفاده از آرایه .
بخاطر همین گفتم بیام از توابع Function Overloading (توابع گرانبار شده ) استفاده کنم که خوب اونم باید از نظر نوع پارامتر تعداد یا ترتیب پارامتر باهم فرق داشته باشن که خوب تو این تمرین همه یکسان بود به خاطر همین مجبور شدماسم توابع رو تغییر بدم و چون گفته بود برای 3 تا ماشین به همین دلیل 3 تا تابع تعریف کردم (خداروشکر که گفته بود برای 3 تا !!!)
حالا برای چاپ جدول :
تو تابع اصلی وقتی ساعت هارو گرفتم همون جا هم مقادیر رو جمع کردم ریختم تو total . برای جمع قسمت charge یه متغیر به اسم sumch تعریف کردم که توی توابع به شکل ارسال با ارجاع ازش استفاده کردم .
راه دیگه ای به نظرم نرسید .کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
---------- Post added at 12:06 PM ---------- Previous post was at 12:05 PM ----------
حالا یه برنامه دیگه :
یکی از کاربردهای تابع floor گرد کردن یک مقدار به نزدیکترین عدد صحیح است. دستور:
Y=floor(x+0.5)
عدد x را به نزدیکترین عدد صحیح گرد کرده و نتیجه را به y انتساب میدهد. برنامه ای بنویسید که چند عدد را از ورودی خوانده و با استفاده از دستور بالا هریک از آنها را به نزدیکترین عدد صحیح گرد کند. برنامه باید برای هر یک از اعداد پردازش شده ، خود عدد اصلی و نیز عدد گرد شده را چاپ نماید.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این برنامه ای هست که براش نوشتم ، برنامه درست جواب میده اما درست جواب دادن برام ملاک نیست اینکه برنامه رو به شیوه درستش نوشتم یا نه برام مهمه .
لطفا نظر میدید در مورد برنامه .
---------- Post added at 12:07 PM ---------- Previous post was at 12:06 PM ----------
تابع floor را میتوان برای گرد کردن عددی تا تعداد مشخصی رقم اعشار به کار برد.دستور
Y=floor(X*10+.5)/10
مقدار موجود در متغیر x را تا رقم اعشار یک صدم (دومین رقم در سمت راست ممیز)گرد میکند. برنامه ای بنویسید که با تعریف چهار تابع به شکل های زیر عدد number را گرد کند :کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبرنامه رو درست نوشتم ؟؟؟چون فقط برای مقادیر اعشاری درست جواب میده و برای مقادیر صحیح اشتباه خروجی میده !!!
Last edited by dewdrops; 13-02-2010 at 12:12.
چرا کسی راجع به سوالات قبلیم جوابی نمیده
یه سوال دیگه فعلا بپرسم .
تفاوت تابع rand با srand چیه ؟
تو کتاب یه تمرین داده گفته دستوری بنویسید که یکی از اعداد موجود در هر مجموعه را به صورت تصادفی چاپ کند .
اینم مجموعه ها
لطفا یه راهنمایی میکنید ؟ باید برای هر کدوم یه enum تعریف کنم ؟؟؟؟؟؟؟؟کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خب برای گرد کردن میشه این کارو کرد :
مثلا یه double به ما دادن که گرد کنیم . اونو تو یه int ذخیره می کنیم . قسمت اعشاریش از بین میره . حالا اگه اختلاف اون double و int بیشتر از نیم باشه int + 1 رو به عنوان نتیجه چاپ می کنیم و در غیر این صورت int رو .
من متوجه این سوال نشدم اصلا .
تابع rand یه عدد تصادفی ایجاد می کنه و برمیگردونه . ولی این عدد تصادفی ایجاد شده واقعا تصادفی نیست و اگه این تابع رو چند بار اجرا کنین می بینین که دنباله ای تکراری از اعداد تولید میشه . برای اینکه این دنباله هم تصادفی باشه یه مقدار به srand می دیم که به این دنباله مقدار اولیه بده که اونم تصادفی بشه .
مثلا اگه بخوایم اعداد از 1 تا 6 رو به صورت تصادفی ایجاد کنیم میگیم :
rand() % 6 + 1
rand() % 6 از 0 تا 5 ایجاد می کنه که اگه بخوایم از 1 تا 6 باشه + 1 می کنیم .
برا srand اگه بهش ( time ( 0 رو بدیم بهترین حالت تصادفی ایجاد میشه . چون مقدار ( time ( 0 هر لحظخ تغییر می کنه .
((srand ( time (0
sin2x=2sinxcosx سلام.
شما واقعا لطف میکنید که به برنامه هام توجه میکنید و به سوالاتم جواب میدید .ولی یه کم مثل جت از رو سوالام رد میشید به خاطر همین بعضی هاش از زیر دستتون رد میشه ظاهرا.
تو قسمت قبلی من یه سوال دیگه هم کرده بودم
و تو قستم rand و srand بازم آخرش یه سوال مطرح کردم که مربوط میشد به کتاب که راهنمایی خواستم بودم.![]()
نمی دونم کدوم سوال جا موند .
اگه اینو میگین :
تو کتاب یه تمرین داده گفته دستوری بنویسید که یکی از اعداد موجود در هر مجموعه را به صورت تصادفی چاپ کند .
اینم مجموعه ها
کد:
- 2, 4, 6, 8, 10.
- 3, 5, 7, 9, 11.
- 6, 10, 14, 18, 22.
لطفا یه راهنمایی میکنید ؟ باید برای هر کدوم یه enum تعریف کنم ؟؟؟؟؟؟؟؟
گفتم که متوجه نشدم .
شما سوالاتون رو يه دفه ميپرسين آدم زورش مياد بخونتشون :دي
واسه سوال srand لازم نيست enum تعريف كني
شما يه سري اعداد محدود دارين كه مثلا گروه اول 2، 4، 6، 8، 10 هستن
همونطور كه sin2x=2sinxcosx توضيح داد شما براي ايجاد يه عدد تصادفي بين مثلا 1 تا 6 كافيه از rand() % 6 + 1 استفاده كني
حالا براي اين سوال عدد اول 2 هستش عدد آخر 10 و شما بايد با تابع rand() عددي توليد كني كه اعداد فرد بين 2 تا 10 رو شامل نشه يعني بهترين كار ضرب عدد بدست اومده از تايع rand() در عدد 2 هستش كه يه فاصله ي 2 تايي بين اعداد ايجاد ميكنه
خب مسلمه اگه قرار باشه اعداد در 2 ضرب بشن بازه ي پايين rand() بايد باشه 1 و بالاش هم بايد 5 باشه
يعني فرمولمون ميشه
دو مجموعه ي بعدي هم همينطوري حل ميشهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by Ar@m; 14-02-2010 at 20:38.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)