Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
1208
Tıklama
0
Öne Çıkarma
c++ ve wxWidgets hakkında!
A
13 yıl
Çavuş
Konu Sahibi

Öncelikle selam,

Ben c++ öğrenmeye yeni başladım. kendime yetecek kadar öğrendim sayılır.
Bazı problemlerim var tabii bulamadığım.
1. problemim. c++ programlama yaparken kayıtlı dosyanın (dosya.txt veya benzeri, dosyayı kendim oluşturacağım için çok farketmez) içerisinden herhangi bir satırı okutmak ve x değişkenine atamak istiyorum. bulduğum kodların hiçbiri bu işi yapamadı. satır adı belirterek direk o satırı okutabileceğim bir komut yokmudur?
2. problemim. aynı şekilde x satıra bir tablo satırı yazdırmak istiyorum ama x. satıra. bunu nasıl yapabilirim?
3. problemim. bir dizi içerisindeki x karakterlerin hepsini silmek istiyorum. ancak karakteri bulunca sil, sonra ilerisindeki karakterleri kaydır demek istemiyorum döngü ile. karakteri silince diğer karakterleri kaydıracak bir komut varmıdır?

wxWidgets hakkında .
c++ bir program hazırladım. bu programı her programcının istediği gibi geliştirip, dos ortamından win ortamında çalıştırmak, hatta program içerisinde çıkacak sonucu seçip sağ tuşla kopyalamak istiyorum.
yağtığım program exel tablosu gibi.
örneğin;

matematik motlarının yazılı olduğu bir alan var diyelim. diğer notlar belli ve girilmiş vaziyette olsun. ama matematik notları 6\n2\n9\n8\n4\n5\n şekilinde.

yazdırmak istediğim bölüm ise;
kisi_adi, matematik_notu, fen_notu, türkce_notu
ben bunu matematik notunu bir textctrl gibi bir alana yapıştırıp butona basınca kişileri sırayla yazacak bir program yapmak istiyorum. bu programda çıktıları satır satır seçip sağ tuşla kopyalamam lamzım.
Bu nu nasıl yaparım. wxWidgets olması şart değil. derleyici olarak codeblocks kullanıyorum.

Yardımlarınızı bekliyorum.
Şimdiden teşekkürler.





< Bu mesaj bu kişi tarafından değiştirildi akrazi -- 21 Temmuz 2011; 14:32:20 >

Q
13 yıl
Yüzbaşı

Merhaba,

1 - getline() fonksiyonu bir dosyadan satır okumaya yarar. 5. satırı okumak istiyorsan getline()'ı 5 kere çağırırsın, 5. çağrışında 5. satır okunur.

2- İlk x-1 satırı okursun getline() ile. Sonra tekrar yazarsın bu satırları. x. satıra geldiğinde ise istediğini yazdırır devam edersin.

3 - Yanlış bilmiyorsam Stack diye bir nesne var C++'ta. Olmadığını varsayalım, yazacağın bir fonksiyon bu işi rahatça halleder ama tabi döngü ile . Stack'i kullanırsan senin yapmak istemediğin döngü otomatik yapılacak, kendin yazarsen sen yaptırmış olacaksın.


Üstteki öneriler için eminim daha özel fonksiyonlar ve kolay yollar vardır. Direk aklıma geldi yazdım. Kusura bakma. Gerisi hakkında pek bir fikrim yok..


Bu mesaja 1 cevap geldi.
A
13 yıl
Çavuş
Konu Sahibi

bu şekilde yapabiliyorum. ancak döngü içinde 8000 inci satırı okumaya kalkınca programın biraz hantal kalmasına neden olur.
Yinede cevabın için teşekkürler..


Bu mesaja 1 cevap geldi.
G
13 yıl
Yarbay

Dosya içerisinden taa 8000. satırı okumaya kalkışıyorsan basit dosyalar işini görmüyor demektir, veritabanı kullanmalısın. Veritabanına sadece anahtarı verirsin, o sana ilişkili olan veriyi çıkartır.

x. satıra tablo yazdırmak demek o satırdaki bilgiyi silmek demektir. Araya eklemeyi düşünüyorsan c++ ın basit dosya fonksiyonlarıyla bu iş zor. Cevap yine yukarıdaki gibi.

Dizi içerisinden herhangi bir elemanı sildiğin zaman sonrakileri kaydırmak mecburi. E bu iş tabiki döngü ile olacak. Hazır komut ta kullansan o yine döngü ile yapacak. Silinecek elemanları boş diye işaretleyebilirsin ama bu dizi mantığına uymaz, bellek te boşalmaz. Zaten c++ ta böyle işler için dizi kullanılmaz, çok daha sağlam alternatifler var.

Gelelim sonuncuya. wxwidgets iyiydi hoştu ama Qt lgpl lisansına sahip olunca pek esprisi kalmadı. C++ için açık ara en iyi gui library Qt dir. (Sadece görsellik değil ne ararsan var, akılalmaz genişlikte bir kütüphane. )http://qt.nokia.com/products


Bu mesaja 1 cevap geldi.
A
13 yıl
Çavuş
Konu Sahibi

Verdiğin gilbiler için teşekkürler.

Dersleri ile birlikte Qt yi indirdim kurdum üzerinde çalışıyorum.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.