mgh_1501040
سه شنبه 08 شهریور 1390, 16:20 عصر
سلام دوستان
من یه برنامه نوشتم که باید قسمت اعشاری یه عدد double رو از قسمت صحیح جدا کنم و قسمت اعشاری رو به صحیح تبدیل کنم برای همینم عدد doubleرو برابر یه عدد intمیذارم تا قسمت صحیحش جدا بشه و بعد از عدد اعشاری کم میکنم و توی یه doubleمیریز م که قسمت اعشاری رو هم جدا داشته باشم
وقتی میخوام اعشارشو تبدیل به صحیح کنم اینکار و میکنم:
قسمت اعشاری رو توی لوپ در 10 ضرب میکنم و دوباره قسمت صحیحش رو جدا میکنم تو یه int می ریزم
شرط لوپ هم اینه که این دوتا با هم برابر نشه وقتی قسمت صحیحش با خودش برابر بشه یعنی قسمت اعشاری کاملا صحیح شده پس باید خارج شه
ولی مساله اینه که عدد اعشاری و صحیح من با هم برابر می شن اما از لوپ خارج نمیشه و وقتی اختلافشون رو حساب میکنم اختلاف ناچیز دارن...چرا؟
اینم کدش :
#include
<iostream>
#include
<conio.h>
using
namespace std;
int
main(){
عدد اعشاری که از ورودی میخونم
double dbl;
قسمت صحیح dbl
int integer;
قسمت اعشار dbl
double dbl2;
قسمت صحیح dbl2وقتی داره به صحیح تبدیل میشه
int integer2;
تفاضل dbl2,integer2
double c;
cin>>dbl;
integer=dbl;
cout<<integer<<endl;
dbl2=dbl - integer;
cout<<dbl2<<endl;
c=dbl2;
cout<<c<<endl;
while(c!=0)
{
dbl2*=10;
cout<<
"dbl2 "<<dbl2<<endl;
integer2=dbl2;
cout<<
"int2 "<<integer2<<endl;
c=dbl2-integer2;
cout<<
"c: "<<c<<endl;
}
getch();
return 0;
}
من یه برنامه نوشتم که باید قسمت اعشاری یه عدد double رو از قسمت صحیح جدا کنم و قسمت اعشاری رو به صحیح تبدیل کنم برای همینم عدد doubleرو برابر یه عدد intمیذارم تا قسمت صحیحش جدا بشه و بعد از عدد اعشاری کم میکنم و توی یه doubleمیریز م که قسمت اعشاری رو هم جدا داشته باشم
وقتی میخوام اعشارشو تبدیل به صحیح کنم اینکار و میکنم:
قسمت اعشاری رو توی لوپ در 10 ضرب میکنم و دوباره قسمت صحیحش رو جدا میکنم تو یه int می ریزم
شرط لوپ هم اینه که این دوتا با هم برابر نشه وقتی قسمت صحیحش با خودش برابر بشه یعنی قسمت اعشاری کاملا صحیح شده پس باید خارج شه
ولی مساله اینه که عدد اعشاری و صحیح من با هم برابر می شن اما از لوپ خارج نمیشه و وقتی اختلافشون رو حساب میکنم اختلاف ناچیز دارن...چرا؟
اینم کدش :
#include
<iostream>
#include
<conio.h>
using
namespace std;
int
main(){
عدد اعشاری که از ورودی میخونم
double dbl;
قسمت صحیح dbl
int integer;
قسمت اعشار dbl
double dbl2;
قسمت صحیح dbl2وقتی داره به صحیح تبدیل میشه
int integer2;
تفاضل dbl2,integer2
double c;
cin>>dbl;
integer=dbl;
cout<<integer<<endl;
dbl2=dbl - integer;
cout<<dbl2<<endl;
c=dbl2;
cout<<c<<endl;
while(c!=0)
{
dbl2*=10;
cout<<
"dbl2 "<<dbl2<<endl;
integer2=dbl2;
cout<<
"int2 "<<integer2<<endl;
c=dbl2-integer2;
cout<<
"c: "<<c<<endl;
}
getch();
return 0;
}