C++ içinde konsol hesaplayıcı oluşturma

C++ programcısı için her zamanki başlangıç noktası, komut satırı üzerinde çalışan bir "Hello, world!" uygulamasıdır. Bu makalede ilk olarak bu Visual Studio oluştur, sonra da daha zorlu bir hesap makinesi uygulamasına geçebilirsiniz.

Önkoşullar

  • Bilgisayarınızda Visual Studio C++ iş yüküyle Masaüstü geliştirmeyi yükleyin. Henüz yüklenmemişse bkz. C++ desteğini Visual Studio.

Uygulama projenizi oluşturma

Visual Studio, bir uygulamanın kodunu düzenlemek için projeleri ve projelerinizi düzenlemek için çözümleri kullanır. Proje, uygulamalarınızı oluşturmak için kullanılan tüm seçenekleri, yapılandırmaları ve kuralları içerir. Ayrıca projenin tüm dosyalarıyla tüm dış dosyalar arasındaki ilişkiyi de yönetir. İlk olarak, uygulama oluşturmak için yeni bir proje ve çözüm oluşturabilirsiniz.

  1. Yeni Visual Studio, Başlat iletişim Visual Studio görüntülenir. Çalışmaya devam etmek için Yeni proje oluştur'a seçin.

    Visual Studio 2022 ilk iletişim kutusunun ekran görüntüsü.

    Aksi takdirde, dosyanın menü Visual Studio Dosya Yeni'yiProject. Yeni proje oluştur penceresi açılır.

  2. Proje şablonları listesinde Konsol Uygulaması'nu ve ardından Sonraki'yiseçin.

    Konsol Uygulaması şablonunu seçme ekran görüntüsü.

    Önemli

    Konsol Uygulaması şablonunun C++ sürümünü seçtiğinizden emin olun. C++ , Windowsve Konsol etiketlerine ve simgenin köşesinde "++" vardır.

  3. Yeni projenizi yapılandır iletişim kutusunda, Project adı düzenleme kutusunu seçin, yeni projenize CalculatorTutorialadını ve ardından Oluştur'a tıklayın.

    Yeni projenizi yapılandır iletişim kutusunda projenize bir ad girin.

    Boş bir C++ Windows konsol uygulaması oluşturulur. Konsol uygulamaları, çıkışı görüntülemek Windows kullanıcı girişini kabul etmek için bir konsol penceresi kullanır. Bu Visual Studio düzenleyici penceresi açılır ve oluşturulan kod gösterilir:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    
    int main()
    {
        std::cout << "Hello World!\n";
    }
    
    // Run program: Ctrl + F5 or Debug > Start Without Debugging menu
    // Debug program: F5 or Debug > Start Debugging menu
    
    // Tips for Getting Started:
    //   1. Use the Solution Explorer window to add/manage files
    //   2. Use the Team Explorer window to connect to source control
    //   3. Use the Output window to see build output and other messages
    //   4. Use the Error List window to view errors
    //   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
    //   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
    

Yeni uygulamanın derleme ve çalıştırmalarını doğrulama

Yeni bir konsol uygulaması Windows basit bir C++ "Merhaba Dünya" uygulaması oluşturur. Bu noktada, IDE'den Visual Studio ve çalıştırarak uygulamaları nasıl oluşturabilirsiniz?

  1. Projenizi derlemek için Derleme menüsünden ÇözümüDerleme'yi seçin. Çıkış penceresinde derleme işleminin sonuçları gösterilir.

    Derleme işleminin Visual Studio çıkış penceresinin yer alan 2019'un ekran görüntüsü.

  2. Kodu çalıştırmak için menü çubuğunda Hata Ayıkla, Hata ayıklamadanbaşlat'ı seçin.

    Kodun başarıyla Visual Studio hata ayıklama Microsoft Visual Studio 2019'un ekran görüntüsü.

    Bir konsol penceresi açılır ve ardından uygulamanız çalışır. Bir konsol uygulamasını Visual Studio, kodunuzu çalıştırır ve ardından "Bu pencereyi kapatmak için herhangi bir tuşa basın. . ." ile çıktıyı görme fırsatına sahip olur. Tebrikler! Visual Studio!'de ilk "Merhaba dünya!" konsol Visual Studio!

  3. Konsol penceresini kapatın ve konsol penceresine geri dönmek için Visual Studio.

Artık her değişiklik sonrasında kodunuzu derlemeye ve çalıştırmaya ve kodun beklediğiniz gibi çalıştığını doğrulamak için araçlara sahipsiniz. Daha sonra, hata ayıklamazsa hata ayıklamayı göstereceğiz.

Kodu düzenleme

Şimdi bu şablonda yer alan kodu hesap makinesi uygulamasına dönüştürebilirsiniz.

  1. CalculatorTutorial.cpp dosyasında kodu bu örnekle eş olacak şekilde düzenleyin:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b"
            << endl;
        return 0;
    }
    
    // Run program: Ctrl + F5 or Debug > Start Without Debugging menu
    // Debug program: F5 or Debug > Start Debugging menu
    // Tips for Getting Started:
    //   1. Use the Solution Explorer window to add/manage files
    //   2. Use the Team Explorer window to connect to source control
    //   3. Use the Output window to see build output and other messages
    //   4. Use the Error List window to view errors
    //   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
    //   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
    

    Kodu anlama:

    • #includedeyimleri, diğer dosyalarda bulunan koda başvurabilirsiniz. Bazen köşeli ayraç ( ) ile çevreli bir dosya adı, diğer durumlarda ise tırnak içine alınarak <> ( " " )<> Genel olarak, C++ Standart Kitaplığı'na başvururken açılı ayraçlar kullanılırken tırnaklar diğer dosyalar için kullanılır.
    • Satırı, using namespace std; derleyiciye C++ Standart Kitaplığı'nın bu dosyada kullanılacak şeyleri beklemesini söyler. Bu satır olmadan, kitaplıktan her anahtar sözcüğün kapsamını ifade etmek için std:: önünde bir olması gerekir. Örneğin, bu satır olmadan her başvuru cout olarak yaz std::cout gerekir. Kodun using daha temiz bir görünüme neden olmak için deyimi eklenir.
    • anahtar cout sözcüğü, C++ içinde standart çıkışa yazdırmak için kullanılır. işleci << derleyiciye sağ tarafından standart çıkışa ne olursa olsun göndermesi söyler.
    • endl anahtar sözcüğü Enter tuşuna benzer; satırı sona erer ve imleci sonraki satıra taşır. Aynı şeyi yapmak için dizenin içine bir koymak daha iyi bir uygulamadır (her zaman arabelleği boşaltarak programın performansına zarar verir, ancak bu çok küçük bir uygulama olduğu için daha iyi okunabilirlik için \nendlendl kullanılır).
    • Tüm C++ deyimleri noktalı virgülle bit olmalı ve tüm C++ uygulamaları bir işlev main() içermeli. Bu işlev, programın başında çalıştırarak çalışır. Tüm kodun kullanılma main() amacıyla üzerinden erişilebilir olması gerekir.
  2. Dosyayı kaydetmek için Ctrl+Stuşlarına basın veya menü çubuğunun altındaki araç çubuğundaki disket simgesi olan IDE'nin üst kısmında bulunan Kaydet simgesini seçin.

  3. Uygulamayı çalıştırmak için Ctrl+F5 tuşlarına basın veya Hata Ayıklama menüsüne gidip Hata Ayıklama Olmadan Başlat'ı seçin. Kodda belirtilen metni görüntüleyen bir konsol penceresi görüntülenir.

  4. Bitirin ve konsol penceresini kapatın.

Matematik yapmak için kod ekleme

