mnavidm انلاینی .میتونی این کد برام توضیحح بدی تو ++c
result=sin(3.1416/(180/result)):A
resultint=result*100;a
[FONT="]result=resultint*1./100; a [/FONT]
هرکی میتونه کمک کنه
کد ایراد داره، تابع ()sin و بقیه توابع مثلثاتی C و ++C زاویه رو با واحد radian می سنجند، مثل 3.14 یا 1.57
result قبل از اجرا کردن اولین کد، زاویه بر حسب degree بوده، مثل 180 یا 90 درجه.
3.1416 مقدار تقریبی عدد پی (pi) است، با فرمول result * 3.1416 / 180 زاویه از واحد degree به radian
تبدیل میشه تا برای تابع sin قابل استفاده باشه :
کد:
result = sin(result * 3.1416 / 180);
با اجرا کردن کد بالا result مقدار sin اون زاویه رو که یک عدد اعشاری ئه نگهداری می کنه. برای اینکه این مقدار فقط دو رقم بعد از اعشار داشته باشه،
از یک متغیر صحیح (بدون اعشار) به نام resultint استفاده شده. یکبار در 100 ضرب شده و سپس به 100 تقسیم شده. اگر متغیر از نوع اعشاری بود،
ضرب کردن در 100 و تقسیم کردن بر 100 همدیگر را خنثی می کردند و نتیجه فرقی نمی کرد، اما از اونجایی که resultint از نوع اعداد صحیح و بدون
اعشار ئه، فقط دو رقمی اعشاری که با ضرب کردن در 100 به صحیح تبدیل می شوند رو نگهداری می کنه. در نتیجه از رقم های اعشاری فقط دو رقم
باقی می مونه.
کد:
resultint = result * 100;
result = resultint * 1. /100;