Merhaba, hoş geldiniz. Bu videoda, enum türlerini
kullanma alıştırmamızın çözümünü göstermek istiyorum.
O yüzden devam edeceğim. Bu çözümü hatırlıyorsunuz.
Temel olarak, şirket adında bir enum oluşturursunuz, bunun için bazı değerler
tanımlarsınız ve bunları yazdırırsınız. Bu yüzden kod bloklarını çalıştıracağım.
Yeni bir proje oluşturacağım. Bu projeye enum örneği adını vereceğim
çünkü bu proje için iyi bir isim. Yeni, yeni proje diye dosyaya
girecek.
Şimdiye kadar konsol uygulaması c'yi seçerek bu konuda oldukça iyi hale gelmiş olmalıyız.
Bu enum örneğini adlandıracağız ve her şeyi her
zamanki yerimize koyacağız.
Sıradakine vurup bitireceğim.
Ve bu bizim ana merkezimizi oluşturacak. c dosyası, ki bu iyi bir şey. Başlayalım, sadece
bazı verileri silelim.
Yine, yazar ve kaynak için en üste yorumlar ekleyebiliriz.
Bunu iyi uygulama için yapmalıyız.
Gösterim amacıyla ve sadece verimlilik için bunu
boş bırakacağım. Ancak kaynak kodunuz boyunca yorumlar eklemelisiniz.
Bu görevin gereklilikleri temel olarak
şirket adında bir enum oluşturmaktı.
Ve
sonra şirket sadece Google, Facebook, Xerox, Yahoo eBay ve Microsoft gibi
geçerli değerlere sahip olabilir ve
sonra üç değişken oluşturup bunlara bazı değerler atayabilir ve sonra bu
değerleri yazdırabilir.
Dolayısıyla, bir enum türü oluşturmak istiyorsak, enum anahtar sözcüğünü kullanmamız gerekir.
Bu yüzden enum diyoruz.
Ve sonra enum'un adını belirtmek istiyoruz. Bu durumda, ona şirket adını vereceğiz.
Ve bu enum türünün geçerli değerlerini belirtmek için, klavyede
noktalı virgülün hemen üzerinde bulunan dalgalı parantezi kullanmalıyız ve
sonra sadece isimlerimizi yazabiliriz.
Burada, Google diyeceğim, her şeyi büyük harflerle yazacağım
çünkü görmesi daha kolay. Facebook ikincimiz olacak.
Xerox, üçüncümüz.
Yahoo, dördüncümüz.
eBay ve ardından Microsoft.
İşte bu kadar. Bu şekilde company adında yeni bir enum türü oluşturabilirsiniz.
Ve bunlar bu enum için uygulanabilecek tek değerlerdir.
Dolayısıyla, bu türde oluşturduğunuz değişkenler başka değerler içeremez.
Bu yüzden enumların ilk kısmı onları tanımlamak, ne olduklarını tanımlamak ve sonra onları
kullanmaktır.
6. satırda bunu tanımlıyoruz. Şirketin sadece Google, Facebook, Xerox,
Yahoo, eBay ve Microsoft değerlerine sahip olabileceğini söylüyoruz.
Ödevin bir sonraki kısmı bazı değişkenler oluşturmaktı.
İçinde Xerox, Google ve eBay değerleri bulunan üç değişken.
Şirket türünde bir enum değişkeni oluşturmak için enum demeniz yeterlidir.
Şirket olan türün adı ve ardından değişkenin adı.
Burada sadece Xerox adını verelim diyebiliriz.
Ve bu bildirimi aynı satırda başlatacağız, yani
equals operatörünü kullanacağız ve bunun Xerox'a
eşit olduğunu söyleyeceğiz.
Unutmayın, şirket adına herhangi bir değer atanamaz.
Eğer bunu yapıp derleyecek olursam, iyi bir şekilde derlenecektir çünkü
bu değişkeni gerçekten
atayabiliyoruz. Ancak ismim gibi başka bir şeyi imzalamayı
deneseydim, bu geçerli olmadığı
için derleyici hatası alırdınız.
Buradaki derleme mesajım, enum şirketi türünü bir karakterle
başlatırken uyumsuz türler diyor.
Yani bir hata var ve bunu çalıştıramayacağım.
Yani derleyici aslında sizi enum'a ne atayabileceğiniz konusunda korur.
Bu yüzden yine Xerox diyeceğiz.
Bunu çift tırnak içine almamıza gerek yok.
Hiçbir şey yapmamıza gerek yok çünkü bu gerçek bir değer.
Birkaç tane daha yaratmak istiyoruz. Biri Google, diğeri eBay için.
Bu yüzden burada Google şirketi diyeceğim.
Büyük harflerle GOOGLE yazacağım.
Yaratacağım üçüncünün adı ise ebay.
Tümü küçük harf olan değişken adıdır.
Bu değişkenin değeri enum değeri eBay olacaktır.
Ve verdiğim tüm gerçek örneklerde bu kodu yazarken
ne yapmanız gerektiğini. Küçük parçalar halinde yazmalısınız.
Birkaç satır derleme testi yazın.
Çok fazla kod yazmayın ve çalıştırmayın. Ve burada gösterdiğim örneklerden
bazılarını, verimlilik adına en sonda derliyorum.
Ancak yeni bir geliştirici ve yeni bir programcı olarak,
birkaç satır kod yazdıktan ve test ettikten sonra derliyor olmanız gerekir.
Yani 6. satırda enum tipimi oluşturduktan sonra bunu derlemeli ve test etmeliyim.
Test edebileceğiniz pek bir şey yok ama en azından derleyebilirsiniz.
8, 9 ve 10. satırları derlemeli ve çalıştırmalıyım.
Şimdi enum'ları oluşturduktan sonra, değerlerini
yazdırabiliriz. printf fonksiyonunu kullanarak değerleri nasıl yazdıracağımızı
biliyoruz. printf için çift tırnak içindeki her şey çıktı olarak görüntülenecektir.
Bu yüzden Xerox'un değerinin şu olduğunu söyleyeceğim, oraya iki nokta üst üste
koyacağım, bir format belirtici kullanmam gerekiyor.
Enum'ların kaputun altında gerçek tamsayılar olduğunu unutmayın.
Yani burada bir yüzde d yapabiliriz.
Sonra da eşleme için virgül kullanırız.
Yani virgülden sonra değişken adı gelecektir.
Burada aslında Xerox olan değişken adını sağlamamız gerekir.
Sonra aynı şeyi diğerleri için de yapmak istiyoruz.
Şimdi burada 12. satırda unuttuğum şey, formatın kolayca okunabildiğinden emin olmak istiyoruz, bu yüzden
yeni bir satır eklemek istiyorum. Bu yüzden ters eğik çizgi n diyeceğim.
Bu bir kaçış dizisidir, printf tarafından yorumlanan özel karakterdir.
Biz de bir printf yapacağız ve Google'ın değerinin şu olduğunu söyleyeceğiz.
Yüzde d ters eğik çizgi n diyeceğiz ve burada google
değişkeninin değerini
yazdıracağız, bu değerin tamamı küçük google
harfidir.
Ve son olarak, eBay'in değerini yazdıracağız.
Ve bu da satır beslemeli bir tamsayı yüzde d olacak.
İhtiyacım olmasa bile çünkü bundan sonra hiçbir şey yok. Bu iyi bir uygulamadır, argüman için virgül
kullanırız ve sonra eBay değişkeni deriz.
Ve tüm bu ifadeleri noktalı virgülle bitiriyoruz. İşte bu kadar.
Şimdi derlemeli ve çalıştırmalıyız.
Ve burada beklenen çıktı, listedeki bu değerlerin
sırasına göre temsil edilen tam sayılar olacaktır.
Listenin 6. satırda tanımlandığını fark etmişsinizdir.
Liste Google, Facebook, Xerox, Yahoo, eBay ve Microsoft'tan oluşuyor.
In c derleyicisinde bunlar tamsayı olarak gösterilir.
Yani Google 0. Facebook 1. Xerox 2.
Yani burada çıktı olarak görmem gereken şey,
2 0 ve ardından 4 olan eBay çıktısını görmeliyim.
Bakalım eşleşecek mi? Devam edelim ve inşa edelim.
Uyarı yok, hata yok. Devam edelim ve çalıştıralım.
Gördüğüm kadarıyla Xerox'un değeri 2.
Google'ın değeri 0'dır. Ve eBay'in değeri 4, bu yüzden doğru görünüyor,
oldukça temiz.
Şimdi bazı derslerden hatırlayın, aslında tamsayıların değerini değiştirebilirsiniz.
Enumu tanımladığınızda, bir atama gönderirsiniz.
Yani aslında sıralamayı değiştirmek isteseydim,
Yahoo eşittir 10 diyebilirdim ve bu da eBay'in
11 ve Microsoft'un 12 olması anlamına gelirdi.
O zaman devam edelim ve kaydedelim. Şimdi Xerox çıktısı hala
2'ye eşit olacaktır.
Google 0 olacak ama eBay 11 olacak.
Tekrar çalıştırdığımızda 2 0 11 değerini görmemiz gerekir.
Böylece, herhangi bir nedenle isterseniz bu tamsayı değerlerini değiştirebilirsiniz.
Aksi takdirde, listede tanımlandıkları sıra geçerli olacaktır.
Ve yine, bununla oynayabiliriz.
Aslında Xerox'un Google'a eşit olup olmadığını görmek
için başka değişkenler de yaratabiliriz.
Enumlar gerçekten harika ve muhtemelen onları oldukça sık kullanacaksınız.
Bir değişken için neyin geçerli olduğunu kısıtlayabilirler,
bu da bir tür doğrulama sağladığı için güzeldir.
Kullanımı gerçekten çok
kolay ve okuması da çok kolay. Kodunuzu daha okunabilir hale getirir.
Şimdi bir Xerox değişkenimiz var ve gerçek değer Xerox.
Böylece aslında başka koşullu ifadeler ve şeyler sağlayabiliriz ve bu da kodun okunmasını kolaylaştırır.
Bu, enumları anlamanıza yardımcı olacak küçük bir alıştırmaydı.
Temel olarak, bir enum türünün nasıl tanımlanacağı ve daha sonra bu türün nasıl kullanılacağı.
Ayrıca printf konusunu tekrar ele aldık. Baskı formatı belirleyicilerini ele aldık.
Kaçış sekanslarını ve oldukça iyi bir örneği ele
aldık.
Bu örneği zip dosyası olarak sunacağım, böylece indirebilirsiniz. Teşekkür ederim.