Şimdi biraz matematik mantığı eklemenin zamanı geldi.

Hesaplayıcı sınıfı eklemek için

  1. Project menüsüne gidin ve Sınıf Ekle'yi seçin. Sınıf Adı düzenleme kutusuna Hesaplayıcı yazın. Tamam'ı seçin. Projenize iki yeni dosya eklenir. Değiştirilen tüm dosyalarınızı aynı anda kaydetmek için Ctrl+Shift+S tuşlarına basın. Bu, DosyaNın Hepsini Kaydet için bir klavyekısayolu. Ayrıca, Save All (Hepsini Kaydet) için bir araç çubuğu düğmesi vardır ve Kaydet düğmesinin yanında iki disket simgesi bulunur. Genel olarak, kaydet'i sık sık yapmak iyi bir uygulamadır; böylece, kaydetmeye devam ediyorsanız hiçbir dosyayı kaçırmaz.

    Sınıf Adı metin kutusuna Hesap Makinesi yazarak Sınıf Ekle iletişim kutusunun ekran görüntüsü.

    Sınıf, bir şey yapmak için bir nesnenin şemasına benzer. Bu durumda hesaplayıcıyı ve nasıl çalışması gerektiğini tanımlarız. Yukarıda kullanılan Sınıf Ekleme sihirbazı, sınıfıyla aynı adı olan .h ve .cpp dosyalarını oluşturdu. Proje dosyalarınızın tam listesini IDE'nin Çözüm Gezgini proje penceresinde görebilirsiniz. Pencere görünmüyorsa menü çubuğundan açabilirsiniz: Görünüm ve görünüm'Çözüm Gezgini.

    Hesaplayıcı Öğreticisi Visual Studio gösteren Çözüm Gezgini 2019'un ekran görüntüsü.

    Artık düzenleyicide üç sekme açık olmalı: CalculatorTutorial.cpp, Calculator.hve Calculator.cpp. Bunlardan birini yanlışlıkla kapatırsanız, Çözüm Gezgini penceresinde çift tıklayarak yeniden açabilirsiniz.

  2. Calculator.hiçinde, burada ~Calculator(); ihtiyacınız olmayacaktır, çünkü oluşturulan ve satırlarını kaldırın. Ardından, dosyanın şimdi aşağıdaki gibi görünüyor olacak şekilde aşağıdaki kod satırı ekleyin:

    #pragma once
    class Calculator
    {
    public:
        double Calculate(double x, char oper, double y);
    };
    

    Kodu anlama

    • Ekleyiş satırı toplama, çıkarma, çarpma ve bölme işlemleri için matematik işlemlerini çalıştırmak için kullanabileceğimiz adlı Calculate yeni bir işlev bildirmektedir.
    • C++ kodu üst bilgi (.h) dosyaları ve kaynak (.cpp) dosyaları olarak düzenlenmiştir. Diğer birçok dosya uzantısı çeşitli derleyiciler tarafından de desteklene, ancak bunlar hakkında temel bilgilerdir. İşlevler ve değişkenler normalde , yani, üst bilgi dosyalarında bir ad ve tür verilir ve kaynak dosyalarda uygulanır veya bir tanım verilir. Başka bir dosyada tanımlanan koda erişmek için kullanabilirsiniz; burada 'filename.h', kullanmak istediğiniz değişkenleri veya işlevleri bildiren #include "filename.h" dosyanın adıdır.
    • Silmiş iki satır, sınıfı için bir oluşturucu ve yıkıcı bildirmiş. Bunun gibi basit bir sınıf için, derleyici bunları sizin için oluşturur ve kullanımları bu öğreticinin kapsamının dışındadır.
    • Daha sonra ihtiyacınız olan kodu kolayca bulmak için kodunuzu ne yaptığına göre farklı dosyalarda düzenlemek iyi bir uygulamadır. Bizim durumumuz, sınıfını işlevini içeren dosyadan ayrı olarak Calculator tanımlar ancak içinde main() sınıfına başvuru yapmayı Calculatormain() planlıyoruz.
  3. altında yeşil bir geçiş Calculate görüntülenir. Bunun nedeni işlevi Calculate .cpp dosyasında tanımlanmamıştır. Sözcüğün üzerine gelin, açılan ampule (Bu durumda, bir screwsürücü) tıklayın ve Hesaplayıcı. cpp ' de ' Calculate ' tanımı oluştur' u seçin.

    hesaplayıcı C p p 'de hesaplamanın oluşturma tanımını gösteren Visual Studio 2019 ekran görüntüsü.

    Diğer dosyada yapılan kod değişikliğinin bir özetini sunan bir açılır pencere görünür. Kod, Hesaplayıcı. cppöğesine eklendi.

    Hesaplama tanımıyla açılır pencere.

    Şu anda yalnızca 0,0 döndürüyor. Şimdi bunu değiştirelim. Açılır pencereyi kapatmak için ESC tuşuna basın.

  4. Düzenleyici penceresindeki Hesaplayıcı. cpp dosyasına geçin. Calculator()Ve bölümlerini kaldırın ~Calculator() (. h dosyasında yaptığınız gibi) ve aşağıdaki kodu öğesine ekleyin Calculate() :

    #include "Calculator.h"
    
    double Calculator::Calculate(double x, char oper, double y)
    {
        switch(oper)
        {
            case '+':
                return x + y;
            case '-':
                return x - y;
            case '*':
                return x * y;
            case '/':
                return x / y;
            default:
                return 0.0;
        }
    }
    

    Kodu anlama

    • İşlevi Calculate bir sayı, bir işleç ve ikinci bir sayı kullanır, ardından istenen işlemi sayılar üzerinde gerçekleştirir.
    • Switch ifadesinde hangi işlecin sağlandığını kontrol eder ve yalnızca bu işleme karşılık gelen servis talebi yürütülür. Varsayılan: durum, kullanıcının kabul edilmeyen bir işleç yazdığında, dolayısıyla programın kesintiye uğramaması durumunda bir geri dönüş olur. Genel olarak, geçersiz kullanıcı girişini daha zarif bir şekilde işlemek en iyisidir, ancak Bu öğreticinin kapsamı dışındadır.
    • doubleAnahtar sözcüğü, Onlukları destekleyen bir sayı türünü gösterir. Bu şekilde, hesaplayıcı hem Decimal Math hem de Integer Math işleyebilir. Calculateİşlevin, kodun çok başlangıcında (Bu, işlevin dönüş türünü belirtir), bu nedenle her zaman bir sayının bu tür bir değer döndürmesi gerekir double . Bu, varsayılan durumda bile 0,0 getirdiğimiz anlamına gelir.
    • . H dosyası, derleyicinin hangi parametrelere ihtiyacı olduğunu ve bundan beklenen dönüş türünü belirten işlev prototipinibildirir. . Cpp dosyası, işlevin tüm uygulama ayrıntılarına sahiptir.

Kodu bu noktada yeniden oluşturup çalıştırırsanız, hangi işlemin gerçekleştirileceğini soran bir çıkış devam eder. Sonra, main bazı hesaplamalar yapmak için işlevini değiştirirsiniz.

