PDA

View Full Version : مشکل در برنامه عدد زوج و مرکب



fabienmartin
جمعه 12 فروردین 1390, 11:37 صبح
با سلام. من مشکل دارم با این برنامه( البته برنامه ساده است ولی من اولین بار که برنامه مینویسم ) این برنامه عددی از ورودی میگیرد اگر عدد زوج بود جذر و اگر فرد بود مکعب آن را چاپ کند؟ قسمت مکعب در ست کار میکند ولی در قسمت زوج در خروجی برنامه جذر عدد را میگیرد و همراه آن مکعب برابر 59 را هم چاپ میکند من نمیدانم باید چیکار کنم؟؟؟؟


#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<math.h>
main()
{
int x,mokab;
float jazr;
cout<<"x:";
cin>>x;
if(x%2==0){
jazr= sqrt (x);
cout<<"Jazr="<<jazr;
}
else mokab= (x*x*x);
cout<<"Mokab="<<mokab;

getch();
return 0;
}

mohammadian7
جمعه 12 فروردین 1390, 14:23 عصر
سلام
قسمت else را درون {} قرار بده.

fabienmartin
جمعه 12 فروردین 1390, 14:56 عصر
سلام
قسمت else را درون {} قرار بده.
با تشکر از پاسختون ولی من هر کجا {} قسمت else میگذارم جواب نمیده؟؟؟

voiceoffox
شنبه 13 فروردین 1390, 00:57 صبح
سلام دوست عزیز .

من کار خاصی نکردم .... اما کدتون رو تغییر دادم و کد رو به روش خودم نوشتم و الان برنامه درست کار می کنه : :متفکر:


#include<conio.h>
#include<iostream.h>
#include<math.h>
main()
{
int x=0;
cout<<"Insert x : ";
cin>>x;
if(x%2==0)
cout<<"Jazr = "<<sqrt(x);
else
cout<<"Mokaab = "<<pow(x,3);
getch();
}


تغییرات این کد :
1. دستور
#include<stdio.h> حذف شده . دلیل : از این کتابخانه در هیچ کجا استفاده نشده است .

2. متغیرهای mokab و jazr حذف شده ان . دلیل : به جای تعریف کردن متغیر های اضامه ، میشه با استفاده از دستور Cout حاصل یک عبارت رو به خروجی برد .

3. عبارت
pow(x,3) جایگزین عبارت
(x*x*x) شده . دلیل : عبارت
pow(x,3) که در کتابخانه math.h هس کار توان رسانی رو انجام میده و نیازخاصی به استفاده از عبارت اول نیس .

بله ... خلاصه من نفهمیدم اشکال کد شما دقیقا چیه ولی وختی یکم تغییرش دادم درس شد .... البته شاید این راهش نباشه که آدم صورت مساله رو تغییر بده ولی خوبب ............. :قهقهه:

خدافظ و موفق باشید !