if VS switch

Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.
LmandrakeL
28-02-2004, 15:23   |  #1  
OP Üye
Teşekkür Sayısı: 0
78 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

Eğer C ile Program Yazıyorsanız Ve Ardarda Şartlı Cümleler kuruyorsanız Switch if ' e göre daha hızlı çalışır ...

  Peki Sizde Araştırın bakalım Sizce Hangisi Hızlı !

Son Düzenleme: LmandrakeL ~ 02 Mart 2004 10:07
small_ticket
02-03-2004, 23:20   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
167 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

switch yazilis olarak daha kisa zaman aliyo
ama benim switchle ilgili bir problemimim var
benim yazd11m code da switch in caselerini görmüyo mesela r diye bi  case var r deerini girdiin zaman o bloa deilde direk defaultta gidiyor nerede yanlis  yapmis olabilirim?

hasanyasin
03-03-2004, 01:07   |  #3  
Yıllanmış Üye
Teşekkür Sayısı: 0
1,100 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

Bu örneğe dikkat et segili small_ticket. Acaba "bereak"leri yanlış yere koymuş [ya da koymamış] olmayasın..! ABD'de, milyonlarca telefon devre dışı kalmıştı ve nedeni, bir tanecik "break"in yanlış yere koyulmasıydı..! Gülümseme

uyeno, 1-4 arası bir değer alabilir. Bu değerler arasında değilse eğer, "Üye değil..." mesajı verilir. 1 ve 2 olduğu durumda, "Üye <üyeno>." şeklinde bir çıktı verir. Eğer 3 veya 4'ten herhangi biri ise, aynı şey çalışır. Burada farklı iki değer için nasıl aynı bloğun çalıştığını da görebiliyoruz böylece...

switch(uyeno) {
  case 1:
    cout << "Üye 1.";
    break;
  case 2:
    cout << "Üye 2";
    break;
  case 3:
  case 4:
    cout << "Üye 3 veya 4";
    break;
  default:
    cout << "*Üye değil...";
    break;
}

small_ticket
03-03-2004, 01:47   |  #4  
Yıllanmış Üye
Teşekkür Sayısı: 0
167 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

        switch (choice)
        {
                case 'r':
                printf("enter the right sides:");
                scanf("%f%f",&a,&b);
                c=(a*b)/2;
                printf("The area of the triangle is:%d\n",c);
                d=sqrt((a*a)+(b*b));
                printf("The hypotenuse side is:%d\n",d);
        break;

                case 'o':
            printf("Enter height and base side:");
                scanf("%f%f",&a,&b);
                c=(a*b)/2;
                printf("the area of the triangle is:%d",c);
                break;

                case 'e':
                        printf("goodbye!!");
                        break;
               
                default:
                        printf("enter r,o or o\n");
                        break;

               
        }
iste switch kismi burasi ve dediim gibi direk default a geçiyo eger gözden kaçirmadiysam breakler yerinde gibime geliyo???

hasanyasin
03-03-2004, 02:43   |  #5  
Yıllanmış Üye
Teşekkür Sayısı: 0
1,100 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

Bu kısımda sorun yok. Ben derledim çalıştırdım, misler gibi çalışıyor. Gülümseme

Acaba burada kullandığın değişken tanımlamalarında hata yapmış olabilir misin? "choice" char olmalı...

Bir de hatan var aslında; programın işleyişini bilgisayar için engellemez; fakat kullanıcıya biraz tuhaf gelebilir: "enter r,o or o" diyorsun; lakin o veya o değil, o veya e olacak. Gülümseme

Son Düzenleme: hasanyasin ~ 03 Mart 2004 02:46
small_ticket
03-03-2004, 07:28   |  #6  
Yıllanmış Üye
Teşekkür Sayısı: 0
167 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

efet choice i char yapmayi unutmusum ama simdide bende yanlis sonuçlar buluyor? kusura bakmayin çok sordum galiba???
hasanyasin tesekkurler bu arada sana artik o veya e oldu Kahkaha

hasanyasin
03-03-2004, 12:10   |  #7  
Yıllanmış Üye
Teşekkür Sayısı: 0
1,100 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

Gene veri tipleriyle ilgili bir sorunun var dostum. Gülümseme printf'ler içinde tam sayı çıktı veriyorsun. Halbuki scanf'lerde kayan noktalı [float] sayı alıyorsun. Biraz daha dikkatli olmak lazım...

small_ticket
03-03-2004, 19:49   |  #8  
Yıllanmış Üye
Teşekkür Sayısı: 0
167 mesaj
Kayıt Tarihi:Kayıt: Şub 2004

[:I]
efet haklisin hasan yasin simdi becerdim Kahkaha
çok saolasin

hasanyasin
03-03-2004, 22:29   |  #9  
Yıllanmış Üye
Teşekkür Sayısı: 0
1,100 mesaj
Kayıt Tarihi:Kayıt: Oca 2004

Ne güzel, böyle adım adım ilerliyorsun. Yakında ben C biliyorum diyebileceksin. Elinde yeni bir mesleğin daha olacak. Hele de bu işe gönül verir, azmedersen, ciddi ciddi iyi bir işin olacak... Keşke herkes böyle çalışkan olsa. Gülümseme