Bu kodların neresinde hata var_?

bug

Asistan
Katılım
15 Mayıs 2009
Mesajlar
472
Reaksiyon puanı
7
Puanları
0
Herkese iyi çalışmalar arkadaşlar.
C ve C++ öğrenmeye başladım . Bir kitap aldım. Kitapdaki kodları C derleyicisinde çalıştırmak istediğim zaman hata alıyorum. Kodlardamı hata var yoksa derleyici mi saçmalıyor bilmiyorum. Rica etsem şu kodlara bir göz atar mısınız?
Bu arada kullandığım derleyici TurboC diye bir derleyici. Derleyici önerilerinizide alabilir miyim_?

Kod:
#include<stdio.h>
double Alan(double r );
main()
{
double alan,yaricap;
printf("Yarıçapı giriniz:");
scanf("%f, &yaricap");
[B]alan=Alan(yaricap);  -------------------> Bu satırda hata var diyor !!!!!!!!!!![/B]
printf("Alan = %f, alan")
}
double Alan(double r)
{
return 3.14*r*2;
}
 

YoungClever

Profesör
Katılım
7 Aralık 2006
Mesajlar
1,424
Reaksiyon puanı
2
Puanları
0
Çok derinlemesine bilgim yok .. ancak hata veren satırda parantez içinde tek değil 2 değişken olması gerektiğinden dolayı olabilir.. forumdaki cgrszone nickli arkadaş bu işlerden anlar bir de ona danış istersen..
 

bug

Asistan
Katılım
15 Mayıs 2009
Mesajlar
472
Reaksiyon puanı
7
Puanları
0
cgrszone şu an forumda olsa bakabilir. Adam yazılım müh. Gerçekten gelse ve konuyu görse çok işime yarayacak ama beklemekten başka yapabilecek birşey yok.
 

annttiigs

Profesör
Katılım
7 Şubat 2007
Mesajlar
2,589
Reaksiyon puanı
24
Puanları
38
compile sırasinda mi bir hata olusuyor yoksa calisma esnasinda mi ?+

hatayi da yazarmisin ? derleyici olarak devc++ dene, hem free hem de oldukça başarıldır.
 

YoungClever

Profesör
Katılım
7 Aralık 2006
Mesajlar
1,424
Reaksiyon puanı
2
Puanları
0
özel mesaj atarsan daha iyi olur.. konuyu görmesi zor olabilir..
 

Lost in Codes

Öğrenci
Katılım
17 Ekim 2006
Mesajlar
62
Reaksiyon puanı
0
Puanları
0
Kod:
#include<stdio.h>
double Alan(double r );
main()
{
double alan,yaricap;
printf("Yarıçapı giriniz:");
[B]scanf("%f", &yaricap);[/B]
alan=Alan(yaricap);  -------------------> Bu satırda hata var diyor !!!!!!!!!!!
[B]printf("Alan = %f", alan);[/B]
}
double Alan(double r)
{
return 3.14*r*2;
}

Koyu olan satırlarda tırnakları yanlış yerde kullanmışsın. Geliştirme ortamı olarak da Visual C++ 6.0'i kullanabilirsin.
 

annttiigs

Profesör
Katılım
7 Şubat 2007
Mesajlar
2,589
Reaksiyon puanı
24
Puanları
38
Kod:
#include<stdio.h>
double Alan(double r );
main()
{
double alan,yaricap;
printf("Yarıçapı giriniz:");
[B]scanf("%f", &yaricap);[/B]
alan=Alan(yaricap);  -------------------> Bu satırda hata var diyor !!!!!!!!!!!
[B]printf("Alan = %f", alan);[/B]
}
double Alan(double r)
{
return 3.14*r*2;
}
Koyu olan satırlarda tırnakları yanlış yerde kullanmışsın. Geliştirme ortamı olarak da Visual C++ 6.0'i kullanabilirsin.

hatirladigim kadari ile tirnaklar doğru.

http://www.cplusplus.com/reference/clibrary/cstdio/scanf/
 

Lost in Codes

Öğrenci
Katılım
17 Ekim 2006
Mesajlar
62
Reaksiyon puanı
0
Puanları
0
Herkese iyi çalışmalar arkadaşlar.
C ve C++ öğrenmeye başladım . Bir kitap aldım. Kitapdaki kodları C derleyicisinde çalıştırmak istediğim zaman hata alıyorum. Kodlardamı hata var yoksa derleyici mi saçmalıyor bilmiyorum. Rica etsem şu kodlara bir göz atar mısınız?
Bu arada kullandığım derleyici TurboC diye bir derleyici. Derleyici önerilerinizide alabilir miyim_?

