C++ görsel programlama

Başlatan mogutcan, 08 Kasım 2011 - 15:53:18

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

mogutcan

Merhaba C++ hakkında birkaç ön bilgi almak istiyorum. Bugüne kadar hep sistem arayüzü üzerinden (konsol vs.) çeşitli programlar yazdım çalıştırdım. C diliyle görsel program yazmak istedim, araştırdım biraz, sanıyorum C ile daha çok sistem programları yazılıyormuş, yani arka planda yürütülen işler.. Görsellik için C ++ öneriyorlar. Sorum şu C++ ile nasıl görsel programlama yapılır? Mesela İnternet üzerinden TV kanallarını çekip kullanıcıya İnternet'ten TV izleten programlar mevcut. Böyle bir işi yapan bir program yazılmak istendiğinde nereden başlanmalı ?

travego0403

#1
Araştırman gereken anahtar kelimeler Qt  ve GTK... ;)

Ayrıca C++ C'nin arayüz yazılan versiyonu değildir. C++ C den ayrı bir dildir. C ye benzerdir hatta C kodları aynı şekilde C++ içinde kullanılabilir. C++ Nesne Yönelimli Programlama olanağı sağlar. Bu yüzden görsellik için C++ önerebilirler çünkü Qt de sınıflar, kalıtım.. gibi Nesne Yönelimli Programlamaya has olan özellikler kullanılmaktadır.

C bildiğine göre C++ öğrenmek için fazla zorlanmazsın ve kısa bir zaman içerisinde öğrenebilirsin. Bazı C++ kitapları önce C daha sonra C++ anlatır. Bazı kitaplar ise bunun yanlış bir yöntem olduğunu direkt C++ ile başlanabileceğini savunurlar. C den C++ geçince bazı C alışkanlıklarını bırakman gerekecektir. Ben direk C++ anlatan bir kitaptan çalışmıştım ve herhangi bir zorlanma olmadan öğrenmiştim. C bilmen  hiç olmasa genel programlama bilgin olduğu için sana avantaj sağlayacaktır.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

sem

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

mogutcan

#3
Öncelikle teşekkürler verdiğiniz bilgiler için.

Sanırım önce C++ öğrenip daha sonra söylediğiniz anahtar kelimeleri araştırmam gerekecek : -)Peki bu arayüz giydirme işlemi nasıl bir şeydir? Mesela diyelim önce programın en kaba halini yazdım konsolda veya herhangi bir derleyicide çalıştırdım.Arayüz ? Giydirme işlemi konsolda çalıştırılabilen koda sonradan bir şeyler eklenmesi ile mi yapılır yoksa programın en başından itibaren mi arayüz hazırlanıp fonksiyonlar yazılır?

travego0403

#4
Diğer kütüphaneleri bilmiyorum ama Qt sadece arayüz için bir kütüphane değildir. Neredeyse başlı başına bir derya. Programınızda kullanacağınız birçok özellik için bir çok sınıf barındırır. Bu sınıflar kullanılarak kodlanması tavsiye edilir. Örneğin bir veritabanı bağlantısı için gerekli işlemler için Qt de veritabanı için sınıflar bulunmaktadır ve bunlar kullanılır. Qt nin büyüklüğünü en iyi şu şekilde anlatabiliriz sanırım. KDE masaüstü Qt kütüphaneleri, sınıfları kullanılarak yazılıyor, geliştiriliyor. :)

Qt de ben de yeniyim ve yeni yeni bir şeyler öğrenmeye çalışıyorum. Bildiğim kadarıyla prosedür şöyle işliyor: ilk olarak bir arayüz tasarlıyoruz programımıza uygun, daha sonra Sinyal/Slot bağlantıları yapılıyor. Bunu şöyle düşünün bir tuşa basıldığında bir sinyal yayılıyor ve bu sinyal de bir yuvaya (Slot) bağlıysa bu yuvadaki işlem gerçekleştiriliyor.

Daha deneyimli arkadaşlar da okuduğunda tecrübelerini aktaracaklardır.  ;)
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

sem

#5
C biliyorsanız doğrudan GTK ile de başlayabilirsiniz...

