Larva Mesaj tarihi: Aralık 3, 2009 Paylaş Mesaj tarihi: Aralık 3, 2009 Önceki fonksiyon tanımın return hariç doğru. O kısmı return avg; yap bence şimdilik hata yaptığın yeri main de main int main(void) { int num1,num2,num3,num4,disp; printf("Enter the numbers: "; scanf("%d %d %d %d",&num1,&num2,&num3,&num4); **** disp=topla(num1,num2,num3,num4); ***** printf("The numbers are %d %d %d %d || average is %d %f",num1,num2,num3,num4,disp); return 0; } Şuna baktıktan sonra önceki msg da yazdığımı oku anlıcaksın Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Chewy Mesaj tarihi: Aralık 3, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 3, 2009 Ayrı ayrı yaptım şöle mesela çıkan sonuc saçma :S #include<stdio.h> int topla(int sum) { int num1,num2,num3,num4; sum=num1+num2+num3+num4; } int ortalama(int avg) { int num1,num2,num3,num4; avg=(num1+num2+num3+num4)/4; } int main(void) { int num1,num2,num3,num4,sum=0,avg=0; printf("Enter the numbers:"); scanf("%d %d %d %d",&num1,&num2,&num3,&num4); sum=topla(sum); avg=ortalama(avg); printf("Sum and avg are %d %d",sum,avg); return 0; } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Gladmir Mesaj tarihi: Aralık 3, 2009 Paylaş Mesaj tarihi: Aralık 3, 2009 Tanımladığın herhangi bir değişikenin, tanımlanma yerine göre bir scope u mevcut. Senin tanımladığın sum1,sum2,sum3,sum4 değişikenleri main metodunda tanımlı, diğer functionların o değişkenlerden haberi yok. Madem böyle yazıcaksın, bütün metod lar tarafından kullanılmasını istediğin değişkenleri global tanımla. Ayrıca logic yanlış code un da. #include<stdio.h> int topla(int sum) // bu metod aldıgı tek argumanı ne yapacak? { int num1,num2,num3,num4; sum=num1+num2+num3+num4; //nerde return? } int ortalama(int avg) // burdaki metoda neden avg yi geciyorsun? { int num1,num2,num3,num4; avg=(num1+num2+num3+num4)/4; // nerde return statement } int main(void) { int num1,num2,num3,num4,sum=0,avg=0; printf("Enter the numbers:"; scanf("%d %d %d %d",&num1,&num2,&num3,&num4); sum=topla(sum); avg=ortalama(avg); printf("Sum and avg are %d %d",sum,avg); return 0; } Global değişiken tanımla, metod ların void olsun ve metodlara herhangi bir arguman geçme, eğer ki istenilen spesifik bir ödev ise. Eğer ödev değilse hiç bir zaman böyle çalışma, zorunlu olmadıkça global değişken kullanma. Bazı şeyler oturmamış kafanda, function nedir nasıl çalışır,böyle böyle öğreneceksin, çalışmaya devam. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Chewy Mesaj tarihi: Aralık 3, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 3, 2009 harbi ya nerde return :) tşkler dostum saolasın. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
aquila Mesaj tarihi: Aralık 3, 2009 Paylaş Mesaj tarihi: Aralık 3, 2009 abi sen hala fonksiyona neyi nasil gondericegini kavrayamadin. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Chewy Mesaj tarihi: Aralık 3, 2009 Konuyu açan Paylaş Mesaj tarihi: Aralık 3, 2009 Gladmir said: Tanımladığın herhangi bir değişikenin, tanımlanma yerine göre bir scope u mevcut. Senin tanımladığın sum1,sum2,sum3,sum4 değişikenleri main metodunda tanımlı, diğer functionların o değişkenlerden haberi yok. Madem böyle yazıcaksın, bütün metod lar tarafından kullanılmasını istediğin değişkenleri global tanımla. Ayrıca logic yanlış code un da. #include<stdio.h> int topla(int sum) //burda ne almam gerekiyor? { int num1,num2,num3,num4; sum=num1+num2+num3+num4; //nerde return? } int ortalama(int avg) //burdada? { int num1,num2,num3,num4; avg=(num1+num2+num3+num4)/4; // nerde return statement } int main(void) { int num1,num2,num3,num4,sum=0,avg=0; printf("Enter the numbers:"; scanf("%d %d %d %d",&num1,&num2,&num3,&num4); sum=topla(sum); avg=ortalama(avg); printf("Sum and avg are %d %d",sum,avg); return 0; } Global değişiken tanımla, metod ların void olsun ve metodlara herhangi bir arguman geçme, eğer ki istenilen spesifik bir ödev ise. Eğer ödev değilse hiç bir zaman böyle çalışma, zorunlu olmadıkça global değişken kullanma. Bazı şeyler oturmamış kafanda, function nedir nasıl çalışır,böyle böyle öğreneceksin, çalışmaya devam. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
SpiderS_DangeR Mesaj tarihi: Aralık 3, 2009 Paylaş Mesaj tarihi: Aralık 3, 2009 int topla(int sum) //burda ne almam gerekiyor? abi sen burda parametler olarak num1,num2,num3,num4 almak gerekiyorki fonksiyonun mainden gönderilen değerlerin işlemini yapabilsin. yani int topla(int num1, int num2 int num3, int num4) yapman gerekiyor sonrada bu fonksiyonun içine sum = num1+num2+num3+num4 diyip en son return sum; diyerek toplamını return ettirmen gerekli. Fakat sum=topla(sum); (mainde ki) burası da yanlış, çünkü bu kodla senin fonksiyona gönderdiğin parametre sum parametresi ama senin num1,2,3,4 parametrelerini göndermen lazım, yani şöyle sum=topla(num1, num2, num3, num4) Bir de fonksiyonun içinde num1,2,3,4'ü tekrar tanımlamana gerek yok, onlar zaten parametre olarak mainden alınıyor. int ortalama(int avg) //burdada? burada da aynı şekilde int ortalama(int num1, int num2, int num3, int num4) yapıp avg = (num1+num2+num3+num4)/4; yapıp ardından da avg yi return ettirmen lazım. Ve mainde de yine aynı şekilde avg=ortalama(avg); yenine avg = ortalama(num1, num2, num3, num4) yapman gerekiyor. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar