این تاپیک درباره ی تمرین های کتاب c++ تالیف آقای جعفر نژاد هستش! و سوالا های من همین مورد هست! و در باره سوال: میدونم فرمول تبدیل کردنش چیه! سوالم اینه چه موقع از توابعی مثل void استفاده میشه که هیچ مقداری رو برنمیگردانند!
این تاپیک درباره ی تمرین های کتاب c++ تالیف آقای جعفر نژاد هستش! و سوالا های من همین مورد هست! و در باره سوال: میدونم فرمول تبدیل کردنش چیه! سوالم اینه چه موقع از توابعی مثل void استفاده میشه که هیچ مقداری رو برنمیگردانند!
خب دوستمون توضیح دادن دیگه، بستگی به برنامه و برنامه نویس داره. یعنی هیچ قانون خاصی در موردش وجود نداره.
برای مثال وقتی نتیجه ی یک تابع رو برای یک تابع دیگه نیاز دارید خب طبیعتا باید مقدار رو برگردونید ولی اگر یک تابع ساده دارید و می خواین نتیجش رو فقط چاپ کنید خب دیگه نیازی به برگردوندن مقدارش و تکه تکه کردن کد ندارین. ولی این ها هم باز به شرایط بستگی دارن.(مثلا اینکه شما بخواین برای خروجی یا ورودی هم یک تابع دیگه داشته باشین یا نه و...)
و توی سوال شما که میخواین حتما با سه تابع نوشته بشه:
تابع اول ورودی رو میگیره و تابع دوم هم به اون ورودی برای انجام محاسبات نیاز داره، پس اولی باید یک مقداری(ورودی کاربر) رو برگردونه.
و در ادامه تابع سوم به یک مقداری نیاز داره تا اون رو چاپ کنه، پس تابع دوم هم باید نتیجه ی محاسبات رو برگردونه.
ولی تابع سوم فقط میخواد نتیجه رو چاپ کنه و هیچ کار خاصی رو رو متغیر هامون انجام نمیده که بعدا بهش نیاز داشته باشیم. پس فقط چاپ می کنه و مقداری رو بر نمیگردونه.
ولی خب چون این ها عملیات کوتاه و ساده ای هستن، اگر دلتون بخواد می تونین فقط توی یک تابع بنویسین بدون اینکه هیچی رو برگردونه. یا مثلا میتونید بسته به نیازتون تو دوتا تابع بنویسین و همه ی اینها باعث میشن نشه مستقیم گفت تابعتون باید مقداری رو برگردونه یا نه.
توجه داشته باشین که یک تابع میتونه بجای برگردوندن یک مقدار، یک متغیر موجود رو هم تغییر بده.
Last edited by Hapoofesgeli; 19-08-2013 at 21:17.
سلام
منم هستم
اینم برنامه:
(فقط بجای خط ، خط تیره گذاشتم (اصلا بدون استفاده از گرافیک میشه تو ++c خط کشید؟ ، فک نکنم))#include<iostream>
using namespace std;
void main()
{
float h;
cout << "x\tx*10\tx*100\tx*1000\n------------------------------\n" ;
for(int j=1;j<=3;j++)
{
h= (float) j/10;
for(int i=1;i<=4;i++)
{
h=h*10;
cout << h << "\t" ;
}
cout << "\n" ;
}
cin.get();
}
سلام
منم هستم
اینم برنامه:
(فقط بجای خط ، خط تیره گذاشتم (اصلا بدون استفاده از گرافیک میشه تو ++c خط کشید؟ ، فک نکنم))#include<iostream>
using namespace std;
void main()
{
float h;
cout << "x\tx*10\tx*100\tx*1000\n------------------------------\n" ;
for(int j=1;j<=3;j++)
{
h= (float) j/10;
for(int i=1;i<=4;i++)
{
h=h*10;
cout << h << "\t" ;
}
cout << "\n" ;
}
cin.get();
}
اینم برنامه:
(فقط بجای خط ، خط تیره گذاشتم (اصلا بدون استفاده از گرافیک میشه تو ++c خط کشید؟ ، فک نکنم))#include<iostream>
using namespace std;
void main()
{
float h;
cout << "x\tx*10\tx*100\tx*1000\n------------------------------\n" ;
for(int j=1;j<=3;j++)
{
h= (float) j/10;
for(int i=1;i<=4;i++)
{
h=h*10;
cout << h << "\t" ;
}
cout << "\n" ;
}
cin.get();
}
سلام! میشه به جای خط تیره ، آندرلاین بزارید_ مثل خط میشه. منم جوردیگه این برنامه نوشتم! صفحه2 پست 13.
روش جالبی بود ، آندرلاینم امتحان کردم
اگه همچنان با جعفر نژاد پیش میرید بگید الان کجا رسیدید منم خودمو برسونم
تا فصل 3. تقریبا هم تمرین هاشو حل کردم! تمرین هایی که اشکال داشتم اینجا با کمک دوستان حل کردیم!
ببین شکوفه جان:
مثال بزنی بهتره
1- ورودی: 2 فوت و 3 اینچ!
کامپیوتر فقط داره عدد میگیره باید بفهمه که فوت بهش دادی یا اینچ.
پس قطعا گزینه ای هست (مثلا منوی کشویی) که اندازه را میشه انتخاب کرد
پس شد سه تا تابع:
ورودی : 2 و 3
محاسبات: شناخت فوت و اینچ در ورودی
خروجی: تبدیل واحد و چاپ
شکوفه جان. منبع لاتین کتاب جعفر نژاد چیه؟ همون رو اینجوری که میگم سرچ بزن:
manual solution for esme ketab
حل المسایل کتاب را دانلود کن. جعفر نژاد فقط کتابو ترجمه کرده. حتی تمرینات آخر فصل هم ترجمه هستند.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)