Hesaplayıcı sınıfı üye işlevlerini çağırmak için

  1. Şimdi, mainmainişlevini güncelleştirelim:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    #include "Calculator.h"
    
    using namespace std;
    
    int main()
    {
        double x = 0.0;
        double y = 0.0;
        double result = 0.0;
        char oper = '+';
    
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b"
             << endl;
    
        Calculator c;
        while (true)
        {
            cin >> x >> oper >> y;
            result = c.Calculate(x, oper, y);
            cout << "Result is: " << result << endl;
        }
    
        return 0;
    }
    

    Kodu anlama

    • C++ programları her zaman main() işlevde başladığından, diğer kodumuzu buradan çağırmamız gerekir, bu nedenle bir #include ifade gereklidir.
    • Bazı ilk değişkenler,, xyoper ve result sırasıyla ilk Number, İkinci sayı, işleç ve nihai sonucu depolayacak şekilde bildirilmiştir. Bu, burada yapılan tanımsız davranışlara engel olmak için bazı ilk değerleri vermek her zaman iyi bir uygulamadır.
    • Calculator c;Satır, sınıfının bir örneği olarak ' c ' adlı bir nesne bildirir Calculator . Sınıfın kendisi, hesaplayıcıların nasıl çalıştığı hakkında yalnızca bir şema olur; nesnesi, matematik yapan özel Hesaplayıcı ' dır.
    • while (true)İfade bir döngüdür. Döngü içindeki kod, ' ın içindeki koşul doğru olduğu sürece yeniden yürütmeye devam eder () . Koşul yalnızca olarak listelendiğinden, true her zaman doğru olduğundan, döngü süresiz olarak çalışır. Programı kapatmak için Kullanıcı konsol penceresini el ile kapatması gerekir. Aksi takdirde, program her zaman yeni giriş bekler.
    • cinAnahtar sözcüğü, kullanıcıdan girişi kabul etmek için kullanılır. Bu giriş akışı, konsol penceresinde girilen bir metin satırını işlemek için yeterince akıllı bir işlemdir ve Kullanıcı girişinin gerekli belirtile eşleştiğini varsayarak, listelenen değişkenlerin her birini sırayla yerleştirebilirsiniz. Bu satırı, örneğin iki sayıdan fazla farklı giriş türlerini kabul etmek için değiştirebilir, ancak Calculate() işlevin bunu işlemek için de güncelleştirilmeleri gerekir.
    • c.Calculate(x, oper, y);İfade, Calculate daha önce tanımlanan işlevi çağırır ve girilen giriş değerlerini sağlar. İşlev daha sonra ' de depolanan bir sayı döndürür result .
    • Son olarak result konsola yazdırılır, böylece Kullanıcı hesaplamanın sonucunu görür.

Kodu yeniden derleyin ve test edin

Artık, her şeyin düzgün çalıştığından emin olmak için programı yeniden test etme zamanı.

  1. Uygulamayı yeniden oluşturmak ve başlatmak için CTRL + F5 tuşlarına basın.

  2. Yazın 5 + 5 ve ENTER tuşuna 5 + 5basın. Sonucun 10 olduğunu doğrulayın.

    5 ve 5 ' in doğru sonucunu gösteren Visual Studio 2019 Microsoft Visual Studio hata ayıklama konsolu ekran görüntüsü.

Uygulamada hata ayıklama

Kullanıcı konsol penceresine herhangi bir şey yazmadığından ücretsiz olduğundan, hesap makinesinin bazı girişleri beklendiği gibi işlemesini sağlayın. Programı çalıştırmak yerine, bunun yerine hata ayıklaalım, bu nedenle ne yaptığını ayrıntılı olarak inceleyebileceğiniz adım adım.

Uygulamayı hata ayıklayıcıda çalıştırmak için

  1. result = c.Calculate(x, oper, y);Yalnızca kullanıcıdan giriş sorulduktan sonra, satırda bir kesme noktası ayarlayın. Kesme noktasını ayarlamak için, düzenleyici penceresinin sol kenarındaki gri dikey çubukta bulunan çizgiye tıklayın. Kırmızı bir nokta görünür.

    bir kesme noktasını temsil eden kırmızı noktayı gösteren Visual Studio 2019 ekran görüntüsü.

    Artık programda hata ayıklaması yaptığımız zaman, bu satırdaki yürütmeyi her zaman duraklatır. Programın basit durumlar için çalışmasına yönelik kaba bir fikrimiz zaten var. Yürütmeyi her seferinde duraklatmak istemediğimiz için, kesme noktasını koşullu hale getirir.

  2. Kesme noktasını temsil eden kırmızı noktaya sağ tıklayın ve koşullar' ı seçin. Koşulun düzenleme kutusunda, girin (y == 0) && (oper == '/') . İşiniz bittiğinde Kapat düğmesini seçin. Koşul otomatik olarak kaydedilir.

    kesme noktası Ayarlar bölümünü gösteren Visual Studio 2019 ekran görüntüsü ve true değerine eklenen bir koşul.

    Artık 0 olarak bölme denendiğinde yürütme kesme noktasında yürütmeyi durakladık.

  3. programda hata ayıklamak için F5'e basın veya yeşil ok simgesine sahip yerel Windows hata ayıklayıcı araç çubuğu düğmesini seçin. Konsol uygulamanızda, "5-0" gibi bir şey girerseniz, program normal şekilde davranır ve çalışır durumda kalır. Ancak, "10/0" yazarsanız, kesme noktasında duraklatılır. Operatör ve rakamlar arasında da herhangi bir sayıda boşluk koyabilirsiniz: cin girişi uygun şekilde ayrıştırmaya yetecek kadar akıllı bir değer.

    Programın koşullu kesme noktasında duraklatıldığını gösteren Visual Studios 2019 ekran görüntüsü.

Hata ayıklayıcıda yararlı pencereler

Kodunuzda hata ayıkladığınızda, bazı yeni pencerelerin göründüğünü fark edebilirsiniz. Bu pencereler hata ayıklama deneyiminize yardımcı olabilir. Oto penceresine göz atın. Oto penceresinde, geçerli satıra en az üç satır önce kullanılan değişkenlerin geçerli değerlerini gösterir. Bu işlevden tüm değişkenleri görmek için Yereller penceresine geçin. Bu değişkenlerin değerlerini hata ayıklama sırasında değiştirebilir ve programda neler olacağını görebilirsiniz. Bu durumda, bunları tek başına bırakacağız.

Visual Studio 2019 ' deki yereller penceresinin ekran görüntüsü.

Ayrıca, yürütmenin Şu anda duraklatıldığı geçerli değerlerini görmek için yalnızca kodun kendisindeki değişkenlerin üzerine gelebilmeniz gerekir. Önce üzerine tıklayarak düzenleyici penceresinin odaklandığından emin olun.

değişkenin değerini görüntüleyen araç ipucunu gösteren Visual Studio 2019 ekran görüntüsü.

Hata ayıklamaya devam etmek için

  1. Sol taraftaki sarı çizgi, geçerli yürütme noktasını gösterir. Geçerli satırı çağırır Calculate , bu nedenle Işlev içine dönmek için Calculate tuşuna basın. Kendi kendinize işlevin gövdesinde bulacaksınız Calculate . Adımlailgili dikkatli olun; Bunu çok fazla yaparsanız, çok sayıda atık hale gelebilir. Standart Kitaplık işlevleri dahil olmak üzere, üzerinde olduğunuz satırda kullandığınız herhangi bir koda gider.

  2. Yürütme noktası işlevin başlangıcında olduğuna göre Calculate , program yürütmesinin sonraki satırına geçmek Için Calculate tuşuna basın. F10 , adım adımolarak da bilinir. Satırdaki her bir bölümde gerçekleşdiklerin ayrıntılarına odaklanmadan satırdan satıra geçiş yapmak için Step Over ' u kullanabilirsiniz. Genel olarak, başka bir yerde Çağrılmakta olan kodu daha ayrıntılı bir şekilde incelemek istemediğiniz sürece (' ın gövdesine ulaştığınız gibi) daha fazla bilgi almak istiyorsanız, ' ın Içine adımlayerine adımını kullanmanız gerekir .

  3. Diğer dosyadaki işleve geri dönüp satır üzerinde durana kadar her bir satırda adım adım ilerleyin .

    Program beklenildiği gibi görünüyor: ilk sayıyı alır ve ikinciden böler. coutSatırda, değişkenin üzerine gelin result veya resultcout penceresinde bir göz atın. Değerin "INF" olarak listelendiğini görürsünüz ve bu, doğru görünmüyor ve bunu çözeceğiz. coutSatır, ' de hangi değerin depolandığını result gösterir. bu nedenle, coutkullanarak ileri bir satır daha ilerlememeniz halinde konsol penceresi şunu görüntüler:

    Visual Studio 2019 Microsoft Visual Studio hata ayıklama konsolunun, sıfıra bölme sonucunu gösteren ekran görüntüsü.

    Bu sonuç, sıfıra bölme tanımsız olduğundan, programın istenen işleme bir sayısal yanıtı olmadığından meydana gelir.