Aslında geneli aynı...

Konsol uygulamalarında temel şema nedir?

Bir ana process olur (C ve C++ için main fonksiyonu), program kodları çalışmaya main'den başlar. İhtiyaca göre ana process farklı processlere çatallanabilir (fork() fonksiynou ile)  ya da gerekli durumlarda ana processe bağlı threadler açılabilir. Ya da bunlara gerek olmadığı takdirde program dümdüz yazılır, main ile başlar, hiç bir yere sapmadan main fonksiyonunun return'u ile son bulur.

GTK, QT ya da diğer kullanıcı arayüzü kütüphanelerinde de genel mantık aynıdır. Programın çalışacağı bir ana bir yer vardır ve program buradan açılır. Gerek olduğu yerlerde threadler yaratılır. Fakat program return ile son bulmaz da bir ana döngü içerisine girer. Bu döngü içerisinde kullanıcının bir olayı başlatması beklenir;

* Kullanıcı bir checkbox'a tıklaayabilir
* Bir buttona tıklayabilir
* Herhangi bir şeye tıklayabilir, bir şeyi sürükleyip bırakabilir vs
* Kullanıcı uygulamayı kapatma olayını başlatabilir vs...

Bu gibi bir çok şey beklenen durumlardır. Buna olay güdümlü programlama denir. Yani kullanıcıdan bir hareket beklersiniz. Kullanıcının başlatacağı olaylara ise  belirli  görevler atanır. Örnek;

* Kullanıcı A buttonuna tıklarsa program içerisinden X fonksiyonunu çalıştır, X fonksiyonu olumlu dönerse B checkboxına tik koy, olumsuz dönerse C metin girdisini kullanıcıdan al.

Şeklinde görevler belirlenir. Şöyle bir program düşünün C ile;


while(1)
{
    fprintf(stdout, "1 -) Toplama işlemi yap");
    fprintf(stdout, "2 -) Çıkarma işlemi yap");
    fprintf(stdout, "3 -) Çarpa işlemi yap");
    fprintf(stdout, "4 -) Bölme işlemi yap");
    fprintf(stdout, "5 -) Çıkış");

   fscanf(stdin, "%d", &secim);

}


Burada program main fonksiyonu ile başlayacaktır ve bizim ana döngümüze girecek. Ve biz kullanıcının bir şey yapmasını bekliyoruz. Kullanıcı 1 e basarsa toplama işlemine, 2 ye basarsa çıkarma işlemine yönlendireceğiz programı. Daha sonra kişi işlem yaptıktan sonra yine bizim ana döngümüze gelecek. Kişi programdan çıkmak isterse farklı bir işlem yapmalı. Yani 5 e basarsa çıkışa yönlendireceğiz.

Grafik kullanıcı arayüzleri de buna benzer. Program bir ana döngüye girer ve kullanıcının hareketlerine göre tepki verecek şekilde dizayn edilir. Tabii kullanıcının buradaki hareketi görsel bir işlem olacaktır büyük ihtimalle...

Bunlar içinse seçim sizin, hangisi kolayınıza geliyorsa onu kullanabilirsiniz. Örneğin C biliyorsanız GTK yeterli olacaktır. Programlarınızda sadece kullandığınız fonksiyonlar ve yapılar değişecek... Yoksa yine istediğiniz dili kodluyor olacaksınız...

Örneğin main fonksiyon içerisinde değil de ana pencere (MainWindow) içerisinde işlemleri dizayn edeceksiniz. Kullanıcı 1 tuşuna basıp toplama işlemine geçmeyecek de bir buttona basacak vs...


Bu durumda travego0403'ün dediği çok daha mantıklı olacaktır. Bir uygulamayı önce yazıp sonra grafik hale getirmek isterseniz birçok fonksiyonunuz boşa gidecektir ya da "en az " baştan grafik arabirimde tasarlamış kadar vakit harcayacaksınız.

