Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обычной отправной точкой для программиста C++ является приложение "Hello, world!", которое выполняется в командной строке. Вы начинаете с этого в этой статье, а затем переходите к чему-то более сложному: приложению калькулятора.
Предпосылки
- Visual Studio с установленной и запущенной на компьютере рабочей нагрузкой Разработка классических приложений на C++. Чтобы установить его, см. раздел "Установка поддержки C++ в Visual Studio".
- В этом руководстве демонстрируется функция под названием "Редактировать и продолжить", которая позволяет вносить изменения в код во время работы приложения. Чтобы включить режим изменения и продолжения, в главном меню выберите Инструменты>Параметры>Отладка>Общие и убедитесь, что установлена опция Требовать точного соответствия исходных файлов оригинальной версии.
Создание проекта приложения
Visual Studio использует проекты для упорядочивания кода для приложения и решений для организации одного или нескольких проектов. Проект содержит все параметры, конфигурации и правила, используемые для создания приложения. Он также управляет связью между всеми файлами проекта и любыми внешними файлами. Чтобы создать приложение, сначала создайте проект и решение.
Запустите Visual Studio- появится диалоговое окно "Пуск Visual Studio". Выберите "Создать проект", чтобы приступить к работе.
В диалоговом окне есть параметры клонирования репозитория, открытия проекта или решения, открытия локальной папки и создания нового проекта".
В диалоговом окне "Создание проекта " установите раскрывающийся список языка на C++, установите раскрывающийся список платформы в Windows, выберите консольное приложение из списка типов проектов, а затем нажмите кнопку "Далее".
Раскрывающийся список языка имеет значение C++, раскрывающийся список платформы имеет значение Windows, а типы проектов, такие как пустой проект, консольное приложение, проект CMake, мастер рабочего стола Windows и т. д., отображаются в списке типов проектов".
Это важно
Убедитесь, что выбрана версия C++ шаблона консольного приложения . Он содержит теги C++, Windows и консоли , а значок имеет "++" в углу.
В диалоговом окне "Настройка нового проекта " выберите текстовое поле "Имя проекта", назовите новый проект CalculatorTutorial, а затем нажмите кнопку "Создать".
Создается пустое консольное приложение C++ Windows Hello World. Консольные приложения используют окно консоли Windows для отображения выходных данных и приема входных данных пользователей. В Visual Studio откроется окно редактора и отображает созданный код:
// 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
Убедитесь, что ваше новое приложение собирается и запускается
Шаблон для нового консольного приложения Windows создает простое приложение C++ "Hello World". На этом этапе вы узнаете, как Visual Studio создает и запускает приложения, которые вы создаете прямо из интегрированной среды разработки.
Чтобы собрать ваш проект, выберите "Собрать решение" в меню "Сборка". В окне выходных данных показаны результаты процесса сборки.
Чтобы запустить код, в строке меню выберите "Начать отладку>" без отладки (CTRL+F5).
Откроется окно консоли и приложение выполняется в нем.
При запуске консольного приложения в Visual Studio он запускает код, а затем выводит сообщение "Нажмите любую клавишу, чтобы закрыть это окно. . .", чтобы дать вам возможность увидеть выходные данные.
Поздравляю! Вы создали свое первое консольное приложение "Hello, world!" в Visual Studio!
Нажмите клавишу, чтобы закрыть окно консоли и вернуться в Visual Studio.
Теперь у вас есть средства для создания и запуска приложения после каждого изменения, чтобы убедиться, что код по-прежнему работает должным образом. Позже мы покажем, как отладить его, если что-то пойдет не так.
Изменение кода
Теперь давайте изменим код в этом шаблоне, чтобы он был приложением калькулятора.
Замените содержимое
CalculatorTutorial.cpp
файла следующим кодом, чтобы он соответствовал этому примеру:// 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
Общие сведения о коде:
- Инструкция
#include
включает код из других файлов. Иногда может отображаться имя файла, окруженное угловыми скобками, например<iostream>
. Угловые скобки указывают компилятору сначала искатьiostream
файл заголовка в стандартных системных каталогах, а если он не найден, чтобы просмотреть каталоги, относящиеся к проекту. В других случаях может отображаться имя файла, окруженное такими кавычками"someHeader.h"
. Кавычки указывают компилятору пропустить поиск в стандартных системных каталогах, а вместо этого искать только в каталогах проекта. -
using namespace std;
сообщает компилятору, что в этом файле следует ожидать использование кода из стандартной библиотеки C++. Без этой строки каждое ключевое слово из библиотеки должно быть предшествовалоstd::
, чтобы указать на область. Например, без этой строки каждая ссылкаcout
будет записана какstd::cout
. Инструкцияusing
добавляется, чтобы упростить доступ к коду в другом пространстве имен. - Ключевое
cout
слово используется для печати стандартных выходных данных в C++. Оператор<<
сообщает компилятору отправлять все, что находится справа от него, в стандартные выходные данные. - Ключевое
endl
слово похоже на клавишу ВВОД; он заканчивает строку и перемещает курсор на следующую строку. Лучше поместить\n
внутрь строки (содержимой в""
), чтобы сделать то же самое, потому чтоendl
всегда очищает буфер, что может ухудшить производительность программы. Но так как это очень небольшое приложение,endl
вместо этого используется. - Все операторы C++ должны заканчиваться точкой с запятой, а все приложения C++ должны содержать функцию
main()
. Функция выполняется при запуске программы. Все коды должны быть доступны изmain()
, чтобы их можно было использовать.
- Инструкция
Чтобы сохранить файл, нажмите клавиши CTRL+S или щелкните значок диска floppy на панели инструментов в строке меню.
Чтобы запустить приложение, нажмите клавиши CTRL+F5 или перейдите в меню отладки и нажмите кнопку "Пуск без отладки". Должно появиться окно консоли, которое выглядит следующим образом.
Закройте окно консоли после завершения.
Добавление кода для выполнения некоторых математических действий
Класс похож на схему для объекта, который делает что-то. В этом случае мы определим класс калькулятора для хранения математической логики.
Добавление класса Калькулятора
Перейдите в меню "Проект" и выберите "Добавить класс". В поле редактирования имени класса введите калькулятор. Нажмите ОК.
Поле имени класса содержит калькулятор текста. Поле .h файла содержит Calculator.h. Поле файла .cpp содержит Calculator.cpp. Поле базового класса пусто. Параметры встроенной и управляемой отключены.
В проект добавляются два новых файла. Чтобы сохранить все измененные файлы одновременно, нажмите клавиши CTRL+SHIFT+S. Это сочетание клавиш для Файл>Сохранить все. Есть также кнопка панели инструментов для сохранить все, значок с изображением двух дискет, рядом с кнопкой «Сохранить». Как правило, рекомендуется часто сохранять все , поэтому вы не пропустите никаких изменений.
Мастер Добавить Класс создает файлы
.h
и.cpp
, которые имеют то же имя, что и класс. Полный список файлов проекта можно просмотреть в окне обозревателя решений , который отображается на стороне интегрированной среды разработки. Если окно не отображается, откройте его в меню через Вид>Обозреватель решений.В проекте руководства по калькулятору есть узел файлов заголовков, содержащий Calculator.h. Узел исходных файлов содержит Calculator.cpp и CalculatorTutorial.cpp. Узлы для ссылок, внешних зависимостей и файлов ресурсов видимы, но закрыты.
Файл можно открыть, дважды щелкнув его в окне обозревателя решений . Дважды щелкните
Calculator.h
, чтобы открыть.Замените содержимое
Calculator.h
следующим кодом, чтобы файл выглядел следующим образом:#pragma once class Calculator { public: double Calculate(double x, char oper, double y); };
Общие сведения о коде
- Этот код объявляет новую функцию
Calculate
, которая обрабатывает математические операции для добавления, вычитания, умножения и деления. - Код C++ организован в файлы заголовков и
.h
исходные (.cpp
файлы). Некоторые другие расширения файлов поддерживаются различными компиляторами, но это основные, о которых нужно знать. Функции и переменные обычно объявляются, т. е. присваиваются имя и тип, в файлах заголовков и реализуются или определяются в исходных файлах. Для доступа к коду, определенному в другом файле, можно использовать#include "filename.h"
имя файла,filename.h
объявляющего переменные или функции, которые вы хотите использовать. - Хорошей практикой является организовать ваш код в разные файлы в зависимости от выполняемых функций, чтобы позже легко найти нужный код. В нашем случае мы определяем
Calculator
класс отдельно от файла, содержащегоmain()
функцию, но мы планируем ссылаться наCalculator
класс вmain()
.
- Этот код объявляет новую функцию
Зеленый волнистый элемент отображается под
Calculate
тем, что, хотяCalculate
функция объявлена, она не определена.Calculate
Наведите указатель мыши, щелкните стрелку вниз на значке отвертки и выберите "Создать определение вычисления" вCalculator.cpp
.Этот код добавляется в
Calculator.cpp
:Определение функции: double Calculator::Calculate(double x, char oper, double y) { return 0,0; }
В настоящее время он возвращает только 0,0. Давайте изменим это.
Переключитесь на
Calculator.cpp
файл в окне редактора. Замените содержимоеCalculator::Calculate(double x, char oper, double y)
следующим: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; } }
Общие сведения о коде
- Функция
Calculate
принимает число, оператор и второй номер. Затем он выполняет запрошенную операцию для двух чисел. - Инструкция
switch
проверяет, какой оператор был предоставлен, и выполняет блок кода, соответствующий этой операции. На случай если пользователь вводит оператор, который не обрабатывается ни одной из предыдущихdefault:
выражений, этоcase
является резервным вариантом. Лучше всего обрабатывать недопустимые входные данные пользователей более элегантным образом, но это выходит за рамки этого руководства. - Ключевое
double
слово обозначает тип числа, поддерживающего десятичные разряды. Этот тип числа называется числом с плавающей запятой иdouble
означает число с плавающей запятой, которое имеет дополнительную точность. Таким образом калькулятор может обрабатывать как десятичную математику, так и целочисленную математику. ФункцияCalculate
должна всегда возвращать число с плавающей запятой двойной точности из-заdouble
в начале кода (это обозначает тип возвращаемого значения функции), поэтому мы возвращаем значение 0.0 в случае по умолчанию. - Файл
.h
объявляет прототип функции, который сообщает компилятору заранее, какие параметры он требует, и какой тип возвращаемого значения следует ожидать от него. Файл.cpp
содержит все сведения о реализации функции.
- Функция
Если вы создаете и снова запускаете код на этом этапе, он немедленно завершает работу после запроса выполнения операции. Таким образом, измените функцию main
для выполнения нескольких вычислений.
Вызовите функции-члены класса Calculator
Обновите функцию
main
вCalculatorTutorial.cpp
следующим образом:// 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 " << "of " << x << oper << y << " is: " << result << endl; } return 0; }
Общие сведения о коде
- Так как программы C++ всегда начинаются с функции
main()
, нам нужно вызвать наш другой код из этой функции, поэтому требуется инструкция#include
для того, чтобы сделать этот код видимым для функцииmain()
. - Переменные
x
,y
oper
иresult
объявляются для хранения первого числа, второго числа, оператора и конечного результата соответственно. Всегда рекомендуется дать им некоторые начальные значения, чтобы избежать неопределенного поведения, что делается здесь. - Строка
Calculator c;
объявляет объект с именемc
экземпляраCalculator
класса. Сам класс — это просто схема работы калькуляторов; Объект — это конкретный калькулятор, который выполняет математические вычисления. - Оператор
while (true)
является циклом. Код внутри цикла выполняется снова и снова, пока условие внутри()
содержит значение true. Так как условие просто указано какtrue
, это всегда верно, поэтому цикл выполняется навсегда. Чтобы закрыть программу, пользователь должен вручную закрыть окно консоли. В противном случае программа всегда ожидает новых входных данных. - Ключевое
cin
слово принимает входные данные от пользователя. Входной поток достаточно умный, чтобы обработать строку текста, введенную в окне консоли, и поместить ее внутри каждой из перечисленных переменных в порядке. - Выражение
c.Calculate(x, oper, y);
вызываетCalculate
функцию, определенную ранее, и предоставляет введенные входные значения и запрошенную операцию. Затем функция возвращает число, хранящееся вresult
. - Наконец, выводится в консоль,
result
и пользователь видит результат вычисления.
- Так как программы C++ всегда начинаются с функции
Создание и проверка кода снова
Теперь протестируйте программу еще раз, чтобы убедиться, что все работает правильно.
Нажмите CTRL+F5, чтобы перестроить и запустить приложение.
Введите
5+5
, и нажмите ВВОД. Убедитесь, что результат равен 10.Приложение выводит сообщение: введите операцию для выполнения. Формат: a+b | a-b | a*b | a/b. Пользователь ввел 5+5. Выходные данные приложения: результат 5+5: 10
Остановите программу, закрыв окно консоли.
Отладка приложения
Так как пользователь может вводить что-либо в окно консоли, давайте убедимся, что калькулятор обрабатывает непредвиденные входные данные. Вместо запуска программы давайте отладим его, чтобы мы могли проверить, что он делает пошаговые действия.
Запуск приложения в отладчике
В
CalcuatorTutorial.cpp
установите точку останова на строке:result = c.Calculate(x, oper, y);
Чтобы задать точку останова, щелкните рядом с линией в серой вертикальной полосе вдоль левого края окна редактора, чтобы появилась красная точка.Теперь при отладке программы выполнение приостанавливается в этой строке. У нас уже есть грубое представление о том, что программа работает в простых случаях. Так как мы не хотим приостанавливать выполнение при каждом вызове
Calculate()
, давайте сделаем точку останова условной.Щелкните правой кнопкой мыши красную точку, представляющую точку останова, и выберите "Условия". В поле редактирования условия введите
(y == 0) && (oper == '/')
. Нажмите кнопку "Закрыть ", чтобы сохранить условие точки останова.Точка останова находится в строке: результат = c точка Вычислить(x, oper, y). "Условия…" Опция "Условия" отмечена. В раскрывающемся списке "Условия" задано значение "Условное выражение". Раскрывающийся список условий установлен на "истинно". Условие установлено как y == 0 && oper == '/'.
Теперь выполнение приостанавливается в точке останова, когда приложение пытается разделить на 0.
Чтобы отладить программу, нажмите клавишу F5 или выберите кнопку на панели инструментов локального отладчика Windows с изображением зеленой стрелки. В консольном приложении, если ввести примерно такую же команду, как "5 – 0", программа работает нормально и продолжает работать. Однако если ввести "10/0", он приостанавливается в точке останова. Можно поместить любое количество пробелов между оператором и числами:
cin
достаточно умён, чтобы правильно интерпретировать входные данные.
Полезные окна в отладчике
При отладке кода могут появиться некоторые новые окна. Эти окна могут помочь в отладке. Посмотрите на окно Автомобили. В окне "Автоматически" отображаются текущие значения переменных, которые использовались по крайней мере три строки до текущей строки. Если окно "Авто" не отображается, в главном меню выберите "Отладка>windows>Autos".
Значение операции равно 47 '/', результат равен 5, x равно 10, а y — 0.
Чтобы просмотреть все переменные из этой функции, перейдите в окно "Локальные". Так как это небольшая функция, окно "Авто" и "Локальные" отображают одни и те же переменные. Но вы можете изменить значения этих переменных в окне "Локальные" во время отладки, чтобы узнать, какой эффект они будут иметь в программе. В этом случае мы оставим их в одиночку. Откройте окно "Локальные", выбрав "Локальные" в нижней части окна "Авто" или выбрав в главном меню "Отладка>Windows>"Локальные".
Значение операции равно 47 "/", результат равен 0, x равно 10, а y — 0.
Вы также можете навести указатель мыши на переменные в коде, чтобы увидеть текущие значения в точке приостановки выполнения. Убедитесь, что окно редактора находится в фокусе, щелкнув его первым.
Продолжить отладку
Желтая стрелка слева показывает текущую точку выполнения. Текущая строка вызывает
Calculate
, поэтому нажмите F11, чтобы войти в функцию. Теперь вы выполняете код в телеCalculate
функции. Будьте осторожны с Шагом Внутрь, так как он выполняет переход в любые функции на строке, на которой вы находитесь, включая функции стандартной библиотеки. Хорошо изучить стандартную библиотеку, но вам может быть более интересно сосредоточиться на своём собственном коде, а не на коде библиотеки.Теперь, когда точка выполнения находится в начале
Calculate
функции, нажмите клавишу F10 , чтобы перейти к следующей строке в выполнении программы. F10 также называется step over. Вы можете использовать шаг "Сверху" , чтобы перейти от строки к строке, не углубляясь в детали того, что происходит в каждой части строки. В общем случае следует использовать Шаг через, а не Шаг внутрь, если вы не хотите более глубоко изучить код, вызываемый из другого места (как вы это сделали, чтобы достичь телаCalculate
).Продолжайте использовать F10, чтобы шаг за шагом переходить по каждой строке, пока не вернетесь к
main()
функции в другом файле, и остановитесь наcout
строке.Программа делает то, что ожидается: она берет первое число и делит его на второе. На строке
cout
наведите указатель мыши наresult
переменную или просмотритеresult
в окне 'Авто'. Его значение —inf
, которое не выглядит правильным.Текущая инструкция в отладчике — cout << "Результат: " << результат << endl; В окне автопеременных результат равен inf.
Давайте исправим его. Строка
cout
выводит значение, которое хранится вresult
, поэтому, если вы сделаете ещё один шаг вперёд с помощью F10, отобразится окно консоли:Выходные данные приложения: введите операцию для выполнения. Формат: a+b | a-b | a*b | a/b. Пользователь ввел 5-0. Вывод приложения: Результат: 5. Пользователь ввел 10/0. Выходные данные приложения: результат: inf
Этот результат обусловлен тем, что деление по нулю не определено, поэтому программа не имеет числового ответа на запрошенную операцию.
Исправлена ошибка "деление на ноль"
Давайте обработаем деление на ноль более корректно, чтобы пользователю было проще понять проблему.
Внесите следующие изменения в
CalculatorTutorial.cpp
. Вы можете оставить программу запущенной при редактировании, благодаря функции отладчика с именем Edit and Continue. Добавьте следующуюif
cin >> x >> oper >> y;
инструкцию, чтобы проверить деление по нулю и вывести сообщение пользователю, если это произойдет. В противном случае результат выводится.// 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 << "Math error: Attempted to divide by zero!" << endl; continue; } else { result = c.Calculate(x, oper, y); } cout << "Result " << "of " << x << oper << y << " is: " << result << endl; } return 0; }
Один раз нажмите клавишу F5 . Выполнение программы продолжается до тех пор, пока не потребуется приостановить её для запроса пользовательского ввода. Введите
10 / 0
еще раз. Теперь выводится более полезное сообщение. Пользователь запрашивает дополнительные входные данные, и программа продолжает выполняться нормально.В окне консоли отображаются две строки: 10 / 0 Результат: inf, а затем 10 / 0 Математическая ошибка: попытка разделить на ноль.
Замечание
При изменении кода во время отладки в режиме отладки возникает риск того, что код становится устаревшим. Это происходит, когда отладчик по-прежнему выполняет старый код и еще не обновил его с изменениями. Отладчик отображает диалоговое окно, чтобы сообщить вам, когда это произойдет. Иногда может потребоваться нажать клавишу F5 , чтобы обновить выполняемый код. В частности, если вы вносите изменения внутри функции, пока точка выполнения находится внутри этой функции, необходимо выйти из функции, а затем вернуться в нее еще раз, чтобы получить обновленный код. Если это не работает, и вы видите сообщение об ошибке, можно остановить отладку, щелкнув красный квадрат на панели инструментов в верхней части интегрированной среды разработки, а затем снова начать отладку, введя F5 или выбрав зеленую стрелку воспроизведения рядом с кнопкой остановки на панели инструментов.
Другая причина изменения и продолжения может завершиться ошибкой, если появится сообщение "Требовать исходные файлы для точного сопоставления исходного параметра версии в разделе "Параметры отладки>"> необходимо включить..." Чтобы устранить эту проблему, в главном меню выберите пункт"Параметры>отладки>инструментов>" и убедитесь, что требуется, чтобы исходные файлы точно соответствовали исходной версии.
Общие сведения о сочетаниях клавиш запуска и отладки
- F5 или Отладка>Запуск отладки запускает сеанс отладки, если он не активен, и программа выполняется до тех пор, пока не будет достигнута точка останова или программа потребует ввода от пользователя. Если входные данные пользователя не требуются, а точка останова недоступна, программа завершает работу, а окно консоли закрывается после завершения работы программы. Если программа выводится в консоль, используйте ctrl+F5 или установите точку останова перед нажатием клавиши F5 , чтобы сохранить окно открытым.
- Ctrl+F5, или Отладка>Начать без отладки, запускает приложение без перехода в режим отладки. Это немного быстрее, чем отладка, и окно консоли остается открытым после завершения выполнения программы.
- F10, известный как Step Over, позволяет выполнять итерацию по коду, строкам и визуализировать выполнение кода и значения переменных на каждом этапе выполнения.
- F11, известный как Вход в, работает аналогично Переход, за исключением того, что он входит во все функции, вызываемые в строке выполнения. Например, если строка, выполняемая, вызывает функцию, нажатие клавиши F11 перемещает указатель в текст функции, чтобы вы могли следовать коду функции, прежде чем вернуться к строке, которую вы начали. Нажатие клавиши F10 позволяет перейти к следующей строке без пошагового выполнения вызова функции; Вызов функции все равно выполняется, но программа не приостанавливает выполнение, чтобы показать, что происходит.
Закройте приложение
- Если он по-прежнему запущен, закройте окно консоли, чтобы остановить приложение калькулятора.
Добавьте систему управления версиями Git
Теперь, когда вы создали приложение, его может потребоваться добавить в репозиторий Git. Все предусмотрено. Visual Studio упрощает этот процесс с помощью средств Git, которые можно использовать непосредственно из интегрированной среды разработки.
Подсказка
Git является наиболее широко используемой современной системой управления версиями, поэтому независимо от того, является ли вы профессиональным разработчиком или вы узнаете, как кодировать, Git может быть очень полезным. Если вы не знакомы с Git, веб-сайт https://git-scm.com/ является хорошим местом для начала. Там вы можете найти памятки, популярную онлайн-книгу и видео Git Basics.
Чтобы связать код с Git, сначала создайте новый репозиторий Git, в котором находится ваш код. Это делается следующим образом:
В строке состояния в правом нижнем углу Visual Studio выберите "Добавить в систему управления версиями" и выберите Git.
В диалоговом окне "Создание репозитория Git " войдите в GitHub.
Имя репозитория автоматически заполняется в зависимости от расположения папки. По умолчанию новый репозиторий является частным, что означает, что вы единственный, кто может получить к нему доступ.
Подсказка
Независимо от того, является ли ваш репозиторий общедоступным или частным, лучше иметь удаленную резервную копию кода, хранящегося безопасно на GitHub. Даже если вы не работаете с командой, удаленный репозиторий делает код доступным для вас с любого компьютера.
Выберите Создать и отправить.
После создания репозитория в строке состояния отображаются сведения о состоянии.
Первый значок со стрелками показывает число исходящих и входящих фиксаций в вашей текущей ветви. Этот значок можно использовать для получения любых входящих коммитов или отправки исходящих коммитов. Вы также можете сначала просмотреть эти коммиты. Для этого выберите значок, а затем выберите Просмотр исходящих/входящих.
Второй значок с карандашом показывает количество незафиксированных изменений в коде. Вы можете выбрать этот значок, чтобы просмотреть эти изменения в окне изменений Git .
Дополнительные сведения об использовании Git с приложением см. в документации по управлению версиями Visual Studio.
Готовое приложение
Поздравляю! Вы завершили код для приложения калькулятора, создали и отладили его и добавили его в репозиторий, все в Visual Studio.
Дальнейшие шаги
Обычной отправной точкой для программиста C++ является приложение "Hello, world!", которое выполняется в командной строке. Вы начинаете с этого в этой статье, а затем переходите к чему-то более сложному: приложению калькулятора.
Предпосылки
- Visual Studio с установленной и запущенной на компьютере рабочей нагрузкой Разработка классических приложений на C++. Чтобы установить его, см. раздел "Установка поддержки C++ в Visual Studio".
Создание проекта приложения
Visual Studio использует проекты для упорядочивания кода для приложения и решений для организации одного или нескольких проектов. Проект содержит все параметры, конфигурации и правила, используемые для создания приложения. Он также управляет связью между всеми файлами проекта и любыми внешними файлами. Чтобы создать приложение, сначала создайте проект и решение.
На панели меню в Visual Studio выберите "Файл>нового>проекта". Откроется окно "Новый проект ".
На левой боковой панели убедитесь, что выбран Visual C++ . В центре выберите консольное приложение.
В текстовом поле "Имя" внизу назовите новый проект CalculatorTutorial, а затем нажмите кнопку "ОК".
Слева выбраны другие языки > Visual C++ . В центре выбран тип проекта консольного приложения. Текстовое поле "Имя" содержит КалькуляторTutorial.
Создается пустое консольное приложение C++ Windows Hello World. Консольные приложения используют окно консоли Windows для отображения выходных данных и приема входных данных пользователей. В Visual Studio откроется окно редактора и отображает созданный код:
// 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
Убедитесь, что ваше новое приложение собирается и запускается
Шаблон для нового консольного приложения Windows создает простое приложение C++ "Hello World". На этом этапе вы узнаете, как Visual Studio создает и запускает приложения, которые вы создаете прямо из интегрированной среды разработки.
Чтобы собрать ваш проект, выберите "Собрать решение" в меню "Сборка". В окне выходных данных показаны результаты процесса сборки.
Чтобы запустить код, в строке меню выберите "Отладка", "Пуск" без отладки (CTRL+F5).
Откроется окно консоли и приложение выполняется в нем.
При запуске консольного приложения в Visual Studio приложение выполняет код, а затем выводится
Press any key to close this window . . .
, чтобы у вас была возможность ознакомиться с выводом.Поздравляю! Вы создали свое первое консольное приложение "Hello, world!" в Visual Studio!
Нажмите клавишу, чтобы закрыть окно консоли и вернуться в Visual Studio.
Теперь у вас есть средства для создания и запуска приложения после каждого изменения, чтобы убедиться, что код по-прежнему работает должным образом. Позже мы покажем, как отладить его, если что-то пойдет не так.
Изменение кода
Теперь давайте повернем код в этом шаблоне, чтобы стать приложением калькулятора.
Замените содержимое
CalculatorTutorial.cpp
файла следующим кодом, чтобы он соответствовал этому примеру:// 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
Общие сведения о коде:
- Инструкция
#include
включает код из других файлов. Иногда может отображаться имя файла, окруженное угловыми скобками, например<iostream>
. Угловые скобки указывают компилятору сначала искатьiostream
файл заголовка в стандартных системных каталогах, а если он не найден, чтобы просмотреть каталоги, относящиеся к проекту. В других случаях может отображаться имя файла, окруженное такими кавычками"someHeader.h"
. Кавычки указывают компилятору пропустить поиск в стандартных системных каталогах, а вместо этого искать только в каталогах проекта. -
using namespace std;
сообщает компилятору, что в этом файле следует ожидать использование кода из стандартной библиотеки C++. Без этой строки каждое ключевое слово из библиотеки должно быть предшествовалоstd::
, чтобы указать на область. Например, без этой строки каждая ссылкаcout
будет записана какstd::cout
. Инструкцияusing
добавляется, чтобы упростить доступ к коду в другом пространстве имен. - Ключевое слово
cout
в C++ используется для вывода на стандартный выход. Оператор<<
сообщает компилятору отправлять все, что находится справа от него, в стандартные выходные данные. - Ключевое
endl
слово похоже на клавишу ВВОД; он заканчивает строку и перемещает курсор на следующую строку. Лучше поместить\n
внутрь строки (содержащей""
), чтобы сделать то же самое, потому чтоendl
всегда очищает буфер и может повредить производительности программы. Но так как это очень небольшое приложение,endl
вместо этого используется. - Все операторы C++ должны заканчиваться точкой с запятой, а все приложения C++ должны содержать функцию
main()
. Функция выполняется при запуске программы. Все коды должны быть доступны изmain()
, чтобы их можно было использовать.
- Инструкция
Чтобы сохранить файл, нажмите клавиши CTRL+S или щелкните значок диска floppy на панели инструментов в строке меню.
Чтобы запустить приложение, нажмите клавиши CTRL+F5 или перейдите в меню отладки и нажмите кнопку "Пуск без отладки". Если появится всплывающее окно с сообщением о том, что проект устарел, можно снова выбрать "Не показывать это диалоговое окно", а затем нажмите кнопку "Да ", чтобы создать приложение. Должно появиться окно консоли, которое выглядит следующим образом:
Консольное приложение отображает выходные данные: Приложение-калькулятор для консоли. Введите операцию, которую нужно выполнить. Формат: a+b | a-b | a*b | a/b. Процесс завершился с кодом 0, и отображается сообщение: для автоматического закрытия консоли после остановки отладки включите Средства > Параметры > Отладка > Автоматически закрывать консоль при остановке отладки. Наконец, есть сообщение, чтобы нажать любую клавишу, чтобы закрыть это окно.
Закройте окно консоли после завершения.
Добавление кода для выполнения некоторых математических действий
Класс похож на схему для объекта, который делает что-то. В этом случае мы определим класс калькулятора для хранения математической логики.
Добавление класса Калькулятора
Перейдите в меню "Проект" и выберите "Добавить класс". В поле редактирования имени класса введите калькулятор. Нажмите ОК.
Поле имени класса содержит калькулятор текста. Поле .h файла содержит Calculator.h. Поле файла .cpp содержит Calculator.cpp. Поле базового класса пусто. Параметры встроенной и управляемой отключены.
Класс похож на схему для объекта, который делает что-то. В этом случае мы определим калькулятор и как он должен работать.
В проект добавляются два новых файла. Чтобы сохранить все измененные файлы одновременно, нажмите клавиши CTRL+SHIFT+S. Это сочетание клавиш для Файл>Сохранить все. Есть также кнопка панели инструментов для сохранить все, значок с изображением двух дискет, рядом с кнопкой «Сохранить». Как правило, рекомендуется часто сохранять все , чтобы не пропускать файлы при сохранении.
Мастер Добавить Класс создает файлы
.h
и.cpp
, которые имеют то же имя, что и класс. Полный список файлов проекта можно просмотреть в окне обозревателя решений , который отображается на стороне интегрированной среды разработки. Если обозреватель решений не отображается, откройте его в строке меню: выберите "Просмотреть>обозреватель решений".В проекте руководства по калькулятору есть узел файлов заголовков, содержащий Calculator.h, stdafx.h и targetver.h. Узел исходных файлов содержит Calculator.cpp, CalculatorTutorial.cpp и stdafx.cpp. Узлы для ссылок, внешних зависимостей и файлов ресурсов видимы, но закрыты.
Файл можно открыть, дважды щелкнув его в окне обозревателя решений . Дважды щелкните
Calculator.h
, чтобы открыть.Замените содержимое
Calculator.h
следующим кодом, чтобы файл выглядел следующим образом:#pragma once class Calculator { public: double Calculate(double x, char oper, double y); };
Общие сведения о коде
- Этот код объявляет новую функцию
Calculate
, которая обрабатывает математические операции для добавления, вычитания, умножения и деления. - Код C++ организован в файлы заголовков и
.h
исходные (.cpp
файлы). Некоторые другие расширения файлов поддерживаются различными компиляторами, но это основные, о которых нужно знать. Функции и переменные обычно объявляются, т. е. присваиваются имя и тип, в файлах заголовков и реализуются или определяются в исходных файлах. Для доступа к коду, определенному в другом файле, можно использовать#include "filename.h"
имя файла,filename.h
объявляющего переменные или функции, которые вы хотите использовать. - Хорошей практикой является организовать ваш код в разные файлы в зависимости от выполняемых функций, чтобы позже легко найти нужный код. В нашем случае мы определяем
Calculator
класс отдельно от файла, содержащегоmain()
функцию, но мы планируем ссылаться наCalculator
класс вmain()
.
- Этот код объявляет новую функцию
Зеленый волнистый элемент отображается под
Calculate
тем, что, хотяCalculate
функция объявлена, она не определена. Наведите указатель мыши наCalculate
, щелкните стрелку вниз на значке лампочки и выберите Создать определение для "Вычислить" вCalculator.cpp
. Появится всплывающее окно, позволяющее просмотреть изменение кода, которое было сделано в другом файле. Код был добавлен вCalculator.cpp
.Видео, показывающее использование значка лампочки для создания определения функции Calculate в файле Calculator.cpp.
В настоящее время он возвращает только 0,0. Давайте изменим это. Нажмите клавишу ESC , чтобы закрыть всплывающее окно и нажмите кнопку "Да ", чтобы сохранить изменения.
Переключитесь на
Calculator.cpp
файл в окне редактора. Замените содержимое файла следующим кодом:#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; } }
Общие сведения о коде
- Функция
Calculate
принимает число, оператор и второй номер. Затем он выполняет запрошенную операцию для двух чисел. - Инструкция
switch
проверяет, какой оператор был предоставлен, и выполняет блок кода, соответствующий этой операции. На случай если пользователь вводит оператор, который не обрабатывается ни одной из предыдущихdefault:
выражений, этоcase
является резервным вариантом. Лучше всего обрабатывать недопустимые входные данные пользователей более элегантным образом, но это выходит за рамки этого руководства. - Ключевое
double
слово обозначает тип числа, поддерживающего десятичные разряды. Этот тип числа называется числом с плавающей запятой иdouble
означает число с плавающей запятой, которое имеет дополнительную точность. Таким образом калькулятор может обрабатывать как десятичную математику, так и целочисленную математику. ФункцияCalculate
должна всегда возвращать число с плавающей запятой двойной точности из-заdouble
в начале кода (это обозначает тип возвращаемого значения функции), поэтому мы возвращаем значение 0.0 в случае по умолчанию. - Файл
.h
объявляет прототип функции, который сообщает компилятору заранее, какие параметры он требует, и какой тип возвращаемого значения следует ожидать от него. Файл.cpp
содержит все сведения о реализации функции.
- Функция
Если вы создадите и снова запустите код на этом этапе, он по-прежнему завершает работу после запроса выполнения операции. Затем измените функцию main
, чтобы выполнить некоторые вычисления.
Вызов функций-членов класса Калькулятора
Обновите функцию
main
вCalculatorTutorial.cpp
следующим образом:// 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; }
Общие сведения о коде
- Так как программы C++ всегда начинаются с функции
main()
, нам нужно вызвать наш другой код из этой функции, поэтому требуется инструкция#include
для того, чтобы сделать этот код видимым для функцииmain()
. - Переменные
x
,y
oper
иresult
объявляются для хранения первого числа, второго числа, оператора и конечного результата соответственно. Всегда рекомендуется дать им некоторые начальные значения, чтобы избежать неопределенного поведения, что делается здесь. - Строка
Calculator c;
объявляет объект с именемc
экземпляраCalculator
класса. Сам класс — это просто схема работы калькуляторов; Объект — это конкретный калькулятор, который выполняет математические вычисления. - Оператор
while (true)
является циклом. Код внутри цикла выполняется снова и снова, пока условие внутри()
содержит значение true. Так как условие просто указано какtrue
, это всегда верно, поэтому цикл выполняется навсегда. Чтобы закрыть программу, пользователь должен вручную закрыть окно консоли. В противном случае программа всегда ожидает новых входных данных. - Ключевое
cin
слово принимает входные данные от пользователя. Входной поток достаточно умный, чтобы обработать строку текста, введенную в окне консоли, и поместить ее внутри каждой из перечисленных переменных в порядке. - Выражение
c.Calculate(x, oper, y);
вызываетCalculate
функцию, определенную ранее, и предоставляет введенные входные значения и запрошенную операцию. Затем функция возвращает число, хранящееся вresult
. - Наконец, выводится в консоль,
result
и пользователь видит результат вычисления.
- Так как программы C++ всегда начинаются с функции
Создание и проверка кода снова
Проверьте программу еще раз, чтобы убедиться, что все работает правильно.
Нажмите CTRL+F5, чтобы перестроить и запустить приложение.
Введите
5+5
, и нажмите ВВОД. Убедитесь, что результат равен 10.Остановите программу, закрыв окно консоли.
Отладка приложения
Так как пользователь может вводить что-либо в окно консоли, давайте убедимся, что калькулятор обрабатывает непредвиденные входные данные. Вместо запуска программы давайте отладим его, чтобы мы могли проверить, что делается пошаговые инструкции.
Запуск приложения в отладчике
Установите в
CalcuatorTutorial.cpp
точку останова на строкеresult = c.Calculate(x, oper, y);
. Чтобы задать точку останова, щелкните рядом с линией в серой вертикальной полосе вдоль левого края окна редактора, чтобы появилась красная точка.Теперь при отладке программы она всегда приостанавливает выполнение в этой строке. У нас уже есть грубое представление о том, что программа работает в простых случаях. Так как мы не хотим приостанавливать выполнение каждый раз, давайте сделаем точку останова условной.
Щелкните правой кнопкой мыши красную точку, представляющую точку останова, и выберите "Условия". В поле редактирования условия введите
(y == 0) && (oper == '/')
. Нажмите кнопку «Закрыть» после завершения, чтобы сохранить условие точки останова.Точка останова находится в строке: результат = c точка Вычислить(x, oper, y). "Условия…" Опция "Условия" отмечена. В раскрывающемся списке "Условия" задано значение "Условное выражение". Раскрывающийся список условий установлен на "истинно". Условие установлено как y == 0 && oper == '/'.
Выполнение приостанавливается в точке останова, если выполняется попытка деления на 0.
Чтобы выполнить отладку программы, нажмите клавишу F5 или нажмите кнопку панели инструментов локального отладчика Windows , которая имеет зеленый значок со стрелкой. В консольном приложении, если ввести примерно такую же команду, как "5 – 0", программа работает нормально и продолжает работать. Однако если ввести "10/0", он приостанавливается в точке останова. Можно даже поместить любое количество пробелов между оператором и числами;
cin
достаточно умен, чтобы правильно обрабатывать входные данные.Пользователь вводит значение 5 – 0. Выходные данные приложения: Результат — 5. Затем пользователь вводит значение 10/0 и, поскольку условие условной точки останова выполняется, выполнение останавливается в строке: результат = c.Calculate(x, oper, y);
Полезные окна в отладчике
При отладке кода могут появиться некоторые новые окна. Эти окна могут помочь в отладке. Посмотрите на окно Автомобили. В окне "Автоматически" отображаются текущие значения переменных, которые использовались по крайней мере три строки до текущей строки. Если окно "Авто" не отображается, в главном меню выберите "Отладка>windows>Autos".
Значение операции равно 47 '/', результат равен 5, x равно 10, а y — 0.
Чтобы просмотреть все переменные из этой функции, перейдите в окно "Локальные". Так как это небольшая функция, окно "Авто" и "Локальные" отображают одни и те же переменные. Но вы можете изменить значения этих переменных во время отладки, чтобы узнать, какой эффект они будут иметь в программе. В этом случае мы оставим их в одиночку. Откройте окно "Локальные", выбрав "Локальные" в нижней части окна "Авто" или выбрав в главном меню "Отладка>Windows>"Локальные".
Значение операции равно 47 "/", результат равен 0, x равно 10, а y — 0.
Вы также можете навести указатель мыши на переменные в самом коде, чтобы увидеть текущие значения, в которых выполнение в настоящее время приостановлено. Убедитесь, что окно редактора находится в фокусе, щелкнув его первым.
Продолжить отладку
Желтая стрелка слева показывает текущую точку выполнения. Текущая строка вызывает
Calculate
, поэтому нажмите F11, чтобы шагнуть в функцию, что приведет вас в тело функцииCalculate
. Будьте осторожны с Шагом Внутрь, так как он выполняет переход в любые функции на строке, на которой вы находитесь, включая функции стандартной библиотеки. Хорошо изучить стандартную библиотеку, но вам может быть более интересно сосредоточиться на своём собственном коде, а не на коде библиотеки.Теперь, когда точка выполнения находится в начале
Calculate
функции, нажмите клавишу F10 , чтобы перейти к следующей строке в выполнении программы. F10 также называется step over. Вы можете использовать шаг "Сверху" , чтобы перейти от строки к строке, не углубляясь в детали того, что происходит в каждой части строки. В общем случае следует использовать Шаг через вместо Шаг вглубь, если вы не хотите более глубоко изучить код, вызываемый из другого места (как вы сделали, чтобы добраться до телаCalculate
).Продолжайте использовать F10, чтобы шаг за шагом переходить по каждой строке, пока не вернетесь к
main()
функции в другом файле, и остановитесь наcout
строке.Программа делает то, что ожидается: она берет первое число и делит его на второе. На строке
cout
наведите указатель мыши наresult
переменную или просмотритеresult
в окне 'Авто'. Его значение —inf
, которое не выглядит правильным.Текущая инструкция в отладчике — cout << "Результат: " << результат << endl; В окне автопеременных результат равен inf.
Давайте исправим его. Строка
cout
выводит значение, которое хранится вresult
, поэтому, если вы сделаете ещё один шаг вперёд с помощью F10, отобразится окно консоли:Выходные данные приложения: введите операцию для выполнения. Формат: a+b | a-b | a*b | a/b. Пользователь ввел 5-0. Вывод приложения: Результат: 5. Пользователь ввел 10/0. Выходные данные приложения: результат: inf
Этот результат обусловлен тем, что деление по нулю не определено, поэтому программа не имеет числового ответа на запрошенную операцию.
Исправлена ошибка "деление на ноль"
Давайте обработаем деление на ноль более корректно, чтобы пользователю было проще понять проблему.
Внесите следующие изменения в
CalculatorTutorial.cpp
. (Вы можете оставить программу запущенной при редактировании, благодаря функции отладчика с именем "Изменить и продолжить". Изменение заключается в добавлении инструкцииif
послеcin >> x >> oper >> y;
для проверки деления на ноль и вывода сообщения пользователю, если это произойдет. В противном случае результат выводится:// 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; }
Один раз нажмите клавишу F5 . Выполнение программы продолжается до тех пор, пока не потребуется приостановить её для запроса пользовательского ввода. Введите
10 / 0
еще раз. Теперь выводится более полезное сообщение. Пользователь запрашивает дополнительные входные данные, и программа продолжает выполняться нормально.Замечание
При изменении кода во время отладки в режиме отладки возникает риск того, что код становится устаревшим. Это происходит, когда отладчик по-прежнему выполняет старый код и еще не обновил его с изменениями. Отладчик выведет диалоговое окно, чтобы сообщить вам, когда это произойдет. Иногда может потребоваться нажать клавишу F5 , чтобы обновить выполняемый код. В частности, если вы вносите изменения внутри функции, пока точка выполнения находится внутри этой функции, выйдите из функции, а затем войдите в нее снова, чтобы получить обновленный код. Если это не работает по какой-либо причине и вы видите сообщение об ошибке, можно остановить отладку, щелкнув красную квадрат на панели инструментов в верхней части интегрированной среды разработки, а затем снова начать отладку, введя F5 или выбрав зеленую стрелку "воспроизвести" рядом с кнопкой остановки на панели инструментов.
Другая причина, по которой Изменение и Продолжение могут завершиться ошибкой, заключается в том, что необходимо перейти в главное меню и выбрать Инструменты>Параметры>Отладка>Общие и убедиться, что требуется, чтобы исходные файлы точно соответствовали исходной версии установлен флажок.
Общие сведения о сочетаниях клавиш запуска и отладки
- F5 или Отладка>Запуск отладки запускает сеанс отладки, если он не активен, и программа выполняется до тех пор, пока не будет достигнута точка останова или программа потребует ввода от пользователя. Если входные данные пользователя не требуются, а точка останова недоступна, программа завершает работу, а окно консоли закрывается после завершения работы программы. Если программа выводится в консоль, используйте ctrl+F5 или установите точку останова перед нажатием клавиши F5 , чтобы сохранить окно открытым.
- Ctrl+F5, или Отладка>Начать без отладки, запускает приложение без перехода в режим отладки. Это немного быстрее, чем отладка, и окно консоли остается открытым после завершения выполнения программы.
- F10, известный как Step Over, позволяет выполнять итерацию по коду, строкам и визуализировать выполнение кода и значения переменных на каждом этапе выполнения.
- F11, известный как Вход в, работает аналогично Переход, за исключением того, что он входит во все функции, вызываемые в строке выполнения. Например, если строка, выполняемая, вызывает функцию, нажатие клавиши F11 перемещает указатель в текст функции, чтобы вы могли следовать коду функции, прежде чем вернуться к строке, которую вы начали. Нажатие клавиши F10 позволяет перейти к следующей строке без пошагового выполнения вызова функции; Вызов функции все равно выполняется, но программа не приостанавливает выполнение, чтобы показать, что происходит.
Закройте приложение
- Если он по-прежнему запущен, закройте окно консоли, чтобы остановить приложение калькулятора.
Готовое приложение
Поздравляю! Вы завершили код для приложения калькулятора и создали и отладили его в Visual Studio.