"Sıfıra bölme" hatasını onarmak için

Daha düzgün bir şekilde bölme yaparak, bir Kullanıcı sorunu anlayabiliyor.

  1. Hesaplatoröğreticisi. cpp' de aşağıdaki değişiklikleri yapın. ( Düzenle ve devam etadlı bir hata ayıklayıcı özelliği sayesinde programı düzenlediğiniz şekilde çalışır durumda bırakabilirsiniz):

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include <iostream>
    #include "Calculator.h"
    
    using namespace std;
    
    int main()
    {
        double x = 0.0;
        double y = 0.0;
        double result = 0.0;
        char oper = '+';
    
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b" << endl;
    
        Calculator c;
        while (true)
        {
            cin  >> x  >> oper  >> y;
            if (oper == '/' && y == 0)
            {
                cout << "Division by 0 exception" << endl;
                continue;
            }
            else
            {
                result = c.Calculate(x, oper, y);
            }
            cout << "Result is: " << result << endl;
        }
    
        return 0;
    }
    
  2. Şimdi F5 tuşuna basın. Program yürütme, Kullanıcı girişi istemek için duraklamaya kadar tüm şekilde devam eder. 10 / 0Yeniden girin. Şimdi, daha yararlı bir ileti yazdırılır. Kullanıcıdan daha fazla giriş istenir ve program normal yürütülmeye devam eder.

    Visual Studio 2019 Microsoft Visual Studio hata ayıklama konsolu ekran görüntüsü, değişikliklerden sonra nihai sonucu gösterir.

    Not

    Hata ayıklama modundayken kodu düzenlerken, kodun eskimiş olma riski vardır. Bu durum, hata ayıklayıcı eski kodunuzu çalıştırmakta olduğunda ve henüz değişikliklerinizi güncelleştirmemişse oluşur. Hata ayıklayıcı, bu gerçekleştiğinde sizi bilgilendirmek için bir iletişim kutusu açılır. Bazen, yürütülen kodu yenilemek için F5 tuşuna basmanız gerekebilir. Özellikle, bir işlev içinde bir değişiklik yaparsanız, yürütme noktası bu işlevin içindeyse, işlevin dışına dönerek güncelleştirilmiş kodu almak için yeniden tekrar açmanız gerekir. Bu bir nedenle işe yaramazsa ve bir hata iletisi görürseniz, IDE 'nin en üstündeki menülerin altında bulunan araç çubuğunda kırmızı kareye tıklayarak hata ayıklamayı durdurabilirsiniz, ardından F5 tuşuna basarak veya araç çubuğundaki Durdur düğmesinin yanındaki yeşil "Oynat" okunu seçerek yeniden hata ayıklamayı başlatabilirsiniz.

    Çalıştırma ve hata ayıklama kısayollarını anlama

    • F5(veya hata ayıklamabaşlatma hataayıklaması), etkin değilse bir hata ayıklama oturumu başlatır ve bir kesme noktasına ulaşılana veya programın kullanıcı girişine ihtiyacı olacak şekilde programı çalıştırır. Kullanıcı girişi gerekmiyorsa ve isabet almak için kullanılabilir kesme noktası yoksa, program sonlanır ve program çalışmayı bitirdiğinde konsol penceresi kendisini kapatır. Çalıştırmak üzere bir "Merhaba Dünya" programı varsa, pencereyi açık tutmak için F5 tuşuna girmeden önce CTRL + F5 kullanın veya bir kesme noktası ayarlayın.
    • CTRL + F5(veya hata ayıklamaolmadan Başlat), hata ayıklama moduna geçmeden uygulamayı çalıştırır. Bu, hata ayıklamadan biraz daha hızlıdır ve program yürütmeyi tamamladıktan sonra konsol penceresi açık kalır.
    • F10 ( adım adımolarak bilinir) kod içinde, satır içi olarak yinelemenize ve kodun nasıl çalıştırılacağını ve her yürütme adımında değişken değerlerinin ne olduğunu görselleştirmenizi sağlar.
    • F11 ( adımolarak bilinir), yürütme sırasında çağrılan herhangi bir Işleve adımla değil, adımlaaynı şekilde çalışır. Örneğin, yürütülenmekte olan satır bir işlev çağırırsa, F11 tuşuna basıldığında işaretçiyi işlevin gövdesine taşıdıkça işlevin kodunu, başlattığınız satıra geri gelmeden önce, çalıştırılan işlevin kodunu takip edebilirsiniz. İşlev çağrısının üzerindeki F10 adımlara basmak ve yalnızca sonraki satıra gitme; işlev çağrısı hala gerçekleşir, ancak program ne yaptığını göstermek için duraklamaz.

Uygulamayı kapat

  • Hala çalışıyorsa, hesaplayıcı uygulamasının konsol penceresini kapatın.

Git kaynak denetimi Ekle

Artık bir uygulama oluşturduğunuza göre, bunu bir git deposuna eklemek isteyebilirsiniz. Size yardımcı olabiliriz. Visual Studio, doğrudan ıde 'den kullanabileceğiniz Git araçlarından daha kolay bir işlem yapar.

İpucu

Git, en yaygın olarak kullanılan modern sürüm denetim sistemidir. bu nedenle, profesyonel bir geliştirici olun veya nasıl kod kullanacağınızı öğreniyor olun, git çok faydalı olabilir. Git 'e yeni başladıysanız, https://git-scm.com/ Web sitesi başlamak için iyi bir yerdir. Buradan, popüler bir çevrimiçi kitap ve git temel bilgileri videoları bulabilirsiniz.

Kodunuzu git ile ilişkilendirmek için, kodunuzun bulunduğu yeni bir git deposu oluşturarak başlayın. Aşağıdaki adımları uygulayın:

  1. Visual Studio sağ alt köşesindeki durum çubuğunda kaynak denetimine ekle' yi seçin ve Git' i seçin.

    Çözüm Gezgini bölmesinin altındaki git kaynak denetimi düğmelerinin ekran görüntüsü, kaynak denetimi Ekle düğmesi vurgulanır.

  2. Git deposu oluştur iletişim kutusunda GitHub ' de oturum açın.

    GitHub 'de oturum açmak için bir git deposu oluştur iletişim penceresinin ekran görüntüsü.

    Depo adı, klasör konumunuza göre otomatik olarak doldurulur. Varsayılan olarak, yeni deponuz özeldir. Bu, kendisine erişebilen tek bir tane olduğu anlamına gelir.

    İpucu

    Deponuzda genel veya özel olup olmadığı, kodunuzun güvenli bir şekilde bir uzak yedeğinin GitHub. Bir ekip ile çalışmasanız bile, uzak bir depo, kodunuzun herhangi bir bilgisayardan sizin için kullanılabilir olmasını sağlar.

  3. Oluştur ve Gönder 'i seçin.

    Deponuzu oluşturduktan sonra durum çubuğunda durum ayrıntılarını görürsünüz.

    Visual Studio Çözüm Gezgini bölmesinin altında bulunan depo durum çubuğunun ekran görüntüsü.

    Oklara sahip ilk simge, geçerli dalınızda kaç tane giden/gelen işleme olduğunu gösterir. Herhangi bir gelen işlemeyi çekmek veya giden tüm işlemeleri göndermek için bu simgeyi kullanabilirsiniz. Bu yürütmeleri önce da görüntülemeyi seçebilirsiniz. Bunu yapmak için, simgeyi seçin ve ardından giden/gelen görüntüle' yi seçin.

    Kalemle ikinci simge, kodunuzda kaydedilmemiş değişiklik sayısını gösterir. Git değişiklikleri penceresinde bu değişiklikleri görüntülemek için bu simgeyi seçebilirsiniz.

