پاسخ: سئوالات برنامه نویسی ++C
نقل قول:
ممنون گلپسران
چرا تو ++C حلقه for رو به این شکل ها بنویسیم مورد دار داره؟ :
کد:
for (int i = 1;5;i++)
{
cout << i;
}
یا
کد:
for (int i = 1;i=5;i++)
{
cout << i;
}
و حتما باید این طور نوشت :
کد:
for (int i = 1;i<=5;i++)
{
cout << i;
}
ینی اگه کسی نخاد علامت => رو بزاره و فقط علامت = رو بزاره ، راهی نداره؟ در صورتی هه که کامپایلرش موقع اجرا گیر نمیده اما عجیب و قریب اجرا میشه و با تعداد تکرار بسیار زیاد
اما هیچ چی به خوش ترتیبی و خوش دستی و سادگی زبان لوا نمیشه :great:
با اونکه از زبان C ساخته شد اما یه آرایه اش هم ساده تر و هم منعطف تر از این زبانه و هم آرایه ی لوا برابری میکنه با آرایه و هم استراکچر زبان ++C و حتی بسیار گسترده تر و منعطف تر از این دو
همیشه برام سئواله که چجوری میشه که لوا که تو C نوشته شد ، این قدر به سینتک ها گیر نمیده (تقریبا میشه گفت سینتک پایانی تابع ها و متغییرها رو نداره ومن حتی یه بارم نزاشتم و هیچ گیری نداد) اما C یا ++C خودشون به شدت گیر میدن؟!!!
دومین سئوال اینکه چجوری حفظ کردین که تو این همه توابع و فضای نام بسیار زیاد ، کدوم تابع ، توی کدوم هدر فایل هه؟ این برام سخته و هم گیج کننده هست که حفظ کنم کدوم تابع توی کدوم هدر فایل هست که قبلش اون هدر رو تو پیش پردازنده بیارم. (اگه پیش پردازنده ی مورد نظر پیوست نشه که حتی اسم اون تابع رو توی لیستش وقتی شروع به نوشتن میکنیم هم نمیاره). من حتی گاها اسم تابع رو هم اول شو برام سخته به یاد بیارم. مثلا تابع setprecision که تو هدر iomanip هست رو هنوزم به زور نتونستم اسم این دو رو حفظ کنم
روش راحت تر برا یادگیری و به یادآوری تابع و هدر فایل اش نیست؟ ینی این همه برنامه نویس های ++C این همه هدر و نام تابع هاشونو دونه دونه حفظ میکنن؟
درباره ی ورودی تابع چی؟ توی توضیحات tooltip اون تابع که توی ویژال استودیو میاره ، تقریبا چیزی نمیفهمم
i=5 اصلا شرط نیست بلکه مقدار 5 رو در i می ریزه و خروجی 1 رو میده (که همیشه صحیح است) و لوپ تا ابد ادامه پیدا می کنه. اگه میخواید شرط کنید باید i==5 بگذارید (که اگه بگذارید در لوپ بالا چون شرط غلط است لوپ هیچ وقت اجرا نمیشه و سریعا ازش رد میشه). وقتی فقط 5 می گذارید شرط همیشه صادق است و هیچ وقت از لوپ بیرون نخواهد رفت.
اسم ها رو با تمرین یاد می گیرید ولی لزومی نداره بلد باشید. همیشه موقع برنامه نویسی documentation یا Google !! جلوتون لازمه باز باشه. هیچ کس همه چیز رو حفظ نیست.
پاسخ: سئوالات برنامه نویسی ++C
نقل قول:
i=5 اصلا شرط نیست بلکه مقدار 5 رو در i می ریزه و خروجی 1 رو میده (که همیشه صحیح است) و لوپ تا ابد ادامه پیدا می کنه. اگه میخواید شرط کنید باید i==5 بگذارید (که اگه بگذارید در لوپ بالا چون شرط غلط است لوپ هیچ وقت اجرا نمیشه و سریعا ازش رد میشه). وقتی فقط 5 می گذارید شرط همیشه صادق است و هیچ وقت از لوپ بیرون نخواهد رفت.
اسم ها رو با تمرین یاد می گیرید ولی لزومی نداره بلد باشید. همیشه موقع برنامه نویسی documentation یا Google !! جلوتون لازمه باز باشه. هیچ کس همه چیز رو حفظ نیست.
ممنون
google باز باشه ، چه کمکی بهم میکنه که بفهمم کدوم تابع ، تو کدوم هدر هست که لازم نباشه حفظ اش کنم؟
documentation منظورت راهنمای vs هه؟
پاسخ: سئوالات برنامه نویسی ++C
نقل قول:
ممنون
google باز باشه ، چه کمکی بهم میکنه که بفهمم کدوم تابع ، تو کدوم هدر هست که لازم نباشه حفظ اش کنم؟
documentation منظورت راهنمای vs هه؟
سرچ می کنید و پیدا می کنید. documentation های زیادی برای ++C هست:
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
برای مشاهده این لینک/عکس می بایست عضو شوید !برای عضویت اینجا کلیک کنید ]
پاسخ: سئوالات برنامه نویسی ++C
نه
من اگه اول کلمه ی هدر فایل مربوطه یا اول کلمه ی تابع مربوطه رو یادم بیاد که بقیه اش تو لیست tooltip ویژال استودیو برام لیست میشه و میتونم پیداش کنم
مشکل من اینه که اگه اول کلمه ی تابع مورد نظر یا اول کلمه ی هدر فایل یادم نیومد چی کار کنم؟ یا اینکه ندونم و یا فراموش کنم که کدوم تابع تو کدوم هدر فایل هست چی؟ با توجه به اینکه تعداد بسیار بسیار زیادی هدر و مخصوصا تابع داریم!!
پاسخ: سئوالات برنامه نویسی ++C
نقل قول:
نه
من اگه اول کلمه ی هدر فایل مربوطه یا اول کلمه ی تابع مربوطه رو یادم بیاد که بقیه اش تو لیست tooltip ویژال استودیو برام لیست میشه و میتونم پیداش کنم
مشکل من اینه که اگه اول کلمه ی تابع مورد نظر یا اول کلمه ی هدر فایل یادم نیومد چی کار کنم؟ یا اینکه ندونم و یا فراموش کنم که کدوم تابع تو کدوم هدر فایل هست چی؟ با توجه به اینکه تعداد بسیار بسیار زیادی هدر و مخصوصا تابع داریم!!
ســـــــــــرچ کنید!
function_name C++ which header file
پیدا می کنید! اگه نمی دونید اسم تابع چیه سرچ کنید:
++How to compare strings in C
++How to parse string to double in C
How to force a thread to terminate in C++11
how to generate a random number from normal distribution in C++11
پیدا می کنید!
پاسخ: سئوالات برنامه نویسی ++C
این کد ، متغییر YearGain اش چرا کار نمیکنه؟
همش مقدار اولیه اش که 9 هست میشه و تغییر نمیکنه :
کد:
#include "stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int CurAccount = 1000,YearGain=0;
for (int i = 1; i <= 10;)
{
YearGain=CurAccount*(5 / 100);
cout << "Sode " << i << " : " << YearGain << endl;
CurAccount = CurAccount + YearGain;
cout << "Sepordeh Sale "<<i<<" : "<<CurAccount << endl;
i++;
}
getchar();
return 0;
}
پاسخ: سئوالات برنامه نویسی ++C
نقل قول:
این کد ، متغییر YearGain اش چرا کار نمیکنه؟
همش مقدار اولیه اش که 9 هست میشه و تغییر نمیکنه :
کد:
#include "stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int CurAccount = 1000,YearGain=0;
for (int i = 1; i <= 10;)
{
YearGain=CurAccount*(5 / 100);
cout << "Sode " << i << " : " << YearGain << endl;
CurAccount = CurAccount + YearGain;
cout << "Sepordeh Sale "<<i<<" : "<<CurAccount << endl;
i++;
}
getchar();
return 0;
}
با سلام!
مشکل به خاطر خطی است که با رنگ قرمز مشخص شده. چون متغیر ها از نوع int تعریف شدن، مقدار اعشاری در اون ها قابل قبول نخواهد بود. لذا وقتی مقدار داخل پرانتز یعنی تقسیم 5 بر 100 حساب میشه مقدار صحیح اون در آن واحد حساب میشه که برابر با صفره و سپس در مقدار متغیر CurAccount ضرب میشه. از طرفی می دونیم که ضرب صفر در هر عدد تعریف شده صفر خواهد بود. با اجرای برنامه در کل حلقه مقدار YearGain صفر خواهد بود (نمی دونم چرا نوشتی 9 !).
پرانتز رو برداری مشکل به نظر حل بشه:
کد:
YearGain = CurAccount * 5 / 100;