Çok iyi oldu da o konuda bir tavsiye vereyim yine de. Şimdiden genel algoritmalara alışırsan ilerde çok rahat edersin. "Bir fonksiyon yazayım 2 tane int i değiş tokuş etsin" değil, "bir algoritma yazayım herhangi 2 nesneyi değiş tokuş etsin" diye düşün. Mesela std::swap için int, double, string ya da kullanıcı tanımlı tür farketmez. STL kütüphanesi bu şekilde çalışır, tip zorlaması yapmaz. |
Sanırım azcık salağım ben ![]() ![]() |
Zamanı gelince görürsün acele etme. Aklında olsun diye söyledim genel düşünmek her zaman iyidir. Normalde C'de de bu şekilde düşünmek lazım ama onun olanakları kısıtlı. Herkese void* ile yap diyemiyorsun. Fakat c++ ta böyle silahlar varken kullanmamak olmaz. |
function overloading ile yapmayı denedim ama typedef'lerde beceremedim. STL'deki kodunda böyle (T& x) falan var umarım büyüyünce anlarım ![]() |
yine bir gereksiz C++ sorusu yine ben ![]() bu başkaları tarafından oluşturulmuş libraryleri kullanmak için neden kullancağımız compilerde build etmemiz gerekiyor? bir de SFML kütüphanesini kullanmaya çalışıyorum da. onla ilgili de genel sorularım var. Static ve dynamic library kullanma arasında ne fark var? (library'i build ettiğimde bi -s takılı static dosyalar bir de normal dosyalar çıktı) Dynamic yapınca yanında DLL falan olması gerekiyormuş öyle ki kendim bile DLL'siz çalıştıramadım zaten ![]() Bir de Visual Studio'da SFML projesi yapmak çok uğraştırıcı yani her seferinde kullanılcak lib dosyalarını directoryleri göstermek sıkıcı. Her tutorialde yeni proje açmak da alışkanlığım oldu. Bunları direk ayar ypabilir miyim? Hani Windows Form Application gibi mesela. SFML application diyeyim o benim için herşeyi ayarlasın falan? |
c'ye yeni başladım takip ettiğim derslerde basit toplama ve çıkarma programı yaptılar ama ben yazınca çok saçma bir şey oluyor. sayılar ne olursa olsun sonuçlar 2milyonlu bir şey çıkıyor.. #include <stdio.h> #include <conio.h> int main () { int sayi1, sayi2, toplama, cikartma; printf("\nIlk Sayiyi Giriniz..\n"); scanf("%d",&sayi1); printf("\nIkinci Sayiyi Giriniz..\n"); scanf("%d", & sayi2); toplama= sayi1+sayi2; cikartma= sayi1-sayi2; printf("\nToplam Sonucu %d, toplama\n"); printf("\nCikartma Sonucu %d, cikartma\n"); getch (); return 0; } < Resime gitmek için tıklayın > |
Merhaba, Hatanız şu satırlarda: printf("\nToplam Sonucu %d, toplama\n"); printf("\nCikartma Sonucu %d, cikartma\n"); toplama ve cikartma değişkenlerini bu şekilde yazdıramazsınız. Şu şekilde olması gerek: printf("\nToplam Sonucu %d\n", toplama); printf("\nCikartma Sonucu %d\n", cikartma); Kolay gelsin... |
tamamdır hocam farkettim hatamı teşekkür ederim ![]() |
Rica ederim, yardımcı olabilmiş isem ne mutlu bana. ![]() |
Ya bu soruya cevap veren olmamis yada ben kacirdim. Bir tane karakteri integer ile karsilastirabilirsin. 1 char 1 byte dir, yani 256 tane deger alir. Cogu programlama dilinde char in encoding i ASCII dir. Yani sayilarin karakter olarak gosterilmesi. Bu yontem ornegin bir kelimedeki harflerin alfabetik siraya gore diziliminde cok kullanilir cunku ASCII encoding alfanumerik olarak siralanmistir. |
ARKADAŞLAR C GRAFİK İŞLEMLERİNDE 2 DAİRE VE BİR DİKTÖRTGENDEN OLUŞAN TOPLU ŞEKLİ YÖN TUŞLARI İLE NASIL HAREKET ETTİREBİLİRİM... ? GRAFİKTE ÇOK YENİ OLDUĞUM İÇİN SORUYORUM |
Beyler C#'a başladım. C++ bildiğim için çok kolay geliyor şu anda Aritmetik operatörlerdeyim. Şimdi C++ 'da kullanıcıdan bir veri girmek için "Cin " fonksiyonunu kullanmamız gerekiyordu. Fakat C# 'da böyle bir şey yok sanırım. Yani Console.Read fonksiyonunu değişkene eşitliyoruz sanırım. Örneğin ;
Bir de arkadaşlar Visual Studio 2013 Ultimate kullanıyorum ve Ctrl+s ile kaydettikten sonra F5 ile derledikten sonra bu programı yazmadan önce ki program çalışıyor. Anlamadım bu işi |
Integer için Console.Read, string için Console.Readline. Vs için projene gelip sağ tıkladıktan sonra Set As Startup Project demen yeterli. |
Buradaki ReadLine bir satır aşağıya geçmiyor muydu? integer da da kullanamaz mıyız? Teşekkürler. |
integer'da şöyle kullanabilirsiniz. int c = int.Parse(Console.ReadLine()); Ayrıca "6 75" şeklinde tek satırda girilen sayıları almak için de string[] tokens = Console.ReadLine().Split(); int a = int.Parse(tokens[0]); int b = int.Parse(tokens[1]); gibi kullanabilirsiniz. Ayrıca "6,75" olursa tam emin dğeilim ama string[] tokens = Console.ReadLine().Split(","); derseniz olcaktır. Bilyiosunuzdur belki ama bilmeyenler vardır diye yzdım :P |
Hocam yeni başladım daha Parse metodlarını, Split, tokens falan onlara daha gelmedim. |
hocam tokens sadece değişken adı özel bişey yok onda :) Parse ise değişken türü değiştirmede kullanılıyor. Split ise string'i parametre olarak aldığı karakterleri gördükçe ayırıyor. Varsayılan oalrak " " karakterini gördükçe ayırır. Yani kısaca satırı okuyup boşlukları gördükçe onu string tipinde bir array'a ekledik. Daha sonra da bu stringleri tam sayıya çevirdik. Yazdıklarım da eksiklikler olabilir tam C# bilmiyorum ben de. Yanlışı varsa düzeltir başka biri :) |
C++ sanirim sadece cin ile satir okuyorsunuz. cin ile satir okursan bosluklarda okumasi biter getline ile okursan yeni satira gecene kadar(\n gorene kadar) okur. C# daki ReadLine de C++ daki getline in esitligi. |
int i,s1,s2,toplam=0; else if bloğu istediğimi yapmıyor. 10 ile 5 arasındaki sayının toplamını 4 buluyor, sorun nerede acaba? |
haa anladım. referans ile yaparken de foo(&x) diye çağırıyoruz sanıyodum
void swap2(int &a, int &b)
{
int c = b;
b = a;
a = c;
}
çok iyi oldu çokda güzel oldu sanırım :Dteşekkürler hocam. sizi bu ara çok meşgul ediyorum artık cevap vermiceksiniz diye korkmuyo dğeilim
< Bu mesaj bu kişi tarafından değiştirildi Lord Nibbler -- 31 Ocak 2014; 13:26:31 >