Git 'i uygulamanızla birlikte kullanma hakkında daha fazla bilgi için, Visual Studio sürüm denetimi belgelerinebakın.

Tamamlanmış uygulama

Tebrikler! Hesaplayıcı uygulamasının kodunu tamamladınız, oluşturup bu kodu ayıkladım ve bir depoya eklediniz, hepsi Visual Studio.

Sonraki adımlar

C++ için Visual Studio hakkında daha fazla bilgi edinin

C++ Programcı için normal başlangıç noktası, komut satırında çalışan bir "Hello, World!" uygulamasıdır. bu makalede Visual Studio oluşturacağınız bu şey, daha zorlayıcı bir işlem hesaplayıcısı: bir hesaplayıcı uygulaması.

Önkoşullar

  • C++ iş yükünün bilgisayarınızda yüklü ve çalışır şekilde masaüstü geliştirmeyle Visual Studio sahip olmanız gerekir. Henüz yüklenmemişse, bkz. Visual Studio C++ desteğini yükleme.

Uygulama projenizi oluşturma

Visual Studio bir uygulama için kodu düzenlemek üzere projeleri ve projelerinizi düzenleme çözümlerini kullanır. Bir proje, uygulamalarınızı derlemek için kullanılan tüm seçenekleri, konfigürasyonları ve kuralları içerir. Ayrıca, tüm proje dosyaları ve tüm dış dosyalar arasındaki ilişkiyi yönetir. Uygulamanızı oluşturmak için önce yeni bir proje ve çözüm oluşturacaksınız.

  1. Visual Studio ' deki menü çubuğu üzerinde dosyayeniProjectöğesini seçin. yeni Project penceresi açılır.

  2. Sol kenar çubuğunda Visual C++ seçili olduğundan emin olun. ortadaki Windows konsol uygulaması' nı seçin.

  3. Alttaki ad düzenleme kutusunda, yeni proje hesaplatoronuadlandırın, sonra Tamam' ı seçin.

    yeni Project iletişim kutusu.

    boş bir C++ Windows konsol uygulaması oluşturulur. konsol uygulamaları, çıktıyı göstermek ve kullanıcı girişini kabul etmek için bir Windows konsol penceresi kullanır. Visual Studio, bir düzenleyici penceresi açılır ve oluşturulan kodu gösterir:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include "pch.h"
    #include <iostream>
    
    int main()
    {
        std::cout << "Hello World!\n";
    }
    
    // Run program: Ctrl + F5 or Debug > Start Without Debugging menu
    // Debug program: F5 or Debug > Start Debugging menu
    
    // Tips for Getting Started:
    //   1. Use the Solution Explorer window to add/manage files
    //   2. Use the Team Explorer window to connect to source control
    //   3. Use the Output window to see build output and other messages
    //   4. Use the Error List window to view errors
    //   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
    //   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
    

Yeni uygulamanızın derlemediğini ve çalıştığını doğrulayın

Yeni bir Windows konsol uygulaması şablonu basit bir C++ "Merhaba Dünya" uygulaması oluşturur. bu noktada, Visual Studio, ıde 'den doğrudan oluşturduğunuz uygulamaları nasıl oluşturup yürüttüğünde bakabilirsiniz.

  1. Projenizi derlemek için derleme menüsünden çözüm oluştur ' u seçin. Çıkış penceresi, derleme işleminin sonuçlarını gösterir.

    yapı işleminin sonucunu gösteren çıkış penceresi ile ekran görüntüsü Visual Studio.

  2. Kodu çalıştırmak için, menü çubuğunda Hata Ayıkla, hata ayıklama olmadan Başlat' ı seçin.

    kodu gösteren hata ayıklama konsolunun Microsoft Visual Studio ekran görüntüsü başarıyla çalıştırıldı.

    Konsol penceresi açılır ve uygulamanızı çalıştırır. Visual Studio ' de bir konsol uygulaması başlattığınızda, kodunuzu çalıştırır ve ardından devam etmek için herhangi bir tuşa basın. . . "çıktıyı görmek için size bir şans vermek. Tebrikler! Visual Studio ' de ilk "Merhaba, Dünya!" konsol uygulamanızı oluşturdunuz!

  3. Konsol penceresini kapatmak ve Visual Studio geri dönmek için bir tuşa basın.

Artık, kodun beklendiği gibi çalıştığını doğrulamak için her değişiklikten sonra uygulamanızı derleyip çalıştırmaya yönelik araçlara sahipsiniz. Daha sonra, bu değilse nasıl hata ayıklaması yapılacağını göstereceğiz.

Kodu Düzenle

Şimdi bu şablondaki kodu bir Hesaplayıcı uygulamasına açalım.

  1. Hesaplatoröğreticisi. cpp dosyasında, kodu şu örnekle eşleşecek şekilde düzenleyin:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include "pch.h"
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b"
            << endl;
        return 0;
    }
    
    // Run program: Ctrl + F5 or Debug > Start Without Debugging menu
    // Debug program: F5 or Debug > Start Debugging menu
    // Tips for Getting Started:
    //   1. Use the Solution Explorer window to add/manage files
    //   2. Use the Team Explorer window to connect to source control
    //   3. Use the Output window to see build output and other messages
    //   4. Use the Error List window to view errors
    //   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
    //   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
    

    Kodu anlama:

    • #includeDeyimleri, diğer dosyalarda bulunan koda başvuru yapmanıza olanak sağlar. Bazen açılı ayraçlar () ile çevrelenmiş bir dosya adı görebilirsiniz <> ; diğer zamanlarda tırnak işaretleri (<>) ile çevrelenmiş olur. Genel olarak, C++ standart kitaplığına başvururken açılı ayraçlar kullanılır, ancak teklifler diğer dosyalar için kullanılır.
    • #include "pch.h"(veya Visual Studio 2017 ve önceki sürümlerde #include "stdafx.h" ) satır önceden derlenmiş üst bilgi olarak bilinen bir şeye başvurur. Bunlar genellikle profesyonel programcılar tarafından derleme sürelerini geliştirmek için kullanılır, ancak Bu öğreticinin kapsamı dışındadır.
    • using namespace std;Çizgi derleyiciye C++ standart kitaplığı 'ndan bu dosyada kullanılacak şeyler beklendiğini söyler. Bu satır olmadan, bir kitaplıktaki her anahtar sözcüğünün std:: , kapsamını göstermek için önünde bir ile olması gerekir. Örneğin, bu satır olmadan her başvurunun cout olarak yazılması gerekir std::cout . usingKodun daha temiz görünmesini sağlamak için ifade eklenir.
    • coutAnahtar sözcüğü, C++ ' ta standart çıktıya yazdırmak için kullanılır. <<İşleci derleyiciye, standart çıktıya ne olduğunu bildirir.
    • Endl anahtar sözcüğü ENTER tuşu gibidir; satırı sonlandırır ve imleci bir sonraki satıra kaydırır. \nendl Her zaman arabelleği temizleyerek ve bu, çok küçük bir uygulama olduğundan, endl daha iyi okunabilirlik için kullanıldığından, dizenin içine (""), aynı şeyi yapmak için ("") koymak daha iyi bir uygulamadır.
    • Tüm C++ deyimlerinin noktalı virgülle bitmesi ve tüm C++ uygulamalarının bir işlev içermesi gerekir main() . Bu işlev, programın başlangıçta çalıştığı şeydir. Kullanılabilmesi için tüm koda erişilebilir olması gerekir main() .
  2. Dosyayı kaydetmek için CTRL + Sgırın veya IDE 'nin üst kısmına yakın bir şekilde Kaydet simgesini, menü çubuğunun altındaki araç çubuğundan disket simgesini seçin.

  3. Uygulamayı çalıştırmak için CTRL + F5 tuşlarına basın veya hata ayıklama menüsüne gidin ve hata ayıklama olmadan Başlat' ı seçin. Bu projenin güncelolmadığını belirten bir açılır pencere alırsanız, Bu iletişim kutusunu bir daha göstermeseçeneğini belirleyip uygulamanızı derlemek için Evet ' i seçebilirsiniz. Kodda belirtilen metni görüntüleyen bir konsol penceresi görürsünüz.

    Uygulamanızı derleyin ve başlatın.

  4. İşiniz bittiğinde konsol penceresini kapatın.

