Çözüldü C'de alınan hatanın sebebi nedir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Mertcanuzlu

Decapat
Katılım
20 Ekim 2021
Mesajlar
3
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
C programını yeni ögreniyorum hata alıyorum ve çözümünü bulamadım. Yardımcı olur musunuz?

#İnclude <stdio.h>
#İnclude <stdlib.h>
#İnclude <locale.h>

İnt main()
{
Setlocale(lc_all, "turkish");
selam();
projkonusu();
guvenlik();
dogYilioku();
karehesapla();
Return 0;
}

Void selam ()
{
Printf("selamun Aleyküm\n");
Printf("mertcan Üzlü\n");
Printf("ögr No:210721035\n");
Printf("Kırıkkale meslek yüksek Okulu\n");
Printf("elektronik haberleşme bölümü uzaktan Ögretim\n");
Printf("C programlama Dersi\n");

}

Void projkonusu()
{
Printf("C de fonksiyonlarla Çalýþma\n");
}
Void guvenlik()
{
While(1)
{
İnt a=rand();
Printf("%d sayısının 2 fazlasını giriniz?",a);
İnt b;
Scanf("%d",&b);
İf(a==(b-2))
{
Printf("teyid başarıl... Devam ediniz.\n");
Break;
}
Else.
{
Printf("\ainsan olduğunuzu kanıtlamalısınız:\)\n");

}
}

}

Void dogYilioku()
{
İnt dogyili, yas;
A1: Printf("dogum yılınızı giriniz:");
Scanf("%d",& dogyili);
Yas =2021-dogyili;
İf(dogyili<1920||dogyili>2020)
{
uyariSesi();
Printf("emin misiniz tekrar deneyin,\n ");
Goto a1;
}Else if (dogyili>2010)
{
Printf("yaşınız tutmuyor, biraz daha bekle\n");
}
Printf("%d yaşındasın, bereketli Ömürler\n\n",yas);
For(int i = 0; i<yas; i++)
{
Printf("%d kere MAŞAALLAH\n",i+1);
}
}

Void karehesapla();
{
Long int sayi;
Printf("karesini hesaplayacağım sayıyı giriniz:");
Scanf("%d",&sayi);
İnt karesi = karefcn(sayi);
Printf("girilen sayının karesi: %d", karesi);
}
İnt karefcn(int sayi)
{
İnt sonuc = sayi*sayi;
Return sonuc;
}

Void uyariSesi()
{
Printf("\a");
}
Void karehesaplamada hata alıyorum süslü parantezde.
 
Son düzenleyen: Moderatör:
Çözüm
Çok teşekür ederim sorunum çözüldü.
Türkçe karakteri algılatmak için
setlocale(LC_ALL, "Turkish");
#include <locale.h>
Bu kodları girdigimde semboller gösteriyor.
Ya fonksiyonları main'nin üstünde tanımlamalısın ya da fonksiyon prototipini main üstünde tanımlamalısın.

main'in altında tanımlanan fonksiyonlar main tarafında okunamaz.


Bahsettiğim durum bazı derleyiciler tarafından es geçilebiliyormuş o yüzden sorun bu kısımdan değil.

Long tipindeki bir sayıyı %d yerine %ld şekilde almayı dene. Ayrıca long tipindeki bir değişkenin karesini almak için kullandığın fonksiyon int tipinde parametre aldığı için long olmasının bir önemi kalmıyor. Ya tamamen int'e çevir ya da tamamını long yap. Yarısı long yarısı int olunca hiç bir mantığı kalmıyor.
 
Son düzenleme:
[CODE title="cevap"]
int karefcn(int sayi)
{
int sonuc = sayi*sayi;
return sonuc;
}
void karehesapla()
{
int sayi;
printf("karesini hesaplayacağım sayıyı giriniz:");
scanf("%d",&sayi);
int karesi = karefcn(sayi);
printf("girilen sayının karesi: %d", karesi);
}

int main()
{
karehesapla();
return 0;
}
[/CODE]
Kod paylaşırken bu şekilde paylaşırsanız yazım bozulmaz.
Satır satır okuma yapıyor fonksiyon sıralamasını buna göre yapınız.
 
Çok teşekür ederim sorunum çözüldü.
Türkçe karakteri algılatmak için
setlocale(LC_ALL, "Turkish");
#include <locale.h>
Bu kodları girdigimde semboller gösteriyor.
 

Dosya Ekleri

  • jk.PNG
    jk.PNG
    33,2 KB · Görüntüleme: 37
Son düzenleyen: Moderatör:
Çözüm

Geri
Yukarı