DonanımHaber'de AraYENİ GELİŞMİŞ ARAMA
ForumBu Bölümde Ara
C/C++ da fonksiyon ve diziler örnekleri
5
Cevap
0
Favori
10.248
Tıklama
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Delphi / C++ /Vb >> C/C++ da fonksiyon ve diziler örnekleri
Sayfaya Git:
Sayfa: 1
Giriş
Mesaj
    • Yüzbaşı
      326 Mesaj
      11 Ocak 2011 14:15:59
      Arkadaşlar yarın programlama sınavım var. Elinizde faydalı olabileceğinizi düşündüğünüz fonksiyonlar ve dizilerle ilgili örnekler varsa paylaşırsanız memnun olurum. Yada site de önerebilirsiniz. Şimdiden teşekkürler...


      _____________________________



      MSI GE620DX-800TR
      CPU: Intel Core i7-2670QM || RAM: 8GB DDR3-1333MHz || HDD: 750GB 7200 RPM
      GPU: 2GB nVidia GeForce GT635M GDDR3 || Display: 15,6" Full HD LED Backlight
      Audio: THX Studio PRO & 4Hoparlör Premium Sound Technology
    • Er
      7 Mesaj
      11 Ocak 2011 14:55:15
      Benimde yarın programlama sınavım var.Ben Dilim Döndüğünce anlatmaya çalışayım kendi yazdıklarımı....satır satırda anlatmaya çalışayım..


      #include <stdio.h>

      int topla(int, int); /////--- Burada aşağıda yazdığımız Fonksiyonu Programa tanıtıyoruz..Derleyici satır satır kodladığı için tanıtmazsak hata verir..
      //////////////////----ve yazrken int topla yazıyor başta Oradaki int Yzılan fonksiyonun bir integer değer ürettiği anlamına gelir.. parantez içindeki (int ,int) ise
      /////////////----(int,int) Bize bu fonksiyonu kullanırken benden 2 tane Integer değer isticek anlamaına geliyor...(Fonksiyonu tanıtırken yazıcam gene)

      int main()
      {
      int toplam,a,b;

      printf("Iki sayi giriniz...: ");
      scanf("%d %d",&a,&b);


      toplam = topla(a,b); /////Burada ise main fonksiyonda tanıttığımız toplam adlı değişkene Fonksiyonda üretilecek sonuç değerini veriyoruz//


      printf("%d ve %d nin toplami %d dir.\n", a,b,toplam);

      return 0;
      }




      int topla( int x, int y )///Burada int x,int y kafanı karıştırmasın yani burdada biz X veY gibi değişken atamak zorunda değiliz yukardada gördüğün gibi
      { ////////biz topla(a,b) yaptık..topla(int x,int y) ile biz dışarıdan integer türünde 2 değişken gireceğiz haberin olsun diyoruz a,b,c,d x,y önemli değil
      int sonuc; //////önemli olan dışardan atanan 2 değişkeninde intger olması...bu 1. nokta
      sonuc = x + y; //////2. nokta ise " int topla "derken buradaki int ise Fonksiyon sonunnda oluşturaln değer bir int değeridir demek oluyor..
      return sonuc;
      }

      -----------------------
      ---Eğer kullanılan Fonkda bir değer üretilecekse Mutlaka return değeri kullanılmaılıdır..bu return i ister yukardaki gibi kullanırsın istersen o fonksiyonu

      int topla( int x, int y )
      {
      return x+y;
      }

      ---şeklinde bana göre çok daha klas şekilde yzabilirsin.Ben return ü şu şekilde düşünyorum göndermek istedğin sonuc veya fonksiyon çıktısı ne olsun anlamında...
      ---Bazı fonksiyonlarda ise işlem yapılmaz yani sen bi değer üretmek istemiorsundur misal if kullanırsın eğer şöyleyse şunu yapsın şöyleseyle şunu göstersin gibi
      amacın değer oluşturmaktan cok oluş bildirmek ise return değeri kullanmıyoruz..onuda void Fonksiyon_ismi () şekliden kullanabilirsin
      hatta bu void fonksiyonunda dışardan bi değer girdirebilirsin void Fonksiyon_ismi (int x) gibi kullanabilirsin bu şekilde demek istiyorsunki ben dışardan int türünde bir değer gireceğim bu değer ile sonuç üretmekten ziyade bir durumdan haber versin gibi..
      ---Misal olarak küçükbir fonk tanıtayım
      void Hagi (int x)
      {
      if(x==3)
      printf("x eşittir 3e");
      else if(x==4)
      printf(x eşittir 4e");
      else
      printf("x eşit değildir hem 3 hem 4e");
      }
      --bunuda bir main fonk içine bir sayı girilmesini istersin scanf("%d",&T); gibi fonksiyonuda Hagi(T); şeklinde yazıp girilen T değerinin fonksiyonda kullandığın
      işlemlere göre bir durum belirtir.Fantazi tamamen sana ait istedğin giib kullanabilirsin..
      --İnş Anlatabilmişimdir bende yeniyim ..Aklına takılan soru olursa yazarsın dilim döndğünce anlatmaya çalışırım..Bunları şuan kafamdan uydurdum


      _____________________________

      ...LosZereaKus...
    • Yüzbaşı
      326 Mesaj
      11 Ocak 2011 15:30:32
      teşekkürler yazdıklarınızı sonuna kadar okudum. bu işin mantığını kavratmada güzel bir örnek ama ben biraz daha ileri seviyede örnekler istiyorum. ve ne kadar çok örnek bulabilirsem benim için o kadar iyi olur. çünkü bir örnekten anlamadığımı diğerlerine bakarak anlayabiliyorum. bende şöyle bir örnek paylaşayım.

      1. örnek Barbut oyununun fonksiyon kullanılmadan yazılımı. 2. örnek ise fonksiyonlar yardımı ile yazılımı :
      #include <iostream> 
      #include <stdlib.h>
      #include <time.h>

      using namespace std;

      enum status_e { GAME_CONTINUES,PLAYER_WINS,PLAYER_LOSES }; //1
      typedef enum status_e; //2

      int main(void)
      {
      int die1,die2,sum,point,a;
      status_e game_status = GAME_CONTINUES; //enum'a başlangıc degeri ver,enum değeri GAME_CONTINUES olduğu sürece oyun aşağıdaki while döngüsü devam eder.

      srand(time(NULL));
      die1 = 1+rand() %6; //rastegele 1-6 arası tam sayı üret
      die2 = 1+rand() %6; //rastegele 1-6 arası tam sayı üret
      sum = die1 + die2; //üretilen iki sayıyı topla
      cout <<"Zarlar:" << die1<< "+" << die2 <<"="<<sum<<endl; //toplanan iki sayıyı ekranda göster
      switch (sum)// sum degerini kontrol et
      {
      case 7:
      case 11: game_status=PLAYER_WINS;break ; //eger sum değeri 11 ise game_status değerini PLAYER_WINS olarak ayarla sonraki kısımda while döngüsünde bu degerlere göre işlem yapacağız
      case 2:
      case 3:
      case 12: game_status=PLAYER_LOSES;break;
      default: game_status=GAME_CONTINUES;
      point=sum;
      cout << "Sayi:"<<point<<endl;
      break;
      }
      while (game_status == GAME_CONTINUES) { //döngü başlangıcı
      die1=1+rand() %6;
      die2=1+rand() %6;
      sum=die1+die2;
      cout <<"Zarlar:" << die1<< "+" << die2 <<"="<<sum<<endl;
      if(sum==point) //daha önce atılan zar toplam sayısı,eğer tekrar atılan zarlar öncekine eşit ise oyuncu kazanır
      game_status=PLAYER_WINS;
      else {
      if (sum==7) //eger atılan zar sayı toplamı 7 ise oyuncu kaybeder
      game_status=PLAYER_LOSES;
      }
      }
      if(game_status==PLAYER_WINS)
      cout<<"Oyuncu kazanir."<<endl;
      else
      cout<<"Oyuncu kaybeder."<<endl;
      cin>>a;

      system("pause");

      return EXIT_SUCCESS;
      }


      #include <stdio.h> 
      #include <stdlib.h>
      #include <time.h>

      int zarAtma(void); //main fonksiyonundan önce oluşturmak istediğimiz fonksiyonu belirtiriz

      int main()
      {
      int oyunDurumu, toplam, oyuncuPuani;

      srand(time(NULL));
      toplam=zarAtma(); //zarın ilk atılışı---zarAtma fonksiyonunu çağırma*

      switch(toplam){
      case 7: case 11: //ilk atışta kazanma
      oyunDurumu=1;
      break;
      case 2: case 3: case 12: //ilk atışta kaybetme
      oyunDurumu=2;
      break;
      default: //hatırlatma noktası
      oyunDurumu=0;
      oyuncuPuani=toplam;
      printf("Oyuncunun kazanacagi zar: %d\n", oyuncuPuani);
      break;
      }

      while (oyunDurumu==0){ //zar atmaya devam et
      toplam=zarAtma();

      if(toplam==oyuncuPuani) //kazanılacak zarı atma
      oyunDurumu=1;
      else
      if (toplam==7) //7 atma ile kaybetme
      oyunDurumu=2;

      }

      if (oyunDurumu==1)
      printf("Oyuncu Kazanir \n");
      else
      printf("Oyuncu Kaybeder \n");

      return 0;
      }

      int zarAtma(void)
      {
      int zar1, zar2,toplamZar;
      zar1=1+(rand() %6);
      zar2=1+(rand() %6);
      toplamZar=zar1 + zar2;
      printf("%d ve %d zarlarini attiniz. Toplamlari : %d \n", zar1, zar2, toplamZar);
      return toplamZar;
      }





      _____________________________



      MSI GE620DX-800TR
      CPU: Intel Core i7-2670QM || RAM: 8GB DDR3-1333MHz || HDD: 750GB 7200 RPM
      GPU: 2GB nVidia GeForce GT635M GDDR3 || Display: 15,6" Full HD LED Backlight
      Audio: THX Studio PRO & 4Hoparlör Premium Sound Technology
    • Er
      7 Mesaj
      11 Ocak 2011 16:39:04
      http://www1.gantep.edu....ingul/c/index.php?ders=9
      C de fonksiyonlar ve diziler konusunu görebilirsn orada da örnekler var
      Yararlı olabileceğini düşünüyorum..iyi Akşamlar


      _____________________________

      ...LosZereaKus...
    • Yüzbaşı
      326 Mesaj
      11 Ocak 2011 16:54:37

      quote:

      Orijinalden alıntı: LosZereaKus

      http://www1.gantep.edu....ingul/c/index.php?ders=9
      C de fonksiyonlar ve diziler konusunu görebilirsn orada da örnekler var
      Yararlı olabileceğini düşünüyorum..iyi Akşamlar


      teşekkürler


      _____________________________



      MSI GE620DX-800TR
      CPU: Intel Core i7-2670QM || RAM: 8GB DDR3-1333MHz || HDD: 750GB 7200 RPM
      GPU: 2GB nVidia GeForce GT635M GDDR3 || Display: 15,6" Full HD LED Backlight
      Audio: THX Studio PRO & 4Hoparlör Premium Sound Technology
Sayfa: [1]
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Delphi / C++ /Vb >> C/C++ da fonksiyon ve diziler örnekleri
Sayfaya Git:
Sayfa:
1
Facebook Sayfamız
Foruma Git
Bölümde Ara
Reklamlar
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.