• Forum vBulletin altyapısından Xenforo altyapısına geçirildi, bu sebeple eski şifreleriniz ile foruma giriş yapamayacaksınız, parolamı unuttum adımından mailiniz ile şifre sıfırlayarak giriş yapabilirsiniz.

    Üyeliklerinde geçerli bir mail adresi olmadığı için sıfırlama yapamayacak kullanıcılar forum kullanıcı adlarını ve yeni şifrelerini yazarak info@maxigame.org adresine şifre sıfırlamak istediklerine dair bir mail göndersinler şifrelerini sıfırlayıp mail adreslerini güncelleyeceğiz. Şifreniz sıfırlandıktan sonra foruma giriş yapıp tekrar istediğiniz gibi değiştirebilirsiniz.

C de Sorunum

  • Konuyu başlatan Konuyu başlatan bjlkl
  • Başlangıç tarihi Başlangıç tarihi

bjlkl

Aileden
Aktiflik
K.Tarihi
15 Ocak 2011
Mesajlar
215
Puanı
14
Konum
İstanbul
merhaba arkadaşlar, uzun bir aradan sonra tekrar foruma geri döndüm. vb.net in aksine artık c ve c++ ile ilgileniyorum.

dev c++ derleyicisini kullanıyorum.

c++ ta aşağıda yaptıklarımı sorunsuz yapabiliyorum ama c de sorun yaşıyorum.
c kodlarım bunlar:

[NOT][BILGI]
#include <stdio.h>


int main(void)
{

int a;
printf("Bir sayi giriniz: ");
scanf("%d",&a);

int b;
printf("Ucret giriniz: ");
scanf("%d",&b);

float y;
y = a/b;

printf("Bolum %f", &y);

getchar();
return 0 ;
}
[/BILGI][/NOT]

ilk olarak iki sayı girdisi alıyorum bunlar 10 ve 20 sayıları olsun diyelim ya da istereniz yerlerini değiştirerek girin. daha sonra bu ikis sayıyı bölüp float olan y değişkenine atadım. sonra çıktısını alıyorum. fakat her seferinde sonuç:0.0000 hangi sayıları girersem gireyim sonuç hep aynı ve üstelik getchar(); ile programın ayakta durması gerekirken hiç bir şey yapmasam dahi konsol 1 saniyede kendiliğinden kapanıyor. yardımlarınızı bekliyorum c de yeniyim :)
 
C# Versiyon: (Anladığım kadarı ile.)

string baslik = "DeaLyDeviL";
Console.Title = baslik;
Console.WriteLine("Maxigame - _DeaLyDeviL_");
while (true) {
int ilksayi = Console.ReadLine();
Console.WriteLine("İlk sayı: " + ilksayi);
int ikincisayi = Console.ReadLine();
Console.WriteLine("İkinci sayı: " + ikincisayi);
if (ilksayi >= ikincisayi) {
if (Console.Title == baslik) {
int sonuc = ilksayi / ikincisayi;
Console.WriteLine("Sonuç: " + sonuc);
} else {
Console.Title = baslik;
}
} else {
Console.WriteLine("İlksayı, ikinci sayıdan büyük olmalı.");
break;
}
}
 
onun gibi ben sadece sonucu float olarak tanımladım ama 0.00000 şeklinde sonuç veriyo hangi sayıları girersem gireyim sonuç 0.000
ayrıca getchar(); dediğim için konsolun kapanmaması lazım ama kapanıyor. bu iki soruna cevap lzm inş. forumda c bilen vardır :) bir de en kolay yerde takıldım o sinir ediyo :D
 
galiba c++ açmışsın, c de değişkenler hep fonksiyon başında belirtilmek zorunda


-


fakat her seferinde sonuç:0.0000 hangi sayıları girersem gireyim sonuç hep aynı
sonucun hep aynı olmasının sebebi y değişkeninin addressini yazmaya çalışmasıdır

üstelik getchar(); ile programın ayakta durması gerekirken hiç bir şey yapmasam dahi konsol 1 saniyede kendiliğinden kapanıyor.
getchar da beklememesinin sebebi getchar fonksiyonu buffer ın dolu olmasını bekler, üst satırda scanf yaptığın için buffer doluyor temizlemek için fflush(stdin)


ayrıca int değişkenini int değişkenine bölüp floata yazmaya çalışırsan virgülleri yazmaz


kodun düzeltilmiş hali
[BILGI]
#include <stdio.h>

int main(void)
{
float a;
printf("Bir sayi giriniz: ");
scanf("%d",&a);

float b;
printf("Ucret giriniz: ");
scanf("%d",&b);

float y;
y = a/b;

printf("Bolum %f", y);

fflush(stdin);
getchar();
return 0 ;
}
[/BILGI]

c hali
[BILGI]
#include <stdio.h>

main()
{
float x, y, z;

printf("Bir sayi giriniz: ");
scanf("%f",&x);

printf("Ucret giriniz: ");
scanf("%f",&y);

z = x / y;
printf("Bolum: %f\n",z);

fflush(stdin);
getchar();
};
[/BILGI]
 
Sync çok teşekkür ederim. c de çok yeniyim şu an. ve öğrendiğim sitedeki adamın yazdığı kodlarda hep bu sorun var. c++ için iyi bir site buldum fakat c dersi yoktu. bana c için bir site önerebilirseniz sevinirim.
 
teşekkürler ingizlicem pek iyi değil ama idare edicem
ztn büyük ihtimalle üniversitenin hazırlık sınıfı beni bekliyo :)
 
Geri
Üst