C Programlama-Nerde Hata Yapıyorum ?
-
dikdörtgenin ve dairenin alanlarını sıfır veriyo bi yeri yanlış yazdım ama göremiyorum amk
#include <stdio.h>
int squareArea(int edge);
int rectangleArea(int height, int width);
double circleArea(int radius);
int main (void)
{
int number;
printf("1-) Please press <1> to calculate the area of square\n");
printf("2-) Please press <2> to calculate the area of rectangle\n");
printf("3-) Please press <3> to calculate the area of circle\n");
scanf("%d",&number);
if (number==1)
{
int edge,result;
printf("Please enter a edge of square:");
scanf("%d",&edge);
squareArea(edge);
result=squareArea(edge);
printf("Area of square is:%d\n",result);
}
if(number==2)
{
int height,width,result;
printf("Please enter a height of rectangle\n");
scanf("%d",&height);
printf("Please enter a width of rectangle\n");
scanf("%d",&width);
rectangleArea(height,width);
printf("Area of rectangle is:%d\n",result);
}
if(number==3)
{
double radius,result;
printf("Please enter a radius of circle\n");
scanf("%lf",&radius);
circleArea(radius);
printf("Area of circle is:%lf\n",result);
}
return 0;
}
int squareArea(int edge)
{
int result;
result=edge*edge;
return result;
}
int rectangleArea(int height, int width)
{
int result;
result=width*height;
return result;
}
double circleArea(int radius)
{
double result;
double pi=3.14;
result=pi*radius;
return result;
}
-
hacı fonksiyonu çağırmışsın ama fonksiyon sadece değer döndürüyo,sen o değeri kod blogu içindeki resulta aktarmamışsın, o yüzden öyle oluyo sanırım
if(number==2)
{
int height,width,result; //değişkenleri tanımla
printf("Please enter a height of rectangle\n");
scanf("%d",&height); //okut
printf("Please enter a width of rectangle\n");
scanf("%d",&width); //okut
rectangleArea(height,width); //işlemi yapıyor ama sadece fonksiyondaki result değerini döndürüyor sen bunu result=rectangleArea(height,width); şeklinde yapmalısın.
printf("Area of rectangle is:%d\n",result);
}
-
wasd bunu yazdı:
-----------------------------hacı fonksiyonu çağırmışsın ama fonksiyon sadece değer döndürüyo,sen o değeri kod blogu içindeki resulta aktarmamışsın, o yüzden öyle oluyo sanırım
-----------------------------yok hocam ya aktardım,karenin alanında sorun yok diğerlerinde var,dersten kaldıgımda varmış bi keramet daha bundaki hatayı göremiyorum çıldırcam valla
bi 2 dk bakıver sana zahmet hocam be
-
if(number==2)
{
int height,width,result;
printf("Please enter a height of rectangle\n");
scanf("%d",&height);
printf("Please enter a width of rectangle\n");
scanf("%d",&width);
rectangleArea(height,width);
printf("Area of rectangle is:%d\n",result);
}
int rectangleArea(int height, int width)
{
int result;
result=width*height;
return result;
}
neden 0 basıyor buraası çözemedim,yanlış yazdım bi yeri ama
-
hahha tamam hocam doğru söylüyosun teşekkürler kod parçasını yazınca gördüm :D
-
kolay gelsin :)
-
rectangleArea(height,width);
printf("Area of rectangle is:%d\n",result);
-------------------------------------------------
Burda metodu çağırmışsın ama geri döndürdüğü değeri kullanmamışsın.
Böyle denersen çalışır gibi:
printf("Area of rectangle is:%d\n", rectangleArea(height,width));
Edit:
Ben yazana kadar dünya değişmiş.