Gönderen Konu: C++ Örnek Kod Paylaşımı  (Okunma sayısı 8148 defa)

Çevrimdışı dev@mehmet

  • Çaylak Penguen
  • **
  • İleti: 189
  • Dağıtım: Linux Mint 19
  • Masaüstü Ortamı: Cinnamon
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #15 : 24 Temmuz 2014, 15:03:40 »
Vayy. Sen QT'ye mi başladın? Peki kaynak nerden buldun ? Ben internette aradım ama pek bulamamıştım

Çevrimdışı Quaoar

  • Çaylak Penguen
  • **
  • İleti: 149
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #16 : 24 Temmuz 2014, 16:43:17 »
Kaynak olarak Qt Creator IDE'sinin(Visual Studio gibi tamamlama özelliği var) kendisini QT'nun websitesini ve tabiki stack overflow'u  kullandım. :D

Çevrimdışı dev@mehmet

  • Çaylak Penguen
  • **
  • İleti: 189
  • Dağıtım: Linux Mint 19
  • Masaüstü Ortamı: Cinnamon
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #17 : 24 Temmuz 2014, 16:48:43 »
Ben de Türkçe kaynak arıyordum. Ama hala bulamadım. Malum ingilizcem o kadar iyi değil de. O yüzden hiç başlamadım.

Çevrimdışı dev@mehmet

  • Çaylak Penguen
  • **
  • İleti: 189
  • Dağıtım: Linux Mint 19
  • Masaüstü Ortamı: Cinnamon
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #18 : 25 Temmuz 2014, 16:06:22 »
Şimdi vereceğim kodun amacı kullanıcıdan sayı istediğimizde harf girerse programın çökmesini önlemekti. Ama kodlar şimdilik hatalı çalışıyor. İsteyen düzeltip kullansın diye paylaşıyorum. En azından basit bir temel oluşturmaya çalıştım.
Kod: [Seç]
#include <iostream>
#include <cstring>

using namespace std;

int usal(int a,int b){
for (int i=1;i<b;i++){
a=a*a;

}
return a;
}

int kontrol(char dizi[]){
int i,k;
int a;
i=strlen(dizi);

for(int j=0;j<i;j++){
dizi[j]=a;
if(a>='A' & a<='Z'){
return 0;
break;
}
else if(a>='a' & a<='z'){
return 0;
break;
}
else if(a>='0' & a<='9'){
cout << "Dogru giris";
}
else {
return 0;
break;
}
}
int sayi=0;
int gercek=1;
for(int j=0;j<=i;j++){
dizi[j]=k;
sayi= k * usal(10,(i-1));
gercek += sayi;
}

return gercek;
}


int main(){
char dizi[10];
cout << "Bir sayi girin:" << endl;
gets(dizi);
int sayi;
sayi = kontrol(dizi);
cout << "Girdiginiz sayi " << sayi << " idi." <<endl;
system("PAUSE");
return 0;
}

Yukarıdaki örnek karmaşık. İsteyen olursa diye en basit halini de paylaştım.

Kod: [Seç]
#include <cstdlib>
#include <iostream>

using namespace std;

int main(){
char tus;
cout<<"Bir sayi giriniz=";
cin>>tus;
if(tus>='A' & tus<='Z'){
cout<<"harf tusuna basildi"<<endl;
}
else if(tus>='a' & tus<='z'){
cout << "gecersiz islem. " << tus << " harfini girdiniz." <<endl;
}
else if (tus>='0' & tus<='9'){
cout<<"sayi tusuna basildi. " << tus << " sayisini girdiniz."<<endl;}
else {
cout << "gecersiz islem \"" << tus << "\" karakterine bastiniz." <<endl;
}
main();
system("PAUSE");
return EXIT_SUCCESS;
}

Bu örnekte sadece 1 karaker inceleyebiliyor. 1'den fazla yazarsanız hata vermiyor ama girdiğiniz her karakteri ayrı ayrı inceliyor.

Basit örneğin çalışma çıktıları:

Çıktı 1:
Kod: [Seç]
Bir sayi giriniz=)
gecersiz islem ")" karakterine bastiniz.
Bir sayi giriniz=1
sayi tusuna basildi. 1 sayisini girdiniz.
Bir sayi giriniz=a
gecersiz islem. a harfini girdiniz.
Bir sayi giriniz= }
gecersiz islem "}" karakterine bastiniz.
Bir sayi giriniz=