Bazı matematik işlemlerini yapmak için kod ekleme

Biraz matematik mantığı ekleme zamanı.

Hesaplayıcı sınıfı eklemek için

  1. Project menüsüne gidin ve sınıf ekle' yi seçin. Sınıf adı düzenleme kutusuna Hesaplayıcıyazın. Tamam ' ıseçin. Projenize iki yeni dosya eklenir. Değiştirdiğiniz tüm dosyaları aynı anda kaydetmek için CTRL + SHIFT + Stuşlarına basın. Bu, Dosyakaydetme için bir klavye kısayoludur . Ayrıca , Kaydet düğmesinin yanında bulunan iki disket simgesi olan Tümünü Kaydetiçin bir araç çubuğu düğmesi de vardır. Genel olarak, kaydetme sırasında herhangi bir dosyayı kaçırmamak için sık sık kaydedilmesi iyi bir uygulamadır.

    Sınıf Ekle iletişim kutusunu açan kullanıcıyı gösteren kısa bir video, sınıf adı alanına Hesaplayıcı yazın ve O K öğesini seçin.

    Bir sınıf, bir şeyi yapan bir nesne için şema gibidir. Bu durumda, bir Hesaplayıcı ve nasıl çalışması gerektiğini tanımladık. Yukarıda kullandığınız sınıf ekleme Sihirbazı, sınıf ile aynı ada sahip. h ve. cpp dosyalarını oluşturdu. Proje dosyalarınızın tam listesini, IDE 'nin yanında görünen Çözüm Gezgini penceresinde görebilirsiniz. Pencere görünmüyorsa, menü çubuğundan açabilirsiniz: GörünümÇözüm Gezgini' yi seçin.

    Hesap makinesi öğreticisi projesini görüntüleyen Çözüm Gezgini penceresinin ekran görüntüsü.

    Düzenleyicide Şu anda üç sekme açık olmalıdır: Hesaplayıöğreticisi. cpp, Hesaplayıcı. hve Hesaplayıcı. cpp. Yanlışlıkla bunlardan birini kapatırsanız, Çözüm Gezgini penceresinde onu çift tıklayarak yeniden açabilirsiniz.

  2. Hesap makinesi. hiçinde, burada, ~Calculator(); bunlara ihtiyacınız olmadığından, oluşturulan ve satırları kaldırın. Ardından, dosyanın şimdi şöyle görünmesi için aşağıdaki kod satırını ekleyin:

    #pragma once
    class Calculator
    {
    public:
        double Calculate(double x, char oper, double y);
    };
    

    Kodu anlama

    • Eklediğiniz satır, Calculate toplama, çıkarma, çarpma ve bölme için matematik işlemlerini çalıştırmak için kullanacağımız yeni bir işlev bildirir.
    • C++ kodu, üstbilgi (. h) dosyaları ve kaynak (. cpp) dosyaları halinde düzenlenir. Çeşitli derleyiciler tarafından desteklenen çeşitli dosya uzantıları şunlardır, ancak bunlar hakkında bilgi sahibi olmak için başlıca değerlerdir. İşlevler ve değişkenler normalde tanımlanmış, diğer bir deyişle, bir ad ve tür, başlık dosyalarında, uygulananveya bir tanım verilen kaynak dosyalarında. Başka bir dosyada tanımlanan koda erişmek için, #include "filename.h" ' filename. h ' öğesini kullanmak istediğiniz değişkenleri veya işlevleri bildiren dosyanın adı olan ' i kullanabilirsiniz.
    • Sildiğiniz iki satır, sınıf için bir Oluşturucu ve yıkıcı bildirdi. Bunun gibi basit bir sınıf için derleyici bunları sizin için oluşturur ve kullanımları Bu öğreticinin kapsamı dışındadır.
    • Kodunuzu, ne yapacaklarına göre farklı dosyalara düzenlemek iyi bir uygulamadır. bu sayede, daha sonra ihtiyacınız olan kodu kolayca bulabilirsiniz. Bizim örneğimizde, Calculator sınıfı işlevi içeren dosyadan ayrı olarak tanımladık main() , ancak içinde sınıfına başvuru planlıyoruz Calculatormain() .
  3. Altında yeşil renkli bir çizgi görünür Calculate . Bunun nedeni, Calculate . cpp dosyasında işlevi tanımlamadık. Sözcüğün üzerine gelin, açılan açık ampul ' e tıklayın ve Hesaplayıcı. cpp ' de ' Calculate ' tanımı oluştur' u seçin. Diğer dosyada yapılan kod değişikliğinin bir özetini sunan bir açılır pencere görünür. Kod, Hesaplayıcı. cppöğesine eklendi.

    Hesaplayıcı C 'de hesaplama tanımı oluştur seçeneğini belirleyerek kullanıcıyı gösteren kısa bir video.

    Şu anda yalnızca 0,0 döndürüyor. Şimdi bunu değiştirelim. Açılır pencereyi kapatmak için ESC tuşuna basın.

  4. Düzenleyici penceresindeki Hesaplayıcı. cpp dosyasına geçin. Calculator()Ve bölümlerini kaldırın ~Calculator() (. h dosyasında yaptığınız gibi) ve aşağıdaki kodu öğesine ekleyin Calculate() :

    #include "pch.h"
    #include "Calculator.h"
    
    double Calculator::Calculate(double x, char oper, double y)
    {
        switch(oper)
        {
            case '+':
                return x + y;
            case '-':
                return x - y;
            case '*':
                return x * y;
            case '/':
                return x / y;
            default:
                return 0.0;
        }
    }
    

    Kodu anlama

    • İşlevi Calculate bir sayı, bir işleç ve ikinci bir sayı kullanır, ardından istenen işlemi sayılar üzerinde gerçekleştirir.
    • Switch ifadesinde hangi işlecin sağlandığını kontrol eder ve yalnızca bu işleme karşılık gelen servis talebi yürütülür. Varsayılan: durum, kullanıcının kabul edilmeyen bir işleç yazdığında, dolayısıyla programın kesintiye uğramaması durumunda bir geri dönüş olur. Genel olarak, geçersiz kullanıcı girişini daha zarif bir şekilde işlemek en iyisidir, ancak Bu öğreticinin kapsamı dışındadır.
    • doubleAnahtar sözcüğü, Onlukları destekleyen bir sayı türünü gösterir. Bu şekilde, hesaplayıcı hem Decimal Math hem de Integer Math işleyebilir. Calculateİşlevin, kodun çok başlangıcında (Bu, işlevin dönüş türünü belirtir), bu nedenle her zaman bir sayının bu tür bir değer döndürmesi gerekir double . Bu, varsayılan durumda bile 0,0 getirdiğimiz anlamına gelir.
    • . H dosyası, derleyicinin hangi parametrelere ihtiyacı olduğunu ve bundan beklenen dönüş türünü belirten işlev prototipinibildirir. . Cpp dosyası, işlevin tüm uygulama ayrıntılarına sahiptir.