Örneğin yukarıdaki örnekten gidecek olursak bir hesap makinesi yaptınız ve bir döngü oluşturdunuz. Grafik arabirime geçtiğinizde while döngüsünü olduğu gibi silip yerine bir pencere yazmanız gerekecek. Örneğin kişinin seçimleri için soru sorup sonra işleme geçeceksiniz fakat bu işlem için tek bir checkbox kontrolü yeteceği için bu kısımda kullanığınız lojik de gereksiz olacak daha doğrusu farklı olacak kullanıcı arabirimdeki gereklilikten.

Tabii örnek çok basit oldu fakat anlatabilmek için öylesine bir örnek... Bunun dışında şu anda tahmin edilemeyecek (aklıma da gelmiyor) hem de projeden projeye değişebilecek bir sürü farklar olacaktır konsol uygulaması ile UI uygulaması arasında...

UGT tarafında denedik oradan biliyoruz =) MovieList Manager önce konsol uygulaması olarak yazıldı sonra grafik arabirim giydirdik ve ciddi anlamda uğraşmak gerekti, bazı fonksiyonlar gereksiz olduğu için silinmek zorunda kaldı... vs... Mixer de aynu şekilde, aslında egcodes isimli üyemizin kendi yazdığı konsol uygulamasıydı, UGT tarafında sadece görsel arayüz giydirdik. Yani önce genel bir tasarım (sadece grafik ara birim olarak değil, genel olarak program hakkında bir tasarım) çok zaman kazandıracaktır size...

O nedenle şimdilik hangisini programlamlayacağınıza karar vermeniz lazım... Daha sonra biraz bakındıktan sonra kafanızda çok daha somutlaşacaktır sorduğunuz sorular...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

mogutcan

#6
@sem0900 çok teşekkr ediyorum aydınlatıcı bilgiler verdiğin için, yazınızı büyük bir merakla okudum :) Dediğiniz gibi sanırım GTK veya diğer kütüphaneleri öğrenmeye başladıgımda sordugum bu sorular daha çok somutlaşacaktır beynimde.

* bir şey daha merak ediyorum . C dilinde GTK ile görsel programlama yapılabilir dediniz,peki sizce daha verimli ,kullanıcıya çok daha fazla görsellik sunabilmek için en yatkın dil hangisidir ? C ya da C++ ?   

sem

#7
Aslında bu tamamen programcıya bağlı @mogutcan... Kimisi Nesne Yönelimli Programlama ve avantajlarına alışmıştır ve C++ ve QT ile harikalar yaratır. Kimisi C ve tüm bellek yönetiminin kendisi olmasına alışmıştır C ile GTK'yı birleştirip harikalar yaratır =) Yani birisinde yapılabilip de diğerinde yapamayacağın şey yok.

Yani şöyle bir şey demek çok zor; QT kullan çünkü GTK'da yapamadığın "şu şu şu ve şunu"  QT ile yapabilirsin demek çok zor. Çünkü sonuç olarak her şeyi yapan var =) Düşünün ki Ubuntu üzerinde kullandığımız bir çok uygulama C ile kodlanıyor.

Yani bu sorunun aslında net bir cevabı yok, programcıya göre değişir. Fakat yeni başlayan birisi için açıkcası ben QT öneririm. Çünkü kaynak ve destek açısından QT, GTK'dan daha ileride duruyor.

Ve de QT öğrenirseniz sadece QT öğrenmeniz yeterli. Şu şekilde;

Mesela C ile GTK kodlayarak bir veri tabanı uygulaması yapabilirsiniz. Örneğin SQLite'ı düşünün. SQLite'ın C API dokümantasyonu mevcut. Bunları GTK arasında da kodlayabilirsiniz. Ama QT ile kodlayınca ayrıca SQLite C++ dokümantasyonunu incelemeniz gerekmez. Çünkü QT dahili olarak SQL kütüphaneleri ile geliyor. SQLite sadece örnek, bunun yanında Open GL vs. bir çok kütüphaneyi barındırıyor.

O nedenle yeni başlayan birisine QT öneririm açıkcası. Hatta zevk için değil de programcı olmak için soruyorsanız doğrudan önceliği QT'ye vermenizi öneririm. Çünkü Türkiye'de GTK kodlamak harbiden ütopik, fanzatik ve egzotik kalıyor... QT'nin alanı geniş olduğu için Türkiye'de en azından mobil uygulamalarda kullanılıyor.