Çıktı 2:
Kod: [Seç]
Bir sayi giriniz=123]a
sayi tusuna basildi. 1 sayisini girdiniz.
Bir sayi giriniz=sayi tusuna basildi. 2 sayisini girdiniz.
Bir sayi giriniz=sayi tusuna basildi. 3 sayisini girdiniz.
Bir sayi giriniz=gecersiz islem "]" karakterine bastiniz.
Bir sayi giriniz=gecersiz islem. a harfini girdiniz.
Bir sayi giriniz=

Üzülerek söylemeliyim ki yukarıdaki kodlar Ctrl + 3 kombinasyonu durumunda programın çökmesini engelleyemiyor.
« Son Düzenleme: 25 Temmuz 2014, 16:23:04 Gönderen: metrekup »

Çevrimdışı Quaoar

  • Çaylak Penguen
  • **
  • İleti: 149
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #19 : 02 Ağustos 2014, 12:16:07 »
Ben bunu yapmaya çalıştığımda sayıları bile kabul etmiyordu. ;D Sizinki iyi bir örnek olmuş sayı tahmin oyunu yapmaya çalışıyorum şimdi onu kullanarak. :)
Bu arada notepad uygulamasını bitirdim https://github.com/egeoz/qNotepad

Çevrimdışı dev@mehmet

  • Çaylak Penguen
  • **
  • İleti: 189
  • Dağıtım: Linux Mint 19
  • Masaüstü Ortamı: Cinnamon
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #20 : 02 Ağustos 2014, 14:23:28 »
Benim amacım c++ ile ilerleyip ardından c'ye geçip sonrasında pyton yada java öğreneceğim. Qt Creator öğrenmeyi düşünüyordum ama vazgeçtim. Nasıl olsa alacağım kitapların birinde görsel programlama yapmayı öğretecektir.
Ben bunu yapmaya çalıştığımda sayıları bile kabul etmiyordu. ;D Sizinki iyi bir örnek olmuş sayı tahmin oyunu yapmaya çalışıyorum şimdi onu kullanarak. :)
Bİrisinden ilham almasaydım ben de yapamayacaktım. Hatta benim için imkansız gibiydi.

Sana bir şey soracağım sen şimdi sadece Qt Creator mı kullanıyorsun? Kendine nasıl bir yol çizdin ?

Çevrimdışı Quaoar

  • Çaylak Penguen
  • **
  • İleti: 149
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #21 : 02 Ağustos 2014, 15:03:44 »
Evet sadece qtcreator kullanıyorum. Belli bir yolum yok doğrusu. :D Bunları daha önce PyQt da yapmıştım şimdi de c++ a geçiriyorum sadece :)

Çevrimdışı Quaoar

  • Çaylak Penguen
  • **
  • İleti: 149
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #22 : 03 Ağustos 2014, 20:03:31 »
Sayenizde qtdaki sayı tahmin oyununu da bitirdim. :) (githuba yüklememin sebebi öğrenmeye çalışmamdır yoksa basit bir örnekten başka birşey değiller :D)
https://github.com/egeoz/CNumber-Guessing



Düzenleme:
QT'da yeni yaptığım hesap makinesi  ;D
https://github.com/egeoz/qCalc
« Son Düzenleme: 04 Ağustos 2014, 12:25:03 Gönderen: Quaoar »

Çevrimdışı dev@mehmet

  • Çaylak Penguen
  • **
  • İleti: 189
  • Dağıtım: Linux Mint 19
  • Masaüstü Ortamı: Cinnamon
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #23 : 17 Ağustos 2014, 13:33:20 »
Merhaba Arkadaşlar, benim bir sorum olacak:
Yazdığımız kod kullunıcının yön tuşuna basmasını isteyecek ve kullanıcı bastıktan sonra enter demesine gerek kalmadan hangi yön tuşu olduğunu hemen söyleyecek. Yani program hem yön tuslarını algılayacak hem de kullunıcı enter demeden veriyi almasını sağlayacak. Yaptığım araştırma sonucunda birçok kodla karşılaştım. Ama kodların hiçbiri istediğim bilgiyi elde edebilmemi sağlamadı. Ayrıca kafam allak bullak oldu.En azından  ilham veren bir ipucuna da razıyım.
-------------------------------------------
Ekleme: İnternette bunun Windows'ta nasıl yapılacağını söyleyen bir sürü kaynak var ama ben Linux'ta 'windows.h' kütüphanesini kullanmadan nasıl yapılacağını öğrenmek istiyorum