Kodu bu noktada yeniden oluşturup çalıştırırsanız, hangi işlemin gerçekleştirileceğini soran bir çıkış devam eder. Sonra, main bazı hesaplamalar yapmak için işlevini değiştirirsiniz.

Hesaplayıcı sınıfı üye işlevlerini çağırmak için

  1. Şimdi, mainmainişlevini güncelleştirelim:

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include "pch.h"
    #include <iostream>
    #include "Calculator.h"
    
    using namespace std;
    
    int main()
    {
        double x = 0.0;
        double y = 0.0;
        double result = 0.0;
        char oper = '+';
    
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b"
             << endl;
    
        Calculator c;
        while (true)
        {
            cin >> x >> oper >> y;
            result = c.Calculate(x, oper, y);
            cout << "Result is: " << result << endl;
        }
    
        return 0;
    }
    

    Kodu anlama

    • C++ programları her zaman main() işlevde başladığından, diğer kodumuzu buradan çağırmamız gerekir, bu nedenle bir #include ifade gereklidir.
    • Bazı ilk değişkenler,, xyoper ve result sırasıyla ilk Number, İkinci sayı, işleç ve nihai sonucu depolayacak şekilde bildirilmiştir. Bu, burada yapılan tanımsız davranışlara engel olmak için bazı ilk değerleri vermek her zaman iyi bir uygulamadır.
    • Calculator c;Satır, sınıfının bir örneği olarak ' c ' adlı bir nesne bildirir Calculator . Sınıfın kendisi, hesaplayıcıların nasıl çalıştığı hakkında yalnızca bir şema olur; nesnesi, matematik yapan özel Hesaplayıcı ' dır.
    • while (true)İfade bir döngüdür. Döngü içindeki kod, ' ın içindeki koşul doğru olduğu sürece yeniden yürütmeye devam eder () . Koşul yalnızca olarak listelendiğinden, true her zaman doğru olduğundan, döngü süresiz olarak çalışır. Programı kapatmak için Kullanıcı konsol penceresini el ile kapatması gerekir. Aksi takdirde, program her zaman yeni giriş bekler.
    • cinAnahtar sözcüğü, kullanıcıdan girişi kabul etmek için kullanılır. Bu giriş akışı, konsol penceresinde girilen bir metin satırını işlemek için yeterince akıllı bir işlemdir ve Kullanıcı girişinin gerekli belirtile eşleştiğini varsayarak, listelenen değişkenlerin her birini sırayla yerleştirebilirsiniz. Bu satırı, örneğin iki sayıdan fazla farklı giriş türlerini kabul etmek için değiştirebilir, ancak Calculate() işlevin bunu işlemek için de güncelleştirilmeleri gerekir.
    • c.Calculate(x, oper, y);İfade, Calculate daha önce tanımlanan işlevi çağırır ve girilen giriş değerlerini sağlar. İşlev daha sonra ' de depolanan bir sayı döndürür result .
    • Son olarak result konsola yazdırılır, böylece Kullanıcı hesaplamanın sonucunu görür.

Kodu yeniden derleyin ve test edin

Artık, her şeyin düzgün çalıştığından emin olmak için programı yeniden test etme zamanı.

  1. Uygulamayı yeniden oluşturmak ve başlatmak için CTRL + F5 tuşlarına basın.

  2. Yazın 5 + 5 ve ENTER tuşuna 5 + 5basın. Sonucun 10 olduğunu doğrulayın.

    Microsoft Visual Studio hata ayıklama konsolunun, doğru 5 + 5 sonucunu gösteren ekran görüntüsü.

Uygulamada hata ayıklama

Kullanıcı konsol penceresine herhangi bir şey yazmadığından ücretsiz olduğundan, hesap makinesinin bazı girişleri beklendiği gibi işlemesini sağlayın. Programı çalıştırmak yerine, bunun yerine hata ayıklaalım, bu nedenle ne yaptığını ayrıntılı olarak inceleyebileceğiniz adım adım.

Uygulamayı hata ayıklayıcıda çalıştırmak için

  1. result = c.Calculate(x, oper, y);Yalnızca kullanıcıdan giriş sorulduktan sonra, satırda bir kesme noktası ayarlayın. Kesme noktasını ayarlamak için, düzenleyici penceresinin sol kenarındaki gri dikey çubukta bulunan çizgiye tıklayın. Kırmızı bir nokta görünür.

    Bir kesme noktasını temsil eden kırmızı noktayı oluşturan kullanıcıyı gösteren kısa bir görsel Studios videosu.

    Artık programda hata ayıklaması yaptığımız zaman, bu satırdaki yürütmeyi her zaman duraklatır. Programın basit durumlar için çalışmasına yönelik kaba bir fikrimiz zaten var. Yürütmeyi her seferinde duraklatmak istemediğimiz için, kesme noktasını koşullu hale getirir.

  2. Kesme noktasını temsil eden kırmızı noktaya sağ tıklayın ve koşullar' ı seçin. Koşulun düzenleme kutusunda, girin (y == 0) && (oper == '/') . İşiniz bittiğinde Kapat düğmesini seçin. Koşul otomatik olarak kaydedilir.

    kesme noktası Ayarlar bölümünü açan ve koşullu bir kesme noktası ayarlayarak kullanıcı gösteren Visual Studio 2019 ' in kısa videosu.

    Artık 0 olarak bölme denendiğinde yürütme kesme noktasında yürütmeyi durakladık.

  3. programda hata ayıklamak için F5'e basın veya yeşil ok simgesine sahip yerel Windows hata ayıklayıcı araç çubuğu düğmesini seçin. Konsol uygulamanızda, "5-0" gibi bir şey girerseniz, program normal şekilde davranır ve çalışır durumda kalır. Ancak, "10/0" yazarsanız, kesme noktasında duraklatılır. İşleç ve sayı arasında istediğiniz sayıda boşluk da koyabilirsiniz; cin girişi uygun şekilde ayrıştırmaya yetecek kadar akıllı bir değer.

    Programın koşullu kesme noktasında durakladığını gösteren, Visual Studios 'ın kısa videosu.

Hata ayıklayıcıda yararlı pencereler

Kodunuzda hata ayıkladığınızda, bazı yeni pencerelerin göründüğünü fark edebilirsiniz. Bu pencereler hata ayıklama deneyiminize yardımcı olabilir. Oto penceresine göz atın. Oto penceresinde, geçerli satıra en az üç satır önce kullanılan değişkenlerin geçerli değerlerini gösterir.

Oto penceresi.

Bu işlevden tüm değişkenleri görmek için Yereller penceresine geçin. Bu değişkenlerin değerlerini hata ayıklama sırasında değiştirebilir ve programda neler olacağını görebilirsiniz. Bu durumda, bunları tek başına bırakacağız.

Yereller penceresinin ekran görüntüsü.

