Как написать консольное приложение на с
Обновлено: 06.07.2024
Логического порядка в примерах нет, будут добавляться по мере написания. Для поиска на странице нужного слова используйте комбинацию клавиш Ctrl+F в своём браузере.
1. Табулирование функций
С помощью делегата Function строим таблицы значений двух различных функций одним и тем же кодом.
2. Второй класс в проекте, генерирующий случайное число
Для добавления нового класса достаточно обратиться к меню Проект -> Добавить класс и назначить новому классу имя.
Если классы располагаются в одном пространстве имён, для ссылки на метод объекта второго класса главной программе достаточно выполнить что-то вроде
3. Два класса в одном файле
Достаточно, чтобы каждый класс располагался в своих операторных скобках внутри общего namespace
4. Матрицы обычная и ступенчатая
Показаны выделение памяти, заполнение и построчный вывод элементов.
5. Шаблон класса стека
Показаны стек целых и стек вещественных чисел, использующие один и тот же шаблон класса.
6. Шаблон функции и аргументы по ссылке
Передача и возврат аргументов по ссылке, функция с переменным числом аргументов.
7. Фабрика объектов
Так называют статический метод в классе, возвращающий новый объект этого же класса. Имеет смысл, если по каким-то причинам не хотим делать конструктор класса публичным методом.
8. Статические члены класса и оценивание арифметических выражений
Описываем в классе статический счётчик созданных объектов и оцениваем арифметические выражения одной строчкой кода с проверкой корректности (метод Exec ).
9. Работаем с объектом "Таблица данных"
Программно создаём таблицу с заданными характеристиками, добавляем туда данные строк и вычисляемый столбец, считаем по формулам с помощью агрегатных выражений.
10. Запускаем десять потоков и выводим их состояние
11. Перегрузка операторов
12. Три способа преобразовать строку в число
Основные способы и простейшая обработка исключений при преобразовании.
13. Шесть способов преобразовать число в строку
Способы как с добавлением, так и без добавления дополнительного текстового содержимого к полученной строке.
14. Индексаторы, свойства и автоматически реализуемые свойства
Ограничения индексаторов таковы: значение, отдаваемое индексатором, нельзя передавать методу в качестве параметра ref или out , поскольку в индексаторе не определено место в памяти для его хранения. Индексатор должен быть членом своего класса и поэтому не может быть объявлен как static .
Cвойство сочетает в себе поле с методами доступа к нему и состоит из имени и аксессоров get и set . Аксессоры служат для получения и установки значения переменной. Имя свойства может быть использовано в выражениях и операторах присваивания аналогично имени обычной переменной, но в действительности при обращении к свойству по имени автоматически вызываются его аксессоры get и set .
Свойства не определяют место в памяти для хранения полей, а лишь управляют доступом к полям. Это означает, что само свойство не предоставляет поле, поэтому поле должно быть определено независимо от свойства. Свойство также не должно изменять состояние базовой переменной при вызове аксессора get . Исключение из этого правила составляет автоматически реализуемое свойство.
Автоматически реализуемое свойство не может быть доступно только для чтения или только для записи. При его объявлении нужно указывать оба аксессора — get и set , хотя любой из них можно сделать приватным, доступным только методам своего класса.
15. Наследование
Абстрактный, базовый и производный классы, приватные данные и публичные свойства-"обёртки" над ними, абстрактные и виртуальные методы, приватные, публичные и защищённые члены класса, неуниверсальный статический класс с расширениями, класс, запрещённый к наследованию, массив из объектов базового класса.
Далее показан вывод этого приложения:
16. Упаковка и распаковка
Когда ссылка на объект класса object используется для обращения к типу значения, такой процесс называется упаковкой. Упаковка приводит к тому, что значение простого типа сохраняется в экземпляре объекта, т.е. "упаковывается" в объекте, который затем используется как и любой другой объект. Но в любом случае упаковка происходит автоматически. Для этого достаточно присвоить значение переменной ссылочного типа object, а об остальном позаботится компилятор.
Распаковка представляет собой процесс извлечения упакованного значения из объекта. Это делается с помощью явного приведения типа ссылки на объект класса object к соответствующему типу значения. Попытка распаковать объект в другой тип может привести к ошибке времени выполнения.
В примере значение типа int передаётся в качестве аргумента методу Sqr(), который, в свою очередь, принимает параметр типа object.
Также показана работа с массивом из разнотипных элементов, точнее, из элементов базового класса object.
Обычной отправной точкой для программиста на C++ является приложение "Hello World", выполняемое в командной строке. Именно его вы и создадите в Visual Studio на этом шаге.
Предварительные требования
- Установите и запустите на своем компьютере Visual Studio с рабочей нагрузкой "Разработка классических приложений на C++". Если установка еще не выполнена, см. статью Установка поддержки C++ в Visual Studio.
Создание проекта приложения
Visual Studio использует проекты, чтобы упорядочить код для приложения, и решения, чтобы упорядочить проекты. Проект содержит все параметры, конфигурации и правила, используемые для сборки приложения. Он управляет связью между всеми файлами проекта и любыми внешними файлами. Чтобы создать приложение, сначала создайте проект и решение.
В Visual Studio в меню Файл выберите пункты Создать > Проект, чтобы открыть диалоговое окно Создание проекта. Выберите шаблон Консольное приложение с тегами C++ , Windows и Консоль, а затем нажмите кнопку Далее.
В диалоговом окне Настроить новый проект в поле Имя проекта введите HelloWorld. Выберите Создать, чтобы создать проект.
Visual Studio создаст проект. Вы можете приступать к добавлению и изменению исходного кода. По умолчанию шаблон консольного приложения добавляет исходный код приложения Hello World:
Когда код в редакторе будет выглядеть таким образом, вы можете перейти к следующему шагу и начать разработку приложения.
В Visual Studio в меню Файл выберите пункты Создать > Проект, чтобы открыть диалоговое окно Новый проект.
Visual Studio создаст пустой проект. Вы можете приступать к его настройке в соответствии с типом создаваемого приложения и добавлению файлов исходного кода. Поэтому вы сделаете это сейчас.
Настройка проекта как консольного приложения
Visual Studio позволяет создавать приложения и компоненты самых разных типов как для Windows, так и для других платформ. Шаблон Пустой проект не определяет тип создаваемого приложения. Консольное приложение — это приложение, которое выполняется в консоли или в окне командной строки. Чтобы создать его, необходимо сообщить Visual Studio, что приложение будет использовать подсистему консоли.
Теперь Visual Studio знает, что создаваемый проект предназначен для выполнения в окне консоли. Далее вы добавите файл с исходным кодом и введете код приложения.
Добавление файла исходного кода
В обозревателе решений выберите проект HelloWorld. В меню Проект выберите команду Добавить новый элемент, чтобы открыть диалоговое окно Добавление нового элемента.
Visual Studio создаст пустой файл исходного кода и откроет его в окне редактора, где в него можно ввести код.
Добавление кода в файл исходного кода
Скопируйте код в окне редактора с файлом HelloWorld.cpp.
Код в окне редактора должен выглядеть следующим образом:
Когда код в редакторе будет выглядеть таким образом, вы можете перейти к следующему шагу и начать разработку приложения.
Следующие шаги
Руководство по устранению неполадок
Здесь приведены решения распространенных проблем, которые могут возникнуть при создании первого проекта C++.
Создание проекта приложения: проблемы
В диалоговом окне Новый проект должен быть шаблон Консольное приложение с тегами C++ , Windows и Консоль. Если его нет, возможны две причины. Он может быть отфильтрован из списка или не установлен. Сначала проверьте раскрывающиеся списки фильтров в верхней части списка шаблонов. Выберите фильтры C++ , Windows и Консоль. Должен появиться шаблон консольного приложения C++. Если этого не произошло, значит, рабочая нагрузка Разработка классических приложений на C++ не установлена.
Чтобы установить рабочую нагрузку Разработка классических приложений на C++ , можно запустить установщик прямо из диалогового окна Новый проект. Чтобы запустить установщик, щелкните ссылку Установка других средств и компонентов внизу списка шаблонов. Если в диалоговом окне Контроль учетных записей пользователей запрашиваются разрешения, выберите Да. В установщике должна быть выбрана рабочая нагрузка Разработка классических приложений на C++ . Выберите Изменить, чтобы обновить установку Visual Studio.
Если проект с таким именем уже существует, выберите другое имя для проекта. Можно также удалить существующий проект и повторить попытку. Чтобы удалить существующий проект, удалите папку решения (содержащую файл helloworld.sln) в проводнике.
Если проект с таким именем уже существует, выберите другое имя для проекта. Можно также удалить существующий проект и повторить попытку. Чтобы удалить существующий проект, удалите папку решения (содержащую файл helloworld.sln) в проводнике.
Настройка проекта как консольного приложения: проблемы
Раскрывающийся список не открывается в поле свойства Подсистема, пока не будет выбрано свойство. Щелкните поле ввода, чтобы выбрать его. Можно также последовательно переходить по элементам управления в диалоговом окне с помощью клавиши TAB, пока не будет выделено поле Подсистема. Щелкните раскрывающийся список или нажмите клавиши ALT+стрелка вниз, чтобы открыть его.
Добавление файла исходного кода: проблемы
Файлу исходного кода можно спокойно присвоить другое имя. Однако не добавляйте в проект несколько файлов с одинаковым кодом.
Если вы добавили в проект файл неправильного типа, например файл заголовка, удалите его и повторите попытку. Чтобы удалить файл, выберите его в обозревателе решений. Затем нажмите клавишу DELETE.
Добавление кода в файл исходного кода: проблемы
Если вы случайно закрыли окно редактора с файлом исходного кода, его можно легко открыть снова. Чтобы сделать это, дважды щелкните файл HelloWorld.cpp в окне обозревателя решений.
Если в редакторе исходного кода какие-либо элементы подчеркнуты красной волнистой линией, проверьте, соответствуют ли их написание, пунктуация и регистр символов используемым в примере. В коде на C++ регистр имеет важное значение.
Работая с этим сайтом, Вы даете согласие на использование файлов Cookie.
Visual Studio создает проект и открывает в правой части окна Обозреватель решений, а в левой части – окно программного кода.
Если по каким-то причинам обозреватель решений не открылся, его можно открыть выбрав меню Проект ⇒ Обозреватель решений.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyFirstProgram
class Program
static void Main( string [] args)
>
>
>
Первые пять строк представляют собой директивы using и на текущий момент не задействуются. В строке
ключевое слово namespace , обозначающее пространство имён, используется для объявления области, которая содержит набор связанных объектов.
Внутри указанного пространства имен расположен основной класс программы
Это заголовок определения класса. По умолчанию создается класс с именем Program , но это имя без труда может быть изменено пользователем.
Далее в фигурных скобках размещается тело класса, содержащее поля и методы. В данном случае тело класса состоит из одного метода с заголовком
Этот метод является главным в программе, и выполнение программы начинается именно с него. Внутри блока, ограничивающего тело данного метода и будет располагаться код будущей программы.
Откомпилируем проект, выбрав меню Сборка ⇒ Пересобрать решение.
Для запуска на выполнение выбираем меню Отладка ⇒ Начать отладку или нажимаем кнопку Пуск или клавишу F5.
Переходите к решению консольных задач в разделах Семантика и Алгоритмика
Автор: Вставская Елена Владимировна
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.
Ты в любой момент сможешь отписаться от рассылки.
Основатель проекта
+ Бесплатно, каждую субботу
+ Создание программ с нуля
+ Решение консольных задач
Видео-уроки
+ 300 практических видеоуроков
+ 400 интерактивных задач
+ Видео-решения и разбор
Миссия
Для создания нового консольного приложения запускаем Microsoft Visual Studio 2010 Express и переходим в меню Файл->Создать->Проект
В появившемся окне выбираем Консольное приложение Win32 и задаем имя проекта и нажимаем кнопку OK.
В появившемся окне нажимаем кнопку Далее.
В следующем окне отмечаем галочку Дополнительные параметры: Пустой проект и нажимаем кнопку Далее.
В левой части появившегося окна отображается Обозреватель решений. Для добавления нового файла программы в проект выбираем по правой кнопке мыши на папке Файлы исходного кода меню Добавить->Создать элемент.
В появившемся окне выбираем Файл C++ (.cpp), задаем имя файла и нажимаем кнопку Добавить.
Для компиляции программы выбираем меню Отладка->Построить решение.
В случае успешного построения в нижней части окна отображается Построение: успешно 1.
Для запуска приложения выбираем меню Отладка->Начать отладку.
Результат выполнения программы:
Для корректного отображения русских символов в левом верхнем углу консоли по нажатию правой кнопки мыши выбираем меню Свойства.
В появившемся окне выбрать шрифт, поддерживающий русскую кодировку для кодовой страницы 1251, например Lucida Console.
В результате получаем читаемый русский шрифт.
При желании можно изменить другие параметры окна консоли.
Запускаем visual studio. Создаем новый проект:
вводим имя приложения FirstApp, остальное в этот раз можно не трогать, жмем Ok.
Откроется код приложения. Так как у нас приложение пока самое простое, оно состоит из одного файла:
Разбор кода
Тут может встретиться куча странных и непонятных слов, в принципе этот раздел можно пропустить.
Добавляем вывод в консоль
Запустим программу, нажав кнопку пуск
Затем откроется окно консоли и тут же закроется. Это, между прочим, была наша программа в действии.
Открывается и закрывается окно потому, что наше приложение пока еще ничего не умеет.
Давайте выведем чего-нибудь в консоль. Для этого воспользуемся классом Console, которые находится в пакете System (именно для этого и нужна строчка using System), и так:
запускаем приложение, либо кликая на кнопку Пуск либо нажав F5.
Снова что-то проскакивает, но уже с нашим текстом, но все равно быстро закрывается.
Надо как-нибудь остановить процесс мгновенного закрытия программы. Для этого заставим программу ждать нажатия любой клавиши от пользователя, правим приложение:
Отлично! Теперь программа напечатал текст, и остановилась – ждет пока пользователь чего-нибудь нажмет.
Жмем любую клавишу, и программа тут же закрывается.
Исполняемый файл приложения
Итогом компиляции приложения является *.exe файл, именно этот файл запускается, когда нажимаешь кнопку пуск. Точнее, сначала этот файл создается, а потом уже запускается. Сам файл лежит по пути, который был указан при создании проекта.
В моем случае я указал имя приложения FirstApp, а путь к проекту C:\Users\m\source\repos . Таким образом exe файл находится в папке c:\Users\m\source\repos\FirstApp\FirstApp\bin\Debug\
Вы можете запустить приложение FirstApp и убедится, что он действительно является вашей программой.
Читайте также: