PDA

View Full Version : مشکل در نوشتن یک برنامه ساده



amir_80
سه شنبه 12 مهر 1390, 01:43 صبح
سلام دوستان
خدا وکیلی این یکی خیلی ثواب داره هر کی کمک کنه:لبخند:

اصولا چون دوست ندارم سوالاتم رو از دیگران بپرسم و دوست دارم خودم جوابشون رو به دست بیارم خیلی خودم تلاش کردم ولی این یکی فایده نداره نمیدونم شایدم واسه اینه که من تازه کارم

دوستان من میخوام واسه یه شرکت که ۲ تا کارمند داره و حقوق هر کارمند ۷۵۰۰۰۰ تومنه یه برنامه بنویسم که به صاحب شرکت بگه داداش اگه ۱۳.۵ درصد به حقوق این ۲ بنده خدا اضاف کنی در سال چقدر واست اب میخوره؟(یکی از تمرینات کتاب قمی البته واقعا من اصلا دانشجو نیستم همیجوری کتاب رو گرفتم دارم میخونم)

خوب حالا من ۲ تا کد واسه این برنامه نوشتم که هر دو مشکلاتی دارن هر دو رو قرار میدم راهنمایی کنید تو رو خدا

کد اول

#include<iostream.h>
#include<conio.h>
int main()
{
int x;
cout<<"please enter you'r number here"<<endl;
cout<<"you'r number=";
cin>>x;
cout<<"increase for a month"<<x*0.27<<endl;
cout<<"increase for a year"<<x*3.24<<endl;
getch();
return 0;}

این کد درسته ولی وقتی که به x اعداد کوچک بدیم به عبارتی اگه به ایکس بزرگ ( همونی که لازممونه۷۵۰۰۰۰) بدیم برای افزایش در سال عددی مثل 250e+34 تحویل میده

کد دوم:


#include<iostream.h>
#include<conio.h>
int main()
{
int x;
float y=x*3.24;
cout<<"please enter you'r number here"<<endl;
cout<<"you'r number=";
cin>>x;
cout<<"increase for a month"<<x*0.27<<endl;
cout<<"increase for a year"<<y<<endl;
getch();
return 0;}

اشکال این کد اینه که به جای y که فکر کنم من واسش تعریف کردم که x*3.24 رو نشون بده همش فقط عدد ۳.۲۴ رو نشون میده چرا ایجوریه؟کسی میتونه کمکم کنه؟

_hamid
سه شنبه 12 مهر 1390, 07:13 صبح
برای مشکل اولت باید از دستکاری در جریان استفاده کنی
http://www.cplusplus.com/reference/iostream/manipulators/fixed/
و دومی هم ترتیبت فکر کنم مشکل داره! هرچند که من دقیقا نفهمیدم چیکار می خوای بکنی!
مثلا تو اینجوری باید بکنی:
int x;
float y;
cin >> x;
y = x*3.24;
cout << x*0.27;
cout << y;

amir_80
سه شنبه 12 مهر 1390, 07:38 صبح
این دستکاری در جریانی که گفتی یعنی چی؟بابا من همش ۱ هفتس برنامه نویسی رو شروع کردم

بابا همش اینه که من به برنامه بگم که ۱ عدد رو از ورودی میگیره بار اول در خروجی در عدد ۰.۲۷ ضرب کنه و بار دوم اون عددی که در خروجی اول به دست اومده رو در ۱۲ ضرب کنه(یا بع عبارتی 0.27*12*x که اینم برابر میشه با ۳.۲۴*x)

حالا این بزنامه ی اولی که من نوشتم در مورد x های کوچیک مثلا ۲ یا ۴ و ... جواب میده ولی وقتی یه عدد گنده مثل ۷۵۰۰۰۰ رو بهش میدم دری وری نشونم میده)تو ادرست رفتم چیزی نفهمیدم حقیقتش میشه خودت لطف کنی بگی؟

این از این

در مورد دومی هم که نمیدونستم ترتیب نوشتن ها اثر داره میرم یه امتخان میکنم حبر میدم

_hamid
سه شنبه 12 مهر 1390, 08:29 صبح
کار زیاد سختی نیست. فقط تو باید اینکار بکنی:
۱.خط قبل از #include اینو اضافه کنی.
#include <iomanip.h>
بعد وقتی می خوای عددت به صورت ریاضیات نشون داده نشه: fixed رو قبلش اضافه می کنی. مثلا این:
cout << fixed << x*3.24;