C"De Yardım Lazım Virgüllü Kısım Hakkında
-
arkadaşlar bi ödev olarak program yaptım 10 kişilik sınıfta not ortalaması falan die herşey tamam ama yazınca 10 not ortalamayı tam sayı gösterio nasıl virgüülü halinide gösteririz daha yeni başladım acemiyim daha :D
//Bir siniftaki 10 ogrencinin notlarinin ortalamsi.
#include<stdio.h>;
#include<conio.h>;
int topla(int a,int b,int c,int d,int e,int f,int t,int h,int j,int k);
float bol(int a,int b);
int main ()
{
int a,b,c,d,e,f,t,h,j,k,x;
float z;
printf("1.ogrencinin notunu giriniz:");
scanf("%d",&a);
printf("\n2.ogrencinin notunu giriniz:");
scanf("%d",&b);
printf("\n3.ogrencinin notunu giriniz:");
scanf("%d",&c);
printf("\n4.ogrencinin notunu giriniz:");
scanf("%d",&d);
printf("\n5.ogrencinin notunu giriniz:");
scanf("%d",&e);
printf("\n6.ogrencinin notunu giriniz:");
scanf("%d",&f);
printf("\n7.ogrencinin notunu giriniz:");
scanf("%d",&t);
printf("\n8.ogrencinin notunu giriniz:");
scanf("%d",&h);
printf("\n9.ogrencinin notunu giriniz:");
scanf("%d",&j);
printf("\n10.ogrencinin notunu giriniz:");
scanf("%d",&k);
x=a+b+c+d+e+f+t+h+j+k;
z=(float)x/10;
printf("10 ogrencinin not ortalamasi=%d",z);
getch();
return 0;
}
int topla(int a,int b,int c,int d,int e,int f,int t,int h,int j,int k)
{
int g;
g=a+b+c+d+e+f+t+h+j+k;
return g;
}
float bol(int a,int b)
{
float g;
g=(float)a/b;
return g;
} -
printf("10 ogrencinin not ortalamasi=%d",z); bu satırdaki %d yi %f yaparsan ondalıklı sekilde gosterir
-
%d-tam sayılar(int)
%f-ondalıklı sayılar(float)
bide for yada while komutunu biliyorsan notları teker teker alacğına o komutlarla al daha kısa olur...
-
eyw halloldu teşşekür ederim daha yeni başladık ya while falan daha görmedik :D görünce artık o şekilde aparız hoja böle istiyo:D
-
z=(float)x/10; satırına dikkat et...
"float = (float) / integer" FLOAT YAPMAZ! INTEGER YAPAR!
z=(float)x/10.0; yaparsan float = float / float olur...
Arkadaşların söyledikleride doğrudur lakin int sayılar -32000 ile 32000 arasındaki tam sayıları, float ise (+ -)10^8 kadar ondalıklı sayı yazabilir. Buda ramde ekstra yer demektir. İleride union ları göreceksin. Ramde yerden kazanmak istiyorsan neyi int neyi float olarak kullanacağını öğren derim... Ama bu anlattığımda, arkadaşların söylediğide doğrudur...
-
mescarine bunu yazdı:
-----------------------------z=(float)x/10; satırına dikkat et...
"float = (float) / integer" FLOAT YAPMAZ! INTEGER YAPAR!
z=(float)x/10.0; yaparsan float = float / float olur...
Arkadaşların söyledikleride doğrudur lakin int sayılar -32000 ile 32000 arasındaki tam sayıları, float ise (+ -)10^8 kadar ondalıklı sayı yazabilir. Buda ramde ekstra yer demektir. İleride union ları göreceksin. Ramde yerden kazanmak istiyorsan neyi int neyi float olarak kullanacağını öğren derim... Ama bu anlattığımda, arkadaşların söylediğide doğrudur...
-----------------------------
float = (float) / integer neden fload yapmasın ??
cevaplardada yazılmış zaten float değeri için %d kullanmış