PDA

View Full Version : سوال: راهنمایی راجع به تقسیم



admiral-s
شنبه 12 فروردین 1391, 21:41 عصر
سلام.
یه برنامه نوشتم که 2تا عدد میگیره و 4عمل اصلی رو انجام میده . ولی تقسیمش درست کار نمیکنه . مثلا 3 تقسیم بر 2 رو میده 1 . 4 تقسیم بر 3 رو میده 1 . چیکارش کنم ؟

ممنون.



#include<conio.h>
#include<stdio.h>
void main()
{
int x,y,m,n;
long int z;
float p;
printf("\n enter x and y : ");
scanf("%d%d",&x,&y);
m=x+y;
n=x-y;
z=x*y;
p=x/y;
printf("\n\tx+y=%d",m);
printf("\n\tx-y=%d",n);
printf("\n\tx*y=%ld",z);
printf("\n\tx/y=%f",p);
getch();

}

rezaricky
شنبه 12 فروردین 1391, 21:52 عصر
متغیر های x, y رو از نوع float تعریف کن

admiral-s
شنبه 12 فروردین 1391, 22:06 عصر
اینکارو کردم . نشد . error میده

vistacali
شنبه 12 فروردین 1391, 22:27 عصر
در تقسیم عدد صحیح بر عدد صحیح باید از Type Casting استفاده کنید .
اگر اشتباه نکنم دلیل هم که درست جواب نمیده به دلیل خطای سرریز رجستری هست

کد رو به صورت زیر برات تغییر دادم درست عمل میکنه حالا


#include<conio.h>
#include<stdio.h>
void main()
{
int x,y,m,n;
long int z;
double p =0;
printf("\n enter x and y : ");
scanf("%d%d",&x,&y);
m=x+y;
n=x-y;
z=x*y;
p=(double)x/y;
printf("\n\tx+y=%d",m);
printf("\n\tx-y=%d",n);
printf("\n\tx*y=%ld",z);
printf("\n\tx/y=%f",p);

getch();
}

rezaricky
شنبه 12 فروردین 1391, 22:29 عصر
ببخش
m , n روهم باید از نوع float تعریف کنی

scofield007
شنبه 12 فروردین 1391, 22:30 عصر
شما x & y رو باید بصورت اعشاری وارد کنین مثلا برای تقسیم 4 بر 3 انطوری باید وارد کنین4.0&3.0

vistacali
شنبه 12 فروردین 1391, 22:36 عصر
شما x & y رو باید بصورت اعشاری وارد کنین مثلا برای تقسیم 4 بر 3 انطوری باید وارد کنین4.0&3.0

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

admiral-s
شنبه 12 فروردین 1391, 22:50 عصر
درسته . type casting خیلی بهتره