Merhaba. Temel olarak bildiğim C'yi ilerletmek için uğraşayım dedim de :)
Dev C derleyicisini ilk kez kullanıyorum ancak bu derleyiciden .exe'yi nasıl elde ederim ? bunu merak ediyorum.
İlginiz için teşekkürler...
F9 a bas dosyayı açtığın yerde otomatik üretiyor
Başlangıçta olmamıştı :) meğer ben 1.ders.c diye kaydettiğim için muhtemelen şimdi oldu :)
Çokkkk teşekkürler :)))
Bi soru daha sorayım :)
.exe oluşturuyorum ama sayı istedi diyelim sayıyı giriyorum program kendiliğinden çalışıp kapanıyo...
Bekleme komutu hangisi acaba ? Ekranda dursun göstersin bana yani.
programını CMD içinde çalıştırsan sorun olmaz. önce CMD çalıştırıp DOS moduna git. orda derlediğin exe yi çalıştır.
Alıntı yapılan: yusufburak - 22 Mart 2013, 15:46:53
Bi soru daha sorayım :)
.exe oluşturuyorum ama sayı istedi diyelim sayıyı giriyorum program kendiliğinden çalışıp kapanıyo...
Bekleme komutu hangisi acaba ? Ekranda dursun göstersin bana yani.
Programın sonuna system("pause"); yaz
Alıntı yapılan: AsHeS35 - 22 Mart 2013, 16:19:52
Programın sonuna system("pause"); yaz
c++'ta görmüştüm de denememiiştim oldu teşekkürler :)
Alıntı yapılan: MC_Skywalker - 22 Mart 2013, 16:06:04
programını CMD içinde çalıştırsan sorun olmaz. önce CMD çalıştırıp DOS moduna git. orda derlediğin exe yi çalıştır.
Bu dediğiniz kitapta da anlatılıyordu ama bi türlü beceremedim bunu :S
Komut satırında .exe dosyasının bulunduğu adrese gidip orada .exe dosyasının adını yazmak gerekiyor. Yanlış hatırlamıyorsam .exe dosyasını siyah ekran üzerine sürükleyince bu iş kestirmeden halledilmiş oluyr ve geriye sadece enter'a basmak kalıyor.
Alıntı yapılan: Tagli - 22 Mart 2013, 18:29:17
Komut satırında .exe dosyasının bulunduğu adrese gidip orada .exe dosyasının adını yazmak gerekiyor. Yanlış hatırlamıyorsam .exe dosyasını siyah ekran üzerine sürükleyince bu iş kestirmeden halledilmiş oluyr ve geriye sadece enter'a basmak kalıyor.
doğru hatırlıyosunuz :)
Afedersiniz yeni konu açmamak için burdan sormak istedim... Bu kodda ortalamayı bi türlü bulamıyorum basit bi uygulama ama görmüyorum işte :S Sonucu - olarak veriyo ve baya büyük değerler veriyo :S
#include <stdio.h>
int main () {
int not,not1,not2,not3,not4,not5,not6,not7,not8,not9;
int toplam;
float ort;
printf("Lutfen notu giriniz:");
scanf("%f",¬);
toplam=not;
printf("Lutfen notu giriniz:");
scanf("%f",¬1);
toplam+=not1;
printf("Lutfen notu giriniz:");
scanf("%f",¬2);
toplam+=not2;
printf("Lutfen notu giriniz:");
scanf("%f",¬3);
toplam+=not3;
printf("Lutfen notu giriniz:");
scanf("%f",¬4);
toplam+=not4;
printf("Lutfen notu giriniz:");
scanf("%f",¬5);
toplam+=not5;
printf("Lutfen notu giriniz:");
scanf("%f",¬6);
toplam+=not6;
printf("Lutfen notu giriniz:");
scanf("%f",¬7);
toplam+=not7;
printf("Lutfen notu giriniz:");
scanf("%f",¬8);
toplam+=not8;
printf("Lutfen notu giriniz:");
scanf("%f",¬9);
toplam+=not9;
ort=toplam / 10;
printf("yazilinin ortalamasi %f\n",ort);
system("pause");
return 0;
}
Alıntı yapılan: yusufburak - 26 Mart 2013, 13:46:34
Afedersiniz yeni konu açmamak için burdan sormak istedim... Bu kodda ortalamayı bi türlü bulamıyorum basit bi uygulama ama görmüyorum işte :S Sonucu - olarak veriyo ve baya büyük değerler veriyo :S
#include <stdio.h>
int main () {
int not,not1,not2,not3,not4,not5,not6,not7,not8,not9;
int toplam;
float ort;
printf("Lutfen notu giriniz:");
scanf("%f",¬);
toplam=not;
printf("Lutfen notu giriniz:");
scanf("%f",¬1);
toplam+=not1;
printf("Lutfen notu giriniz:");
scanf("%f",¬2);
toplam+=not2;
printf("Lutfen notu giriniz:");
scanf("%f",¬3);
toplam+=not3;
printf("Lutfen notu giriniz:");
scanf("%f",¬4);
toplam+=not4;
printf("Lutfen notu giriniz:");
scanf("%f",¬5);
toplam+=not5;
printf("Lutfen notu giriniz:");
scanf("%f",¬6);
toplam+=not6;
printf("Lutfen notu giriniz:");
scanf("%f",¬7);
toplam+=not7;
printf("Lutfen notu giriniz:");
scanf("%f",¬8);
toplam+=not8;
printf("Lutfen notu giriniz:");
scanf("%f",¬9);
toplam+=not9;
ort=toplam / 10;
printf("yazilinin ortalamasi %f\n",ort);
system("pause");
return 0;
}
scanf içerisinde %d kullanın. not değişkenleri integer, ayrıca toplam değişkenini de float olarak tanımlayın. Bölümün sonucu kesirli olabilir.
mesaj birleştirme:: 26 Mart 2013, 14:06:58
Ve sadece "not" şeklinde bir değişken kullanmayın derim. Dil için özel bir anlam ifade edebilecek bir kelime.
toplam, ort değişkenlerine ilk değerini verin. Yani sıfır. Alakasız sonuçları çıkmasının nedeni bu değişkenin ilklendirilmemesi. Bu yüzden o anda bellekte bulunan rastgele bir değeri alıyor.
mesaj birleştirme:: 26 Mart 2013, 14:11:04
Tabi böyle bir uygulamayı, diziler kullanarak yaparsanız daha esnek ve performanslı olur. 100 tane değişken olsaydı ne olacaktı? :D :D
Kitap takip ediyorum :) Kitapta dediğiniz gibi döngü kullanmayın diyo yoksa gece uyumadan önce bunu düşünüyodum :D sıfırdan başladm da :S
Ve teşekkür ederim oldu :) takıldıkça burdan sormaya devam ederim...
Alıntı yapılan: yusufburak - 26 Mart 2013, 14:21:48
Kitap takip ediyorum :) Kitapta dediğiniz gibi döngü kullanmayın diyo yoksa gece uyumadan önce bunu düşünüyodum :D sıfırdan başladm da :S
Ve teşekkür ederim oldu :) takıldıkça burdan sormaya devam ederim...
Rica ederim. ::)
ort=toplam / 10;
değilde
ort=toplam / 10.0;
şeklinde yaparsan küsüratı görmen daha da kolaylaşır.
#include <stdio.h>
#include <conio.h>
main () {
int notilk,not1,not2,not3,not4,not5,not6,not7,not8,not9;
int toplam=0; // baslangıc degerleri vermen gerekli.Eger baslangıc degeri vermezsen derleyici o an ki ramin o bölümünde bulunan degri verir
float ort=0; //Ramin o bölümündeki deger 0 olabilecegi gibi baska degerlerde olabilir.Bu yüzden sonucun farklı cıkıyor.
printf("Lutfen notu giriniz:");
scanf("%d",¬ilk); //Ayrıca scanf ile degişkenleri alırken %f ile degil %d ile almalısın.Cünkü integer olarak tanımlamıssın
toplam+=notilk;
printf("Lutfen notu giriniz:");
scanf("%d",¬1);
toplam+=not1;
printf("Lutfen notu giriniz:");
scanf("%d",¬2);
toplam+=not2;
printf("Lutfen notu giriniz:");
scanf("%d",¬3);
toplam+=not3;
printf("Lutfen notu giriniz:");
scanf("%d",¬4);
toplam+=not4;
printf("Lutfen notu giriniz:");
scanf("%d",¬5);
toplam+=not5;
printf("Lutfen notu giriniz:");
scanf("%d",¬6);
toplam+=not6;
printf("Lutfen notu giriniz:");
scanf("%d",¬7);
toplam+=not7;
printf("Lutfen notu giriniz:");
scanf("%d",¬8);
toplam+=not8;
printf("Lutfen notu giriniz:");
scanf("%d",¬9);
toplam+=not9;
ort=toplam / 10;
printf("yazilinin ortalamasi %f\n",ort);
getch();
}
Dizi ve döngü kullanımıyla ortadaki 30 satırlık kod döngü ve 3 satırla halledilebilir. Örnek:
#include<stdio.h>
#include<conio.h>
main()
{
float i,toplam,sayi,ortalama;
toplam=0;
for (i=1;i<10;i++)
{
printf("%1.0f .sayi gir...",i);
scanf("%f",&sayi);
toplam+=sayi;
}
printf("Girilen Sayıların Toplamı=%f\n",toplam);
ortalama=toplam/10;
printf("Girilen Sayıların Ortalaması=%6.2f",ortalama);
getch();
}
Evet halledilebilir ama arkadas öyle yazdı diye bende uzun uzun yazdım(daha dogrusu kopyaladım ;D)
:) hepinize teşekkür ediyorum...
Şimdilik sorun çözüldü devam ediyorum uygulama yapmaya İleri C Programlama kitabını takip ediyorum Altaş Yayınlarının orada kısa yolla yapmayın diye uyarı olduğu için döngülere girmedim :))
Tekrardan çok teşekkür ediyorum ileriki sorularda görümek üzere :D
Bildiğinize göre sorun yok zaten. Kolaylıklar dilerim. :)
Kitabın mantıksızlığı. printf fonksiyonunu kullanmadan, kendiniz yazın bir fonksiyon ekrana bastırın dese tamam da, aynı satırı 10 kere yazdırmanın mantığı ne ki?
Kaan Aslan 'ın A 'dan Z 'ye C Klavuzu kitabını tavsiye ederim.
Kaan Aslan'ın kitabı bu konuda başucu kitabımdır. Deitel'in kitabı da anlatım olarak çok güzel, hem C, hem C++ var.
Elazığ'da iken almıştım bu kitabı anlatımı güzel aslında belki daha kısa yolu da vardır ama bende genel olarak copy paste yaptım aynı noktalarda ve ben iyi bi yazılımcı olmak istiyorum o yüzden pek umurumda değil yazma kısmı :) Umarım iyice C öğrenirim... tabi şurda 16 günüm kaldı :)
Programlamayı C İle Öğreniyorum-
Muhammet Yorulmaz-Palme yayınevi
kitabını tavsiye ederim.Adım adım anlatıyor herşeyi
mesaj birleştirme:: 26 Mart 2013, 15:11:35
@ yusufburak kardes elazıgda ne işin var acaba? :)
hocam orda üniversite okudum :)
artık bu kitabı takip edicem ya :S genelde Altaş Yayınlarının kitabı geçti hep elimize alıştık..
teşekkür ediyorum cümleten hocalarıma :)
Bende elazıgda mühendislik okuyorumda :)
:) hayırlısı olsun ben bititrdim kurtuldum şükür :D
Hangi bölümdesin ?
Mekatronik müh. son dönem benimde bitiyor insallah :)
bitmiş maşAllah :) hayırlı olsun...
if (adet<10) {
fiyat*=adet;
printf ("%d adet kitap fiyati %f TL'dir.\n",adet,fiyat);
} else {
if (adet>=10 && adet<20) {
fiyat*=adet;
indirimsiz=fiyat*0.1;
indirimli=fiyat-indirimsiz;
printf("%d adet kitap fiyati %.3f TL'dir.\nAncak indirimi ile beraber %.3f TL olmaktadir.\nIndirim orani 0.1'dir.\n",adet,fiyat,indirimli);
} else {
if (adet>=20) {
fiyat*=adet;
indirimsiz=fiyat*0.15;
indirimli=fiyat-indirimsiz;
printf("%d adet kitap fiyati %.3f TL'dir. \nAncak indirimi ile birlikte %.3f TL olmaktadir.\nIndirim orani 0.15'tir\n\n\n",adet,fiyat,indirimli);
}
}
}
Hocalarım merhaba.
Ben bu örneği yaptım kendimce ama burda if - else yapısında kullanılan "{","}"
başlangıç ve sonlandırmaları pek anlamadım.
ilk else için bir "{" açıyoruz ve tüm işlemler bitene kadar kapatmıyoruz. Diğerleri için ise açıyoruz ama kapatmıyoruz.
Böyle mi ?
Merhaba :)
Her if ve else yapısı içi {} parantez acıp kapatman gerekir.Ancak if içerisinde if ve else yapısını kullanabilirsin.
Mesela ;
if(x<10)
{
if(x<5)
{
printf("x sayisi 5 ten kücükütür.");
}
else
{
printf("x sayisi 5 ten büyük 10 dan kücüktür.");
}
}
insallah anlatabilmişimdir.Anlamazsan daha detaylı anlatmaya calısırım.Kolay gelsin
tamam hocam anladım :) çiğ köfte sata sata beynim ağırlaştı :D