Çevrimdışı Quaoar

  • Çaylak Penguen
  • **
  • İleti: 149
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #24 : 17 Ağustos 2014, 16:40:25 »
Ben bunu araştırmıştım. Linuxda konsol altında "ncurses" kütüphanesini kullanabilirsin. Ya da Windows altında "conio.h" kütüphanesi.

Çevrimdışı dev@mehmet

  • Çaylak Penguen
  • **
  • İleti: 189
  • Dağıtım: Linux Mint 19
  • Masaüstü Ortamı: Cinnamon
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #25 : 17 Ağustos 2014, 18:46:23 »
Kardeş ben ipucu istedim sen bana ipin tamamını verdin. :) :)
Çok sağol.

Çevrimdışı Quaoar

  • Çaylak Penguen
  • **
  • İleti: 149
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #26 : 17 Ağustos 2014, 18:54:12 »
Rica ederim :)

Çevrimdışı Toor

  • Yeni Penguen
  • *
  • İleti: 64
  • Dağıtım: Debian Stretch 9.0
  • Masaüstü Ortamı: LXDE
  • Grafik Kartı: Intel HD Graphics
  • İşlemci: Intel Pentium P6100 2.0GHZ
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #27 : 11 Kasım 2014, 19:37:26 »
GTK kütüphanesi kullanarak yaptığım 2 adet sayıyı toplayan arayüz destekli program : http://aliihsanuyar.net/kaynak/gtkcpptoplama.rar

SDL kütüphanesinde nesne oluşturmak ve klavye tuşları aracılığıyla o nesneyi hareket ettirmek.

Kod: [Seç]
/*
Toor
*/
#include <SDL/SDL.h>

int main(int argc, char** argv)
{

SDL_Init(SDL_INIT_EVERYTHING);
SDL_Surface *window;

window=SDL_SetVideoMode(600,360,32,SDL_SWSURFACE);
bool activating=true;
bool key[4] = {0,0,0,0};
const int FPS = 30;
        Uint32 start;
SDL_Rect snake;
snake.x=10;
snake.y=10;
snake.w=60;
snake.h=10;
Uint32 snkcolor = SDL_MapRGB(window->format,0xff,0xff,0xff);
Uint32 backcolor = SDL_MapRGB(window->format,0x00,0x00,0x00);
while(activating)
{
start = SDL_GetTicks();
SDL_Event signal;
while(SDL_PollEvent(&signal))
{
switch(signal.type)
{
case SDL_QUIT:
activating=false;
break;

case SDL_KEYDOWN:
                                        switch(signal.key.keysym.sym) {
                                                case SDLK_UP:
                                                        key[0] = 1;
                                                        break;
                                                case SDLK_LEFT:
                                                        key[1] = 1;
                                                        break;
                                                case SDLK_DOWN:
                                                        key[2] = 1;
                                                        break;
                                                case SDLK_RIGHT:
                                                        key[3] = 1;
                                                        break;
                                       
                                        }
                                        break;
                                case SDL_KEYUP:
                                        switch(signal.key.keysym.sym) {
                                                case SDLK_UP:
                                                        key[0] = 0;
                                                        break;
                                                case SDLK_LEFT:
                                                        key[1] = 0;
                                                        break;
                                                case SDLK_DOWN:
                                                        key[2] = 0;
                                                        break;
                                                case SDLK_RIGHT:
                                                        key[3] = 0;
                                                        break;
                           }break;
}}

if(key[0])
{
                        snake.y--;
}
                if(key[1])
{
                        snake.x--;
}
                if(key[2])
{
                        snake.y++;
}
                if(key[3])
{
                        snake.x++;
}

SDL_FillRect(window,&window->clip_rect,backcolor);
SDL_FillRect(window, &snake, snkcolor);
SDL_Flip(window);
if(1000/FPS > SDL_GetTicks()-start) {
                        SDL_Delay(1000/FPS-(SDL_GetTicks()-start));
                }
}

SDL_Quit();
return 0;
}

Çevrimdışı oksygen

  • Yeni Penguen
  • *
  • İleti: 52
  • Dağıtım: Xubuntu
Ynt: C++ Örnek Kod Paylaşımı
« Yanıtla #28 : 22 Aralık 2014, 03:37:53 »
Hocam sana tavsiyem bir proje seç,ve projeyi yapmak için uğraş o sayede çok iyi şeyler öğreneceksin.
Matematik hesapları,eğer matematiksel program yazmayacaksan bir işine yaramaz.
Mesela linux terminaline tam erişim sağlamayı deneyebilirsin,program kurma,paketlere erişme,linux terminaline resim çizdirme vs,neden olsa bu C++,sınırı yok bunun