Eğer sindire sindire nesne tabanlı programlama öğrenicem, benim vaktim var diyorsanız öncelikle "Arts and Science of Java" ve destek olarak Stanford Üniversitesinin video deslersi ile slaytları daha sonrasında Deitel, "Java How to Program". Arts and Science of Java ile Stanford'da acm denilen bir kütüphane ile başlanılıyor ki yeni başlayanlar nesne tabanlı programlaya rahat alışabilsinler diye. Deitel standart Java üzerine bulabileceğiniz hemen hemen her dersi veriyor, eğer benim obje tabanlı altyapım az çok var, ben direk Java'ya başlarım diyorsanız Deitel uygundur. İlk iki kaynak üniversitelerde derslerinde kullanılıyor. Alternatif olarak "Java Programming (Oracle Press)"'e bakabilirsiniz, Oracle'ın yayınladığı ve Java ile ilgili her şeyin içinde bulunduğu süper bir kitap. Verdiğim kaynakların hepsi İngilizce, tabi sanırım Deitel ve Arts and Science of Java'nın Türkçe versiyonları var ama duyduğuma göre pek iyi değiller. Eğer Türkçe kaynak istiyorsanız, pek yardımcı olabileceğimi sanmıyorum ama google amcaya danışarak güzel bir kaynak bulabilirsiniz. |
Arkadaşlar merhaba uzun aramalarıma rağmen çözüm bulamamış olmam neticesinde bilginize başvuruyorum... public Bitmap Screenshot() { Bitmap Screenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); Graphics GFX = Graphics.FromImage(Screenshot); GFX.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size); return Screenshot; } boyle bır kod satırım var. ve save komutu bır timer a eklı oda bu Screenshot().Save("D:\\MyWorks\\logs\\Screenshot.jpg"); şuan sorunsuz çalışıyor ama sürekli "screenshot" isimli dosyayı güncelliyor. yani screenshot dosyası var ise yeni kaydın adı screenshot1 olmasını nasıl sağlarım? |
|
ilgine çokk teşekkür ederim aklıma gelmemişti bu :D buraya yazdıktan sonra bilgisayarımda saat yapımı diye bir örnek olduğunu hatırladım. aynen bu dediğin yöntemi uygulayıp ıkısınıde aynı timer altına tanımladım sorun hallolmuş oldu :) |
Cevap yazılmış sonradan gördüm :) |
----Konu hala aktifse--- Arkadaşlar bu işlere yeni yeni merak saldım. Öncelikle bir sorum var #include <iostream> #include <conio.h> using namespace std; main(){ int a[3]={2,5,6}; int x; for(x=0;x<=3;x++){ cout << a[x] << "\n"; } getch (); return 0; } Kod bu.Şimdi bunu çıktısı 2,5,6,2 oluyor fakat anlamadığım olay ben 3 için dizide değer tanımlamadım fakat program değer 0 daki yani 2 yi yazdırdı bunun nedeni nedir acaba ? |
Hocam orda 2'nin yazması şans eseri denk gelmiş sanırım çünkü sen bellekteki t, (t+1) ve (t+2) adreslerine değer atıyosun döngünde x=3 olduğu zaman program (t+3) adresindeki değeri veriyo sana bu değer de çok düşük bi olasılık olmasına rağmen 2'ymiş. |
Çok teşekkür ederim cevabınız için şans eseride olsa görünce baya bir kafamı karıştırmıştı sağolsun ama şimdi anladım gibi :) . Bu diziler ne zor işmiş arkadaş ![]() |
@source aslında çözmüştü fakat henüz array işlemediğimiz için array kullanılmadan yapılması gerekiyormuş. ben de array'siz yapmaya çalıştım fakat yine tıkandım. 1-2 sorum olacak size < Resime gitmek için tıklayın > 1- 1.maddede not getirtemiyorum, 2.maddeyi hiç yapamadım, 1 olursa 2 olmuyor 2 olursa 1 olmuyor. En önemli sorunum bu. fonksiyonlarda sıkıntım var sınıftan çağırmaları yapamadım hiç 2- biraz önce not'u yazdırırken sorun yoktu ama şimdi çalıştırınca 1,2,3.maddelerdeki not ortalaması ya da diğer maddelerdeki not ortalamalarını yazmıyor. yarın teslim etmem lazım yardımcı olacak olursa çok çok çok sevinirim. #include <iostream> |
A++, B++ yazmışsın ama sen bu değişkenleri tanımlarken ilklendirmemişsin. int A, B, C, D, F, G; A = B = C = D = F = G = 0; demen gerekiyor. Yoksa içlerinde çöp değer olur. ogrenci sınıfındaki maxbul fonksiyonun bir işe yaramaz. Sadece isim olarak max ama yaptığı bir işlem yok. f (orta1>maks){ maks=orta1; Demişsin ama maks'ı yine ilklendirmeden kullanmışsın. İçinde çöp değer var. Ayrıca bu maks, ogrenci sınıfında ki maks'dan farklı bir değişken. Bu yüzden 1. ve 2. şıkkın doğru çalışmıyor. Şıkkalara gelirsek 1. şıkkının cevabında p.maxbul() demişsin ama sana ogrenci sınıfında ki içinde çöp değer olan maks değişkenini dönderecek. Doğal olarak sonuç yanlış olacak. Maxisim maxno yu yazdırmaa çalışmıssın ama yukarda bahsettigim sebepten dolayı( if(orta1 > maks) da ki maks değişkenin içi çöp olduğundan değerinin ne olacağı belli değil. Bazen if'in içine girecek bazen de girmeyecek.) hatalı. 4,5,6,7,8,9,10. şıkklarında ki cevaplarında ilk başta bahsettiğim yanlışdan dolayı hatalı. |
değerleri ilklendirdim fakat fonksiyonları yine de beceremedim, ilk 3'ü çalışmıyor :/ |
system("cls"); if (orta1>maks){ maks=orta1; maxisim=isim; maxno=numara; maxharf=harf; } bu kısımı hemen bunun üstünde ki } içine yaz yani while'ın içinde olacak ama en altında. Bu şekilde yazdırabilirsin. En yüksek notu olan öğrencinin ismini notunu felan. 2. şık içinde yine while'ın içine maks'ı buldugun yerin hemen altına min kodunu yazcan. (min değişkeni ilklendirilmiş olacak üst tarafta.) if(orta1 < min) { min=orta1; minisim=isim; minno=numara; minharf=harf; } Özetlersem söyle görünecek kodun while() { // ... system("cls"); if (orta1>maks){ maks=orta1; maxisim=isim; maxno=numara; maxharf=harf; } if(orta1 < min) { min=orta1; minisim=isim; minno=numara; minharf=harf; } } // Devamında da do ..while içinde switch |
hallettim, çalışıyor program teşekkür ederim yardımcı olanlara :) |
getchar ve putchar ne işe yarıyor biri lütfen anlatsın. |
http://en.cppreference.com/w/c/io/getchar Standart giriş akımından(stdin) bir karakter okur. http://en.cppreference.com/w/c/io/putchar Standart çıkış akımına(stdout) bir karakter yazar. Aldığı parametre yazılacak karakter. Küçük bir örnek. Eğer kelime girilirse sadece ilk harfini alır.
|
Şuan döngüler, array, pointerlar, classlar,operatorler(clsslardaki operatörler falan) hakkında biraz bilgim var, yani sınırlarını bilmediğim için biliyorum diyemiyorum :) bundan sonra nasıl devam etmeliyim? ilerisi için napcğaımla ilgili hiç bi fikrim yok. ayrıca birde sorum var; this pointerı ne işe yarıyor alamadım tam olarak? küçük bi örnek kod falan göstereiblirseniz çok sevinirim |
Aslında ben de senin gibiyim biraz biliyorum ama daha fazlasını öğrenmek için yaptığım yöntemi söyleyeyim. C++ forumlarını takip ediyorum. Buralarda sorulan sorulara cevap vermeye çalışıyorum. Yanlış cevap vermemek için bildiğim bir şeyi tekrar araştırıyorum. Böylece onun hakkında daha fazla şey öğrenebiliyorum. Ayrıca bol bol alıştırma yapmak, kod yazmak lazım bildiklermizin iyice oturması için. Bunun için projecteuler.net gibi sitelere bakabilirsin. Analitik düşünme yeteneği kazandırır sana ilerde karşına çıkacak sorunlarla daha kolay başa çıkmanı sağlar. Ayrıca internette gezerken C++'da bildiğin bir konuda makale karşına çıktı diyelim. Ben bunu biliyorum diyerek okumamazlık etme, gördüğün her bir şeyi oku. Ayrıca bu kouların yanında STL'e bak. C++11'i incele kullanmayı dene. Ne gibi değişiklikler olduğunu kendin gör. Şimdilik aklıma gelenler bunlar. Sorun için küçük bir örnek yazdım. Burada setX fonksiyonundan gelen parametre ile sınıfın private üyesi olan x aynı isimli. Bununla herhangi bir çakışma, karmaşıklık olmaması için, sınıfında ki x'e ulaşmak için this->x diyoruz. Kısaca burada ki this senin o sınıfını ifade ediyor.
Daha geniş bilgi için: MSDN, IBM |
#include <iostream> #include <conio.h> using namespace std; main(){ int a,b; char c[][80]={"Pazartesi","Sali","Carsamba"}; for (a=0;a<=c[a][0];a++){ cout << "\n"; for(b=0;b<=c[a];b++){ cout << c [a] << "\n"; } } getch(); return 0; } Arkadaşlar bu dizideki a[][80]: Bunun anlamı nedir neden böyle yaptık birde ilk for döngsünde c[a][0] yazdık .Bunları açıklayabilicek varmı şimdiden teşekkür ederim.Genel olarak kısa özet geçseniz yeterli 1-2 cümle |
char c[3][80]={"Pazartesi","Sali","Carsamba"}; esittir char c[][80]={"Pazartesi","Sali","Carsamba"}; diyebiliriz. char d[3] = "ab"; esittir char d[] = "ab"; demek gibi. Matris yapisi kullaniliyor burada.Sadece sen tanimlarken belirtmiyorsun, compiler otomatik olarak islemi gerceklestiriyor diyebiliriz. c[a][0] yontemini biraz karisik olmus ama soyle diyim ASCII tablosundan yararlanmis(Cok kullanisli bir yontem degil matris boyu 65 ustune dayanirsa hatalar ortaya cikma ihtimali var diye tahmin ediyorum.). P 80(Dec) demektir.ASCII tablosunda [a-zA-Z] 65 -122 arasinda degerlerdedir. c[a][0] matris pozisyonu a=0 iken P karakterini gosterir. 0 <= 80 oldugundan dongu devam edecektir. c[a][0] a=3 iken matris boundry disina cikar ve for dongusu sonlanir. |
Peki bu konuda tavsiye edebileceginiz bir kitap, yayin evi vs varmi. Tesekkur ederim.
< Bu ileti mobil sürüm kullanılarak atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle