Ders 1

of 66

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
PDF
66 pages
0 downs
4 views
Share
Description
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü. C ++. Ders 1. C++ ve Nesne Yönelimli Programlamaya Giriş.
Transcript
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C++Ders 1C++ ve Nesne Yönelimli Programlamaya GirişBilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü İyi Bir Programın ÖzellikleriC++
  • Doğruluk (Correctness); verilen görevin tam olarak yerine gerilmesidir. Bir yazılımı yazmaya başlamadan önce yazılımdan beklenenlerin belirtilmesi gerekir.Yazılım ortaya çıktıktan sonra bu belirlenen özellikler tam olarak sağlanmalıdır.
  • Güvenilirlik (Robustness); beklenmedik nedenlerden dolayı programın çalışması kesilmemeli, yanlış işlemler yapmamalıdır. Program iyi yönde bile olsa kendinden beklenmeyen işlemler yapmamalıdır. Programcı hataları yüzünden kesintiye uğramaması için önlem almalıdır.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü İyi Bir Programın Özellikleri - IIC++
  • Genişleyebilme (Extendibility); ileri aşamalarda verilen görevlerin değiştirilmesi veya yenilerinin ilave edilmesi kolay olmalıdır. Bunun için basit tasarımlar yaparak karmaşık tasarımlardan uzak durmak gerekir.
  • Tekrar kullanım (Reusability); yapılan tasarım şeklinin yazılan programın veya hiç olmassa modüllerin başka programlar içinde kullanılabilmesidir. Örneğin, bir konuda bir proje içinde kullanılan elamanların/veya modüllerin yeni bir projede tekrar kullanılabilmesi gerekir.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü İyi Bir Programın Özellikleri - IIIC++
  • Uygunluk (Compatibility); farklı bilgisayar sistemlerinde aynı ortak özelliklere sahip olunması. Bunun için çeşitli standartların kabul edilip uygulanması gerekir: örnek olarak,
  • - veri dosyası formatının uygunluğu - veri yapılarının uyumluluğu - menu, diyalog, resim, tuş gibi kullanıcı ara yüzünün (user interface) uyumluluğu
  • Kaynakların kullanımı (Efficiency); bilgisayarın sahip olduğu ve ulaşabildiği tüm ekipmanları en iyi şekilde kullanmak. Eksik kullanmamak, kullanmadığı halde diğer programlara kullandırmamazlık etmemek.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü İyi Bir Programın Özellikleri - IVC++
  • Taşınabilirlik (Portability); çoğu zaman bir yazılım ürünün geliştirildiği bilgisayar ortamından farklı bilgisayar ortamına taşınarak çalıştırılması gerekir. Bu iki şekilde olabilir:
  • - Kaynak uyumlu (Source Compatable); yazılan programın yazıldığı bilgisayar sisteminden farklı bir sistemde tekrar derlenerek çalıştırılabilmesi. - İkili kod uyumlu (Binary Compatable); programın yazıldığı ortamda derlenip, icra edilebilir dosyası (executable file) elde edildikten sonra farklı bir ortama taşınarak çalıştırılması. Yazılım geliştirilmesi acısından asıl üzerinde durulması gereken kaynak kodun taşınabilirliğidir. Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü İyi Bir Programın Özellikleri - VC++
  • Kontrol edilebilirlik (Verifiability); bir yazılımın hatalı durumlar ile karşılaşması halinde programın devam etmesine engel olan ve hatta programı çalıştırmayan hatalar ortaya çıktığında kullanıcıya ve programcıya hatanın ne olduğu konusunda yeterli bilginin verilebilmesidir.
  • Bütünlük (Integrity); istenmeyen erişimler ve değiştirmeler karşısında program, veri, dokümantasyon gibi yazılım birleşenlerinin korunması. Bir programcının veri veya index dosyalarının programın bilgisi dışında kaybolması programın çalıştığında bunu anlayıp rapor etmesi buna örnek olarak verilebilir.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü İyi Bir Programın Özellikleri - VIC++
  • Kolay kullananım (Easy use); yazılım ürününü kullanan kişinin ürünü kolayca öğrenmesi, sorunsuz kullanabilmesi, sonuçlarını yorumlayabilmesi, hatalarını düzelterek işlerini fazla zahmete girmeden yapabilmesidir.
  • Beraber çalışma (Interoperability); bir yazılım ürünün ihtiyaç duyduğu bir diğer yazılımı çağırabilmesi veya diğer bir yazılım tarafından çağrılabilmesi özelliğidir.
  • Bu durumda iki program ard arda çalışma dışında bir birleri ile veri alışverişinde bulunabilmelidirler. Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Programlama DilleriC++
  • Makine Dili:
  • Tüm komutlar sayılar şeklindedir.+1300042774 +1400593419 +1200274027
  • Assembler:
  • Temel bilgisayar işlemleri kısaltmalarla ifade edilir.LOAD BASEPAY ADD OVERPAY STORE GROSSPAY
  • Yüksek Seviyeli Diller:
  • Komutlar konuşma dili gibidir. Genel matematik notasyonu kullanılır.grossPay = basePay + overTimePayBilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C++’ nin TarihçesiC++
  • C++, C’den geliştirilmiştir.
  • ANSI C, C için dünyaca kabul edilen bir standarttır.
  • C++, C’ ye ‘Nesneye Yönelik Programlama (OOP)’ yetenekleri kazandırmıştır. Bu ise daha kolay anlaşılabilir ve düzeltilebilir bir program yazabilmeyi kolaylaştırır !
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C++’ nin TarihçesiC++Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C++’ın yapısıC++
  • C++ programları, class (sınıf) ve function (fonksiyon) denilen parçalardan oluşturulur.
  • C++ Standart Kütüphanesi, tüm programcıların kullanabileceği zengin bir sınıf (class) ve fonksiyon (function) kolleksiyonu sunar.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü CompilerHafızaLoaderHafızaPreprocessorLinkerEditorDiskDiskDiskDiskDiskCPU............Bir Programın Aşamaları:C++
  • Yazım
  • Önişleme
  • Derleme
  • Bağlama
  • Yükleme
  • Çalıştırma
  • 3 g++ -c test.cpp4 g++ -o test test.o -lm6 ./testBilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C++ Programlamaya GirişC++
  • C ve C++ platformlar arasında taşınabilir kodlar üretir.
  • C++, nesne yönelimli programlama yeteneklerinin yanısıra yapısal ve disiplinli programlamaya olanak veren özellikler sağlar.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü 1 // Fig. 1.2: fig01_02.cpp 2 // A first program in C++ 3 #include <iostream> 4 5 int main() 6 { 7 std::cout << "Welcome to C++!\n"; 8 9 return 0; // indicate that program ended successfully 10 }Bir C++ ProgramıC++Yorum SatırlarıÖnişlemci komutuFonksiyon deklarasyonu (özel main fonksiyonu)Fonksiyon { ile başlar, } ile biterKomutlar. Karekter dizisinin “ ” içine yazıldığına dikkat ediniz.return ile fonksiyondan çıkılır.Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü İlk Programımız:Bir yazı yazdırmak!C++
  • std::cout
  • -standart ‘output stream’ nesnesidir, -ekrana çıktı verir. -std:: ‘namespace’ in adını gösterir, ‘using’ kullanılırsa yazılması gerekmez.
  • <<
  • -stream ekleme operatörüdür. -sağındaki değeri ‘output stream’e gönderir. -std::cout << “Welcome to C++!\n”;Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Escape İfadesiAçıklama\nYeni satır açar.İmleci yeni satırın başına taşır..\tYatay tab. İmleçi bir sonraki tab noktasına taşır.\rCarriage return. İmleci satırın başlangıcına taşır.Ama yeni bir satır açmaz.\a‘Beep’ sesini çıkarır.\\Backslash karakterini yazdırmak için kullanılır.\"Çift Tırnak yazdırmak için kullanılır.İlk Programımız:Bir yazı yazdırmak!C++
  • \ ‘escape’ karakteri özel karakterleri yazdırmak için kullanılır:
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü 1 // Fig. 1.5: fig01_05.cpp 2 // Printing multiple lines with a single statement 3 #include <iostream> 4 5 int main() 6 { 7 std::cout << "Welcome\nto\n\nC++!\n"; 8 9 return 0; // indicate that program ended successfully 10 }İlk Programımız:Bir yazı yazdırmak!C++Bu ifade tek bir satır olmasına rağmen birden çok satır üretirWelcometoC++!Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Standard AritmetikC++ ‘dekiÖrnekİfadeninEşitlik ve KarşılaştırmakarşılığıC++ ifadesiC++ ‘deki anlamıoperatörleriKarşılaştırma Operatörlerix, y ‘den büyüktür>>x > yx, y ‘den küçüktür<<x < y³x, y ‘den büyük yada eşittir>=x >= y£x, y ‘den küçük yada eşittir<=x <= yEşitlik Operatörlerix, y ‘e eşittir.===x == y¹x, y ‘e eşit değildir.!=x != yKarşılaştırma OperatörleriC++Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Nesne Yönelimli Programlama (OOP)C++
  • Dünyayı düşündüğümüz doğallıkla programlama yapabilmemizi sağlar.
  • Nesne yönelimli programlama tekniği kullanarak geliştirilmiş programlar daha güvenilir, dayanıklı ve kolay geliştirilebilirler.
  • Nesne’yi, belirlenmiş bir işlevi yerine getirebilecek altyapıyı hazırlayan, bu amaçla çeşitli fonksiyonlar içeren bir yapı olarak tanımlayabiliriz.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Nesne Nedir?C++
  • Gerçek dünyadaki nesnelere benzeyen tekrar kullanılabilir yazılım parçalarıdır.
  • Tek başlarına bir anlamları vardır: zaman, ses, video nesnesi, boyacı, sekreter gibi.
  • Daha anlaşılır, değiştirilmesi daha kolay bir yapı sunarlar.
  • Belirlenmiş işlevleri yerine getiren, bunun içinde çeşitli fonksiyonlar içeren bu yapı değişkenleri de bünyesinde bulundurabilir. Fakat asıl, işlevini belli edecek fonksiyonları bünyesinde bulundurmasıdır. Bu özelliğe Paketleme (Encapsulation) adı verilir.
  • Paketlenecek fonksiyonların nasıl bir işlev göstereceği belirtilmeksizin, sadece nasıl kullanılacağının belirtilmesine Soyutlama (Abstraction) adı verilir.
  • Paketleme ve Soyutlama bir nesneyi belli etmek için yeterli iki özelliktir.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Nesne Nedir? (Türeme & Kalıtım)C++ Bir oto tamircisi nesnesi düşünelim. Bu oto tamircisinin üç oğlu olduğunu ve bunların her birini yetiştirdikten sonra , birer konuda uzmanlaşmalarını sağladığını düşünelim. -Boyama (havalı fırça ile) -Kaynak Yapma (oksijen ile) -Elektrik İşleri Burada Oto Boyacısı, Oto Kaynakçısı ve Oto Elektrikcisi türeyen nesnelerdir. Oto tamircisi ise taban nesnedir. Türeyen nesneler taban nesnenin özelliklerini göstereceklerdir. Oto boyayacaklar, kaynak yapacaklar, karbüratör ayarlayacaklar. Yeni nesne kendisine yeni özellikler katabileceği gibi devraldığı özellikleri de geliştirebilir. Bu özelliğe Türeme (Derivation), özellikleri devralmaya da Miras alma veya Kalıtım (Inheritance) adı verilir.Oto TamircisiOto Boyacısı Oto Kaynakçısı Oto ElektirikcisiBilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Nesne Nedir? (Benzerlik)C++Oto tamircisi örneğine devam edersek, Burada üç önemli özellik göze çarpar:
  • Türeyen nesneler taban nesnenin özelliklerini koruyarak devam ettirip kullanabilirler
  • Türeyen nesneler türedikleri nesnelerin (taban nesnelerin) özelliklerini değiştirebilirler
  • Türeyen nesneler yeni özellikler kazanabilir veya mevcut özellikleri kaybedebilirler
  • O zaman bir sistem içerisinde ister bir nesneden türemiş nesneler bulunsun, isterse bir birinden farklı nesneler bulunsun, bu nesnelerin benzer özellikleri olabilir ve bu özellikler aynı isim ile anılır. Buda benzer isimde fakat farklı nesnelerin üyesi olan üyelerin ortaya çıkmasına neden olur. Bu durum nesneler arasındaki benzerlikleri yansıtır. Bu duruma Çoklubenzeşim (Polymorphism) adı verilir.Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü NesneC++
  • Özellikleri (Attributes, Properties) vardır: renk, şekil, boyut, genişlik, yükseklik vb.
  • Davranışları (Behaviors, Actions) vardır: her nesnenin kendine özgü davranışları vardır. Top yuvarlanır, ağaç yanar.
  • Yeni nesneler Mirasla (Inheritance) eski (parent) nesnelerin bazı özellik ve yöntemlerine sahip olurlar.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Nesne IIC++
  • Bilgiler Gizlenebilir: Nesnelerin iş görmesi için diğer nesneler hakkında bilgi sahibi olması şart değildir.
  • Soyutlama (Abstraction) sayesinde bir nesne, spesifik tanımlamalar ve sadece o nesneye ait olabilecek detaylardan kaçınarak, ayrıntılarda boğulmadan kullanılabilir.
  • Sınıflar (Class) nesnelerin temelini oluşturulurlar.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Yapısal Programlama(Structured-Programming)C++
  • Anlaması, test etmesi, değiştirmesi kolay programlar yazmayı teşvik eder ve kolaylaştırır.
  • Her zaman sadece bir girişi, bir çıkışı olan program yapıları kullanır.
  • Kurallar:
  • 1) En basit şema (flowchart) ile başla, 2) Her hangi bir işlem birbirini takip eden iki işlem şeklinde yazılabilir. 3) Her hangi bir işlem, bir kontrol yapısı (döngü, koşul, komut bloğu vb.) ile değiştirilebilir. 4) Kural 2 ve 3, birçok kere tekrarlanabilir.Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Kural 3Kural 3Kural 3Yapısal ProgramlamaKurallarının uygulanışıC++Kural 2Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Yapısal ProgramlamaC++Tüm programlar:
  • Komut Bloğu,
  • Koşul / Seçim (if, if/else, switch),
  • Döngü (for, while, do/while)
  • Parçalarına bölünebilir, yada diğer bir değişle bu parçalardan oluşturulabilir.Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Nesne Yönelimli Programlama (OOP)C++
  • Veri ve Fonksiyonlar Sınıf (Class) paketlerinin içine saklanır.
  • Class’lar mimari planlar gibidir.
  • Tekrar tekrar kullanılabilirler.
  • Class (plan) kullanılarak yeni nesneler (evler) oluşturulur.
  • Planlarda değil, evlerde otururuz.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Nesne Yönelimli Programlama (OOP)C++
  • Nesne Yonelimli Programlamada
  • Veri (attributes) ve
  • Fonksiyonlar (behavior)
  • Sınıf olarak adlandırılan paketler içinde korunurlar, ve birbirleri ile son derece sıkı ilişki içindedirler.Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Struct YapısıC++
  • Diğer data tiplerini birleştirerek, yeni bir data tipi oluşturur.
  • struct Time { int hour; int minute; int second;}; Struct adıStruct üyeleriBilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Struct YapısıC++
  • Bir struct yapısındaki her üyenin adı farklı olmalıdır.
  • İki farklı struct yapısı aynı üyelere sahip olabilir.
  • Struct tanımı mutlaka ‘;’ ile bitirilir.
  • Kendisini üye olarak alan bir struct yazılabilir ve genelde liste, stack vb. yapılar programlamada kullanılır.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Struct YapısıC++
  • Struct yeni bir değişken tipi oluşturur, yani bu ‘yeni’ tipte değişkenler kullanılarak başka değişkenler tanımlayabilirsiniz:
  • Time timeObject, timeArray[ 10 ],*timePtr, &timeRef =timeObject;
  • Normal üyelere erişirken ‘.’, pointer üyelere erişirken ‘->’ operatörleri kullanılır.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü Struct YapısıC++
  • timeObject struct yapısının hour üyesine erişirken:
  • cout <<timeObject.hour; timePtr = &timeObject;cout << timePtr->hour;
  • Burada ‘timePtr->hour’ile ‘(*timePtr ).hour’ tamamen aynıdır.
  • Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü 1 // Fig. 6.1: fig06_01.cpp 2 // Create a structure, set its members, and print it. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 struct Time { // structure definition 9 int hour; // 0-23 10 int minute; // 0-59 11 int second; // 0-59 12 }; 13 14 void printMilitary( const Time & ); // prototype 15 void printStandard( const Time & ); // prototype 16 Örnek (struct)C++Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü 17 int main() 18 { 19 Time dinnerTime; // variable of new type Time 20 21 // set members to valid values 22 dinnerTime.hour = 18; 23 dinnerTime.minute = 30; 24 dinnerTime.second = 0; 25 26 cout << "Dinner will be held at "; 27 printMilitary( dinnerTime ); 28 cout << " military time,\nwhich is "; 29 printStandard( dinnerTime ); 30 cout << " standard time.\n"; 31 Örnek (devam)C++Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü 32 // set members to invalid values 33 dinnerTime.hour = 29; 34 dinnerTime.minute = 73; 35 36 cout << "\nTime with invalid values: "; 37 printMilitary( dinnerTime ); 38 cout << endl; 39 return 0; 40 } 41 42 // Print the time in military format 43 void printMilitary( const Time &t ) 44 { 45 cout << ( t.hour < 10 ? "0" : "" ) << t.hour << ":" 46 << ( t.minute < 10 ? "0" : "" ) << t.minute; 47 }Örnek (devam)C++Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü 49 // Print the time in standard format 50 void printStandard( const Time &t ) 51 { 52 cout << ( ( t.hour == 0 || t.hour == 12 ) ? 53 12 : t.hour % 12 ) 54 << ":" << ( t.minute < 10 ? "0" : "" ) << t.minute 55 << ":" << ( t.second < 10 ? "0" : "" ) << t.second 56 << ( t.hour < 12 ? " AM" : " PM" ); 57 }Örnek (devam)C++Dinner will be held at 18:30 military time,which is 6:30:00 PM standard time.Time with invalid values: 29:73Bili
    Related Search
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks