• 29-03-2014, 18:29:12
    #1
    Arkadaşlar tekrar amaçlı eski konulara bakayım dedim de şu kodu çalıştırmıyor bilgisayar.

    #include <stdio.h>
    
    int main()
    {
    	int i, ogrencisayisi, toplam, ortalama, ogrencinotu;
    	
    	toplam = 0;
    
    	printf("Ogrenci sayisini giriniz:");
    	scanf("%d", ogrencisayisi);
    
    
    	for(i=0; i<ogrencisayisi; i++)
    	{
    		printf("Ogrenci notunu giriniz:");
    		scanf("%d",&ogrencinotu);
    		toplam += ogrencinotu;
    	}
    	
    	printf("Toplam puan : %d", toplam);
    	printf("Toplam ogrenci sayisi : %d", ogrencisayisi);
    	printf("Not ortalamasi: %f", (double)toplam/ogrencisayisi);
    }




    Kodun amacı şu: 15 tane öğrenci var diyince, 15 tane not istiyip, toplam notu, ortalamayı ve öğrenci sayısını yazıcak en son.

    Öğrenci sayısını ben assign edince sorun yok, ama kullanıcıdan alınca program yanıt vermeyip garbage bir değer return edip duruyor. Sorun ne programdaki çözemedim.

    Şimdiden teşekkürler.
  • 29-03-2014, 19:22:52
    #2
    Sadece fikir yürüyütorum, deneme şansım yok şuan. Belki en sondaki işlemin başında yazan double ikisinede ekti etmiyordur , bundan dolayı saçmalıyordur. İşlemi (double)(toplam/ogrencisayisi) şeklinde veya aşağıdaki şekilde yeni değişkene atayarak dener misin bi bakalım.

    double sontoplam;
    printf("Toplam puan : %d", toplam);
    printf("Toplam ogrenci sayisi : %d", ogrencisayisi);
    sontoplam=toplam/ogrencisayisi;
    printf("Not ortalamasi: %f", (double)sontoplam);
  • 29-03-2014, 20:19:59
    #3
    duskorc adlı üyeden alıntı: mesajı görüntüle
    Sadece fikir yürüyütorum, deneme şansım yok şuan. Belki en sondaki işlemin başında yazan double ikisinede ekti etmiyordur , bundan dolayı saçmalıyordur. İşlemi (double)(toplam/ogrencisayisi) şeklinde veya aşağıdaki şekilde yeni değişkene atayarak dener misin bi bakalım.

    double sontoplam;
    printf("Toplam puan : %d", toplam);
    printf("Toplam ogrenci sayisi : %d", ogrencisayisi);
    sontoplam=toplam/ogrencisayisi;
    printf("Not ortalamasi: %f", (double)sontoplam);
    Sağolun hocam, deniyip sonucu buraya yazarım. Şuan Java'ya daldım.
    C'yi de sırf sınav var diye çalışıyorum, yoksa hiç cezbetmiyor beni.
    Java'yı okulda göstermemelerine rağmen kendim öğrenmeye çabalıyorum.
  • 29-03-2014, 20:23:16
    #4
    Nicky adlı üyeden alıntı: mesajı görüntüle
    Sağolun hocam, deniyip sonucu buraya yazarım. Şuan Java'ya daldım.
    C'yi de sırf sınav var diye çalışıyorum, yoksa hiç cezbetmiyor beni.
    Java'yı okulda göstermemelerine rağmen kendim öğrenmeye çabalıyorum.
    Aynen C ye nazaran Java daha avantajlı. Arduino da kullanılması çok işime gelmişti mesela Eğer olmazsa o sonradan yazdığım değişkeni en başta tanımla ve 0 a eşitle birde öyle dene. Belki problem çok alakasız bir yerde, şuan gözden kaçıyor ama ilk baktığımda o nedense bana ters geldi
  • 29-03-2014, 20:35:19
    #5
    duskorc adlı üyeden alıntı: mesajı görüntüle
    Aynen C ye nazaran Java daha avantajlı. Arduino da kullanılması çok işime gelmişti mesela Eğer olmazsa o sonradan yazdığım değişkeni en başta tanımla ve 0 a eşitle birde öyle dene. Belki problem çok alakasız bir yerde, şuan gözden kaçıyor ama ilk baktığımda o nedense bana ters geldi
    Son tarafta önce sontoplam = toplam/ogrencisayisi yazarak denedim, yine aynı şekilde hata verdi.
    sontoplam'a önce sıfır değerini atadım. Yine aynı hatayı verdi.
  • 29-03-2014, 20:48:53
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    printf("Ogrenci sayisini giriniz:");
    scanf("%d", &ogrencisayisi);
  • 29-03-2014, 20:58:47
    #7
    SLiM_BoY adlı üyeden alıntı: mesajı görüntüle
    printf("Ogrenci sayisini giriniz:");
    scanf("%d", &ogrencisayisi);
    Sağolun hocam. Gülsem mi ağlasam mı bilemedim.