//Araba depo alınan yol hesaplama programı// #include<stdio.h> #include<locale.h> int main(void) { setlocale(LC_ALL,"Turkish"); unsigned int a; int km , litre; int toplamlitre , toplamkm; float depo_ortalaması; float genelortalama;
a=0; toplamlitre=0; toplamkm=0;
printf("%s","Litre ve km giriniz(sonlandrmak için -1):"); scanf("%d%d", &litre, &km);
while(litre & km != -1) { depo_ortalaması=(float) litre/km; printf("Bu depo için %d\n",depoortalaması);
toplamlitre+=litre; toplamkm+=km;
++litre & km;
printf("Lütfen litre ve km(sonlandırmak için -1)"); scanf("%d%d", &litre ,&km); } if( litre & km !=0 ) { genelortalama=(float)toplamlitre/toplamkm; printf("Genel ortalama %.2f\n",genelortalama); } else { puts("Hiçbir bilgi girmediniz"); }
} hocam sızın yorumu gormeden once soyle bırsey yaptım ama gene olmadı float ıle tanımladıgım depoportalama ve dıgerını kabul etmıyor anlamadım
while(litre & km != -1) { depo_ortalaması=(float) litre/km; printf("Bu depo için %d",depoortalaması);
Derleyicinin verdiği hataları anlamaya çalışırsan görebilirsin aslında.
Bu arada iki integer üzerinde bölme işlemi yapıp, sonucu float değişkenine atmanın bir manası yok. Integer bölmenin sonucu her zaman integerdır. 7/3 = 2 verir mesela. Eğer ondalık bir sayı versin istiyorsan değişkenlerin ikisini de float olarak cast etmen gerekiyor.
int a=7, b=3; float c = (float)a / (float)b
< Bu mesaj bu kişi tarafından değiştirildi gdb -- 21 Ekim 2017; 22:20:51 >
anladım tesekkurler hocam ama sanırım bu konu bende tam oturmadı anladım zannedıyorum ama gerı donup tekrar okusam degısen bırsey olmıcak sanırım anlamıyorum neden hata yapıyorum derleyıcının hatalarını anlıyorum ama mantık hatası ıse eger suan daha yenı oldugum ıcın bu ıste onuda anlayamıyorum cok fazla altarnetif olusturamıyorum kafamda sanırım cok zekı degılım :))
Zekayla pek alakası yok. İşin sırrı pratik :) Hiçbir zaman okuyup anladığını sandığın şeyi tam olarak pratiğe dökemezsin. Önce iyice bir uğraşıp, hatalar yapıp tecrübe edinmek gerekiyor. Bu her zaman her konuda böyle.
#include<locale.h>
int main(void)
{
setlocale(LC_ALL,"Turkish");
unsigned int counter;
unsigned int toplamlitre;
unsigned int toplamkm;
float km;
float litre;
float genelortalama;
float depo;
counter=0;
toplamlitre=0;
toplamkm=0;
printf("Lütfen litrenizi giriniz (-1 yazın):");
scanf("%.f",&litre);
printf("Lütfen km giriniz:");
scanf("%.f",&km);
while( counter != -1 )
{
toplamlitre += litre;
toplamkm += km;
depo = litre/km;
printf("Bu depo için Lt/km:%.f\n",depo);
++counter;
printf("Lütfen litre giriniz ve km giriniz (bitirmek isiyorsanız -1):");
scanf("%.f%.f",&litre,&km);
}
genelortalama=toplamlitre/toplamkm;
printf("Genel ortalama:%.f",genelortalama);
}
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.