PDA

View Full Version : سوال: دمای اتاق



majmaji
یک شنبه 09 اسفند 1388, 17:43 عصر
با سلام
من یه برنامه نوشتم که باید یکی از دو گزینههای 1 یا 2 رو از کاربر بگیره
اگه کاربر 1 رو انتخاب کنه دمایی که وارد میشه به فارنهایت هست و طبق یه فرمول باید تبدیل بشه به سلسیوس
و اگه کاربر 2 رو انتخاب کرد دمایی که وارد میشه به سلسیوس است و باید تبدیل بشه فارنهایت

حالا من هیچ مشکلی تو نوشتن این برنامه نداشتم و برنامم به درستی اجرا شد
اما مشکلی که من دارم اینه که وقتی 1 رو انتخاب میکنم و دما رو وارد میکنم (هر عددی که وارد کنم مثلا یک بار 45 و یک بار 980 ) دمایی که نشون میده 0 است.
و وقتی هم 2 رو میزنم و دما رو وارد میکنم نتیجه رو خیلی کمتر از اون چیزی کهاست نشون میده
اینم برنامه

#include <iostream>
using namespace std;
int main()
{
int a;
float tc, tf;
cout <<"gozine 1 ya 2";
cin >>a;
if(a==1){
cout <<"shoma daraje be farenhait ro entekhab kardid";
cout <<"daraje ra vared konid";
cin >>tf;
tc = (5/9*tf)-((5/9)*32);
cout <<"daraje be selcios barabar ast ba:" << tc;
}
else{
cout <<"shoma daraje be selcios ro entekhab kardid";
cout <<"daraje ra vared konid";
cin >>tc;
tf = ((9/5)*tc) + 32;
cout <<"daraje be farenhite barabar ast ba:" << tf;
}

}

#target
یک شنبه 09 اسفند 1388, 17:53 عصر
#include <iostream>
using namespace std;
int main()
{
int a;
int tct,tft;
float tc, tf;
cout <<"gozine 1 ya 2";
cin >>a;
if(a==1){
cout <<"shoma daraje be farenhait ro entekhab kardid";
cout <<"daraje ra vared konid";
cin >>tft;
tc = (5/9*tft)-((5/9)*32);
cout <<"daraje be selcios barabar ast ba:" << tc;
}
else{
cout <<"shoma daraje be selcios ro entekhab kardid";
cout <<"daraje ra vared konid";
cin >>tct;
tf = ((9/5)*tct) + 32;
cout <<"daraje be farenhite barabar ast ba:" << tf;
}

}

amin1softco
یک شنبه 09 اسفند 1388, 17:54 عصر
در تقسیم باید از نوع اعشاری استفاده کنی


#include <iostream>
using namespace std;
int main()
{
int a;
float tc, tf;
cout <<"gozine 1 ya 2";
cin >>a;
if(a==1){
cout <<"shoma daraje be farenhait ro entekhab kardid";
cout <<"daraje ra vared konid";
cin >>tf;
tc = (5.0/9.0*tf)-((5.0/9.0)*32);
cout <<"daraje be selcios barabar ast ba:" << tc;
}
else{
cout <<"shoma daraje be selcios ro entekhab kardid";
cout <<"daraje ra vared konid";
cin >>tc;
tf = ((9.0/5.0)*tc) + 32;
cout <<"daraje be farenhite barabar ast ba:" << tf;
}

}

majmaji
یک شنبه 09 اسفند 1388, 18:03 عصر
بازم همون اتفاق افتاد

amin1softco
یک شنبه 09 اسفند 1388, 19:00 عصر
این برنامه درسته چون -40 درجه فارنهایت وسلسیوس یکیه به برنامه بده نتیجه رو ببین
برای بهتر تست کردن اعداد این لینک (http://en.wikipedia.org/wiki/Temperature_conversionC#%E2%80%8Eomparison_of_temp erature_scales) رو ببین


#include <iostream>
using namespace std;
int main()
{
int a;
float tc=0, tf=0;
cout <<"gozine 1 ya 2";
cin >>a;
if(a==1){
cout <<"shoma daraje be farenhait ro entekhab kardid\n";
cout <<"daraje ra vared konid :";
cin >>tf;
tc = (tf-32)*(5.00000/9.00000);
cout <<"daraje be selcios barabar ast ba:" << tc;
}
else{
cout <<"shoma daraje be selcios ro entekhab kardid";
cout <<"daraje ra vared konid";
cin >>tc;
tf = ((9.00000/5.00000)*tc) + 32;
cout <<"daraje be farenhite barabar ast ba:" << tf;
}

}