[Not, yukarıda saydıklarım arasından örneğin GTK'nın sqlite modülü varsa bile dokümantasyonda sıktıntı yaşayacağınıza iddiaya girebilirim =)]
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

mogutcan

Teşekkür ediyorum önerileriniz için , C ile Qt yi dallandırmayı düşünüyorum şimdilik :)

bahadirhtp

#9
(:
GOD'S A KID WITH AN ANT FARM LADY HE'S NOT PLANNING ANYTHIN'

bytan

Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST

sem

Ağzımdan aldın lafı. Komik bir tavsiye mi vermişim diye baştan okuyacaktım ama tek anlam veremeyen ben değilsem baştan okumama gerek yok sanırım...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

alquirel

@bahadirhtp,

İletilerinizin içeriğini sildiğiniz için uyarı aldınız.

microanaliz

Alıntı yapılan: sem0900 - 10 Kasım 2011 - 09:40:31
Aslında bu tamamen programcıya bağlı @mogutcan... Kimisi Nesne Yönelimli Programlama ve avantajlarına alışmıştır ve C++ ve QT ile harikalar yaratır. Kimisi C ve tüm bellek yönetiminin kendisi olmasına alışmıştır C ile GTK'yı birleştirip harikalar yaratır =) Yani birisinde yapılabilip de diğerinde yapamayacağın şey yok.

Yani şöyle bir şey demek çok zor; QT kullan çünkü GTK'da yapamadığın "şu şu şu ve şunu"  QT ile yapabilirsin demek çok zor. Çünkü sonuç olarak her şeyi yapan var =) Düşünün ki Ubuntu üzerinde kullandığımız bir çok uygulama C ile kodlanıyor.

Yani bu sorunun aslında net bir cevabı yok, programcıya göre değişir. Fakat yeni başlayan birisi için açıkcası ben QT öneririm. Çünkü kaynak ve destek açısından QT, GTK'dan daha ileride duruyor.

Ve de QT öğrenirseniz sadece QT öğrenmeniz yeterli. Şu şekilde;

Mesela C ile GTK kodlayarak bir veri tabanı uygulaması yapabilirsiniz. Örneğin SQLite'ı düşünün. SQLite'ın C API dokümantasyonu mevcut. Bunları GTK arasında da kodlayabilirsiniz. Ama QT ile kodlayınca ayrıca SQLite C++ dokümantasyonunu incelemeniz gerekmez. Çünkü QT dahili olarak SQL kütüphaneleri ile geliyor. SQLite sadece örnek, bunun yanında Open GL vs. bir çok kütüphaneyi barındırıyor.

O nedenle yeni başlayan birisine QT öneririm açıkcası. Hatta zevk için değil de programcı olmak için soruyorsanız doğrudan önceliği QT'ye vermenizi öneririm. Çünkü Türkiye'de GTK kodlamak harbiden ütopik, fanzatik ve egzotik kalıyor... QT'nin alanı geniş olduğu için Türkiye'de en azından mobil uygulamalarda kullanılıyor.

[Not, yukarıda saydıklarım arasından örneğin GTK'nın sqlite modülü varsa bile dokümantasyonda sıktıntı yaşayacağınıza iddiaya girebilirim =)]
Daha belirgin farkları sıralarsanız sevinirim.(birde windows görsellik için hangi programlama arayüzünü kullanıyor)Şimdi de cevaplarınızı merakla bekliyorum ...
MicroAnaliz

ekremsenturk

Windows'un kendi standart görsel arayüzü var. Konsol programı için konsol arayüzü çağtılıyor, görsel program  için graphic arayüzü cağırılıyor.
Görsel arayüzler XML formatını kullanıyorlar.
Önce görsel arayüzü hazırlıyorsunuz ve sonra program içinden çağırıyorsunuz (içe aktarıyorsunuz). Henüz o kadar ilerleyemediğim için, detaylı bir bilgi veremem.
Bu gün Gazpacho için bir dokumantasyon ararken bir Python örneği bulabildim. Örnekte önce XML dosyası hazırlanıyor ve ardında Python metni içinden içe aktarılıyor.
Bu durumda grafik arayüzünü LibreOffice ile de hazırlayabilirsiniz teoride. Bu tür konular ile ileriki tarihlerde ilgilenmeyi düşünüyorum. Şimdilik teoride nasıl işlediğini çözdüğümü düşünüyorum.

teknick

Merhaba Ben birşeyi daha merak ediyorum...
Eskiden şimdiki gibi grafik ekran yoktu ama az da olsa konsol ekranında menuler ve benzeri grafikler oluşturulabiliyor...
peki bu konsol da çalıştırılan grafik ekran programlarla konsoldan bağımsız masaüstünde çalışan grafik arayüzlü programlar arasında ne gibi kod ve kütüphane farkları vardır?
kabaca değinebilirseniz çok memnun olurum...

Benim kullandığım linux sunucu olarak çalışmakta ve eski bir bilgisayar...
bu nedenle masaüstünü hiç kullanmadım, ancak birkaç program denemesi yapmak bir yerden başlamak istiyorum...

küçük bir örnek verecek olursak...

konsolda çalıştırılan programın kendine has bir ekranı olacak ve ekranda ileri geri ve dur gibi butonlar olsa ve bu butonlara basıldığında ekrandaki bir değer butonların hareketine göre ileri, geri sayım yapsa...

gibi bir ornekle başlamak istiyorum...?

bunun için ne üzerinde araştırma yapmalıyım yardımcı olursanız çok sevinirim...
hangi kelimeleri araştırıp nereden hareket edeceğimi bulamıyorum...

Şimdiden çok teşekkürler...
Ubuntuyu Cok Seviyorum...

heartsmagic

@teknick, istediğin şey fare kullanımını da içeriyor mu, eğer içeriyorsa GPM konusunu araştırman gerekiyor. Yazacağın uygulama hakkında yorum yapmam zor sanırım zira kodlama tarafım yok ne yazık ki.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

teknick

Alıntı yapılan: heartsmagic - 31 Ocak 2012 - 10:18:49
@teknick, istediğin şey fare kullanımını da içeriyor mu, eğer içeriyorsa GPM konusunu araştırman gerekiyor. Yazacağın uygulama hakkında yorum yapmam zor sanırım zira kodlama tarafım yok ne yazık ki.

Hayır gerektirmiyor...
eski linux kurulumları dos ekranı gibiydi renkliydi ancak grafik değildi mouse da yoktu...
başka bir örnek nano-pico editörü altta menü tuşları var... ctrl+x save gibi mesela...

Teşekkürler...
Ubuntuyu Cok Seviyorum...

travego0403

ncurses kütüphanesini araştırabilirsin. İstediğin böyle bir şey sanırım.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

heartsmagic

İstediğin şey nano gibi bir şeyse sanırım o normal klavye kısayolları ayarlamasıyla da halledilebilir, grafikle alakalı bir durum değil sanki. Eğer biraz daha grafik yönlü bir şey istiyorsan @travego0403'ün dediği gibi ncurses kütüphanesine de bakılabilir.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

ekremsenturk

#20
Grafikler çalışma zemini üstündeki noktaların adreslenebilmesi sayesinde geliştirilebiliyor. Aynı kural mous'un imlecinin denetimi içinde geçerli. Bir for döngüsü ile zeminin belirli bölümlerinin değerleri isimlendirilebilirse, aynı bölümler adreslenebilir. C' den daha yüksek seviyeli Programlama dillerinde bu işlemler için tanımlar (kod'lar) kullanılıyor ve bu sebepten dolayı biraz daha kolay oluyor.
Renkler ise kullanılan uygulamanın kaç bit desteklediğine bağlı olarak sınırlı seçenekler sunabiliyor. 8 bit'lik uygulamalar sadece 8 renk destekliyebiliyor. Uçbirim uygulamaları 8 renkli olarak çalıştırılabiliyor. Bunun için hangi kütüphanler kullanılıyor bilmiyorum. Grafik arayüz geliştirme araçları dışında bir de grafik pencereler (Terminal'ler) var. Wterm ile 8 bit'lik renkler destekleniyor. C programlarını Uçbirim yerine Wterm ile çalıştırabilirsin, ancak bunun düzgün bir belgelendirmesi yok. Daha fazlasıda muhtemelen mümkün, ancak ben şimdilik bir arkaplan ve bir de yazı rengini ayarlamayı becerebildim. Bir C programını Wterm ile renkli çalıştırabilmek için Uçbirimden "wterm -bg 2 -fg 4 -e . /Cprogramının_adı" komutu ile iki rekli bir program çıktısı alınabiliyor. -bg = background color, -fg = foreground color, -e = execute anlamına geliyor. Renkler ise 0 - 7 arası beyaz'dan siyah'a, toplam sekiz farklı parlak renk oluşturuyor. Bu durumda Ekran'ında 2 Terminal'in olmuş oluyor. Wterm varsayılan olarak kurulu değil.

Uçbirimde grafikler şu şekilde mümkün:
Kılçık.c
#include<stdio.h>
int main()
{
   printf("\n ");
   printf("\n");
   printf("\n");
   printf(" \n");
   printf("             /////////////////\\\n");
   printf("           / 0 cccccccccccccccc\\\\  /| \n");
   printf("         < _, ))cccccccccccccccccc \\| \n");
   printf("           \\ ccccccccccccccccccc//\n");
   printf("             \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/ \n" );
   printf(" \n");
   printf(" \n");
   printf(" \n");
   printf(" \n");
   printf(" \n");
}


Uçbirimde satırlar arası başlatıcılara erişim, klavye yön tuşları ile mümkün. Mous imleci ile bir erişim sağlanamıyor. Uçbirim ile grafik pencereler (grafik terminaller) arasındaki farklardan birisi, Uçbirim standart olarak açıldığında 82 karakter genişliğinde ve 24 satır derinliğindedir. Grafik pencerelerde bit genişliği ve bit derinliği esas alınır.

teknick

Alıntı yapılan: travego0403 - 31 Ocak 2012 - 13:50:54
ncurses kütüphanesini araştırabilirsin. İstediğin böyle bir şey sanırım.
ncurses görsel kısımda istediğim özellikleri gerçekleştirebilecek sanırım, ancak başlı başına farklı bir yapısı var gibi üzerinde baya bi çalışmam lazım...
birde içerik var tabi...

farklı işlermleri aynı anda yapabilmek...

travego0403 kaynak için çok teşekkür ederim...
Ubuntuyu Cok Seviyorum...

teknick

ben yapamadım bunu arkadaşlar...
ornek olarak
mesela

ileri yazdığımda ekranda 0 dan başlayıp saymaya devam edecek
dur yazdığımda ise kaldığı yerde duracak
geri yazdığımda ise kaldığı yerden geri saymaya başlayacak

bu programı nasıl yapabilirim?

saymasına sayıyor ama belirli bir limit oluyor ve o limite gelene kadar durmuyor...
araya ekrandan veri oku yaptığımda da sayma işlemi duruyor ikisini ayı anda nasıl yapabilirim?
Ubuntuyu Cok Seviyorum...

heartsmagic

@teknick, hangi dilede yazıyorsun? Detayları nedir? Kodların nasıl?

Ben yardım edemem ancak edecek arkadaşlar için bunları aktarman gerekiyor.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

teknick

C ile... konsol programı olsun istiyorum...
az cok yapıyorum ancak dongü içine girince döngü bitene kadar müdahale edemiyorum...

mesela sonsuza giden artan bi döngü yapıyorum...
başlıyor saymaya, ancak bu sayma sırasında ben durması için gerekli hareketi versem de durmuyor çünkü döngünün bitmesini bekliyor...
eğer ekrandan girilen bir değer var mı diye kontrol etmesini istediğimde scanf ile bu defa da bir değer girilene kadar dongu duruyor...
scanf ile bi değer girilmek zorunda klavyeden... yoksa dongu duruyor... Herhangi bir değerin girilip girilmediğini kontrol eden başka bir kod var mı acaba?
Ubuntuyu Cok Seviyorum...