Kod:
#include<stdio.h>
double Alan(double r );
main()
{
double alan,yaricap;
printf("Yarıçapı giriniz:");
scanf("%f, &yaricap");
[B]alan=Alan(yaricap);  -------------------> Bu satırda hata var diyor !!!!!!!!!!![/B]
printf("Alan = %f, alan")
}
double Alan(double r)
{
return 3.14*r*2;
}

Kod:
#include<stdio.h>
double Alan(double r );
main()
{
double alan,yaricap;
printf("Yarıçapı giriniz:");
[B]scanf("%f", &yaricap);[/B]
alan=Alan(yaricap);  -------------------> Bu satırda hata var diyor !!!!!!!!!!!
[B]printf("Alan = %f", alan);[/B]
}
double Alan(double r)
{
return 3.14*r*2;
}

Koyu olan satırlarda tırnakları yanlış yerde kullanmışsın. Geliştirme ortamı olarak da Visual C++ 6.0'i kullanabilirsin.

Benim yazdığım düzeltilmiş hali ;)
 

bug

Asistan
Katılım
15 Mayıs 2009
Mesajlar
472
Reaksiyon puanı
7
Puanları
0
possible use of yaricap before defination in function şeklinde bir hata veriyor. Compile sırasında alıyorum bu hatayı.

Lost in Code senin verdiğin kodları derledim sonuç :
adszwrx.jpg


derleme yapmıyor :S kıafayı yiyicem ne oldu şimdi ya
 

Lost in Codes

Öğrenci
Katılım
17 Ekim 2006
Mesajlar
62
Reaksiyon puanı
0
Puanları
0
Kod:
#include<stdio.h>
double Alan(double r );
main()
{
double yaricap, alan;
printf("Yarıçapı giriniz:");
[B]scanf("%lf", &yaricap);[/B]
alan=Alan(yaricap);
printf("Alan = %f", alan);
}
double Alan(double r)
{
return 3.14*r*2;
}

Koyu olarak yazdığım kısımda düzeltme var. %f float okumak için %lf double okumak için kullanılıyor. Benim derleyicimde %f yapınca hata çıkarmadan derliyordu; fakat çalışma sırasında değeri okumada sorun çıkıyordu. %lf yapınca hatasız çalıştı program.
 

bug

Asistan
Katılım
15 Mayıs 2009
Mesajlar
472
Reaksiyon puanı
7
Puanları
0
Verdiğin kod için sağol Lost İn Codes . Bulunduğum bilgisayarda bir sorun var sanırım. Başka bir bilgisayarda denedim kodlar çalıştı. evet %f olunca sorun oluşuyor. başka bir bilgisayarda dev c++ ile denedim çalıştı. Tüm ilgilenen arkadaşlara teşekkürü borç bilirim.
 

mckenzie

Asistan
Katılım
5 Ağustos 2009
Mesajlar
329
Reaksiyon puanı
4
Puanları
0
Bende Tam Senin Pc de Var Sorun Diyecektim Kendi PC'imde Denedim Çalışıyor.
 

yusher

Profesör
Katılım
30 Haziran 2008
Mesajlar
1,146
Reaksiyon puanı
12
Puanları
38
c çok geniş bir dil olduğu için her derleyici hataları yakalamaz.
c çalışacaksan linux kurmanı tavsiye ederim.
 

yavuz_4106

Dekan
Katılım
17 Aralık 2008
Mesajlar
6,118
Reaksiyon puanı
51
Puanları
48
c++ kodlarıda vısual gibı 1 harfte hata verıyor mu?
 

mckenzie

Asistan
Katılım
5 Ağustos 2009
Mesajlar
329
Reaksiyon puanı
4
Puanları
0
bunun 1 harfi 2 harfi yok kodları yanlış yazarsan döngüleri bilmezsen yanlış yerde kullanırsan her yerde hata alırsın..
 

yavuz_4106

Dekan
Katılım
17 Aralık 2008
Mesajlar
6,118
Reaksiyon puanı
51
Puanları
48
Haklısın.. benım basıma gelmedı arkadaslar dıyodu else kodundan 10 puan gitti diye:D
 
Üst