Ayrıca, yürütmenin Şu anda duraklatıldığı geçerli değerlerini görmek için yalnızca kodun kendisindeki değişkenlerin üzerine gelebilmeniz gerekir. Önce üzerine tıklayarak düzenleyici penceresinin odaklandığından emin olun.

Değişkenin değerini görüntüleyen Araç ipucunu gösteren kısa bir video.

Hata ayıklamaya devam etmek için

  1. Sol taraftaki sarı çizgi, geçerli yürütme noktasını gösterir. Geçerli satırı çağırır Calculate , bu nedenle Işlev içine dönmek için Calculate tuşuna basın. Kendi kendinize işlevin gövdesinde bulacaksınız Calculate . Adımlailgili dikkatli olun; Bunu çok fazla yaparsanız, çok sayıda atık hale gelebilir. Standart Kitaplık işlevleri dahil olmak üzere, üzerinde olduğunuz satırda kullandığınız herhangi bir koda gider.

  2. Yürütme noktası işlevin başlangıcında olduğuna göre Calculate , program yürütmesinin sonraki satırına geçmek Için Calculate tuşuna basın. F10 , adım adımolarak da bilinir. Satırdaki her bir bölümde gerçekleşdiklerin ayrıntılarına odaklanmadan satırdan satıra geçiş yapmak için Step Over ' u kullanabilirsiniz. Genel olarak, başka bir yerde Çağrılmakta olan kodu daha ayrıntılı bir şekilde incelemek istemediğiniz sürece (' ın gövdesine ulaştığınız gibi) daha fazla bilgi almak istiyorsanız, ' ın Içine adımlayerine adımını kullanmanız gerekir .

  3. Diğer dosyadaki işleve geri dönüp satır üzerinde durana kadar her bir satırda adım adım ilerleyin .

    Hesaplama ve denetim sonucunu adımla.

    Program beklenildiği gibi görünüyor: ilk sayıyı alır ve ikinciden böler. coutSatırda, değişkenin üzerine gelin result veya resultcout penceresinde bir göz atın. Değerin "INF" olarak listelendiğini görürsünüz ve bu, doğru görünmüyor ve bunu çözeceğiz. coutSatır, ' de hangi değerin depolandığını result gösterir. bu nedenle, coutkullanarak ileri bir satır daha ilerlememeniz halinde konsol penceresi şunu görüntüler:

    Microsoft Visual Studio hata ayıklama konsolunun sıfıra bölme sonucunu gösteren ekran görüntüsü.

    Bu sonuç, sıfıra bölme tanımsız olduğundan, programın istenen işleme bir sayısal yanıtı olmadığından meydana gelir.

"Sıfıra bölme" hatasını onarmak için

Daha düzgün bir şekilde bölme yaparak, bir Kullanıcı sorunu anlayabiliyor.

  1. Hesaplatoröğreticisi. cpp' de aşağıdaki değişiklikleri yapın. ( Düzenle ve devam etadlı bir hata ayıklayıcı özelliği sayesinde programı düzenlediğiniz şekilde çalışır durumda bırakabilirsiniz):

    // CalculatorTutorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
    //
    
    #include "pch.h"
    #include <iostream>
    #include "Calculator.h"
    
    using namespace std;
    
    int main()
    {
        double x = 0.0;
        double y = 0.0;
        double result = 0.0;
        char oper = '+';
    
        cout << "Calculator Console Application" << endl << endl;
        cout << "Please enter the operation to perform. Format: a+b | a-b | a*b | a/b" << endl;
    
        Calculator c;
        while (true)
        {
            cin  >> x  >> oper  >> y;
            if (oper == '/' && y == 0)
            {
                cout << "Division by 0 exception" << endl;
                continue;
            }
            else
            {
                result = c.Calculate(x, oper, y);
            }
            cout << "Result is: " << result << endl;
        }
    
        return 0;
    }
    
  2. Şimdi F5 tuşuna basın. Program yürütme, Kullanıcı girişi istemek için duraklamaya kadar tüm şekilde devam eder. 10 / 0Yeniden girin. Şimdi, daha yararlı bir ileti yazdırılır. Kullanıcıdan daha fazla giriş istenir ve program normal yürütülmeye devam eder.

    Microsoft Visual Studio hata ayıklama konsolunun, değişikliklerden sonraki nihai sonucu gösteren kısa bir video.

    Not

    Hata ayıklama modundayken kodu düzenlerken, kodun eskimiş olma riski vardır. Bu durum, hata ayıklayıcı eski kodunuzu çalıştırmakta olduğunda ve henüz değişikliklerinizi güncelleştirmemişse oluşur. Hata ayıklayıcı, bu gerçekleştiğinde sizi bilgilendirmek için bir iletişim kutusu açılır. Bazen, yürütülen kodu yenilemek için F5 tuşuna basmanız gerekebilir. Özellikle, bir işlev içinde bir değişiklik yaparsanız, yürütme noktası bu işlevin içindeyse, işlevin dışına dönerek güncelleştirilmiş kodu almak için yeniden tekrar açmanız gerekir. Bu bir nedenle işe yaramazsa ve bir hata iletisi görürseniz, IDE 'nin en üstündeki menülerin altında bulunan araç çubuğunda kırmızı kareye tıklayarak hata ayıklamayı durdurabilirsiniz, ardından F5 tuşuna basarak veya araç çubuğundaki Durdur düğmesinin yanındaki yeşil "Oynat" okunu seçerek yeniden hata ayıklamayı başlatabilirsiniz.

    Çalıştırma ve hata ayıklama kısayollarını anlama

    • F5(veya hata ayıklamabaşlatma hataayıklaması), etkin değilse bir hata ayıklama oturumu başlatır ve bir kesme noktasına ulaşılana veya programın kullanıcı girişine ihtiyacı olacak şekilde programı çalıştırır. Kullanıcı girişi gerekmiyorsa ve isabet almak için kullanılabilir kesme noktası yoksa, program sonlanır ve program çalışmayı bitirdiğinde konsol penceresi kendisini kapatır. Çalıştırmak üzere bir "Merhaba Dünya" programı varsa, pencereyi açık tutmak için F5 tuşuna girmeden önce CTRL + F5 kullanın veya bir kesme noktası ayarlayın.
    • CTRL + F5(veya hata ayıklamaolmadan Başlat), hata ayıklama moduna geçmeden uygulamayı çalıştırır. Bu, hata ayıklamadan biraz daha hızlıdır ve program yürütmeyi tamamladıktan sonra konsol penceresi açık kalır.
    • F10 ( adım adımolarak bilinir) kod içinde, satır içi olarak yinelemenize ve kodun nasıl çalıştırılacağını ve her yürütme adımında değişken değerlerinin ne olduğunu görselleştirmenizi sağlar.
    • F11 ( adımolarak bilinir), yürütme sırasında çağrılan herhangi bir Işleve adımla değil, adımlaaynı şekilde çalışır. Örneğin, yürütülenmekte olan satır bir işlev çağırırsa, F11 tuşuna basıldığında işaretçiyi işlevin gövdesine taşıdıkça işlevin kodunu, başlattığınız satıra geri gelmeden önce, çalıştırılan işlevin kodunu takip edebilirsiniz. İşlev çağrısının üzerindeki F10 adımlara basmak ve yalnızca sonraki satıra gitme; işlev çağrısı hala gerçekleşir, ancak program ne yaptığını göstermek için duraklamaz.

Uygulamayı kapat

  • Hala çalışıyorsa, hesaplayıcı uygulamasının konsol penceresini kapatın.

Tebrikler! Hesaplayıcı uygulamasının kodunu tamamlayıp Visual Studio oluşturup hata ayıklaması yapın.

Sonraki adımlar

C++ için Visual Studio hakkında daha fazla bilgi edinin