Программирование на языке C++ в среде Qt Creator

Предисловие

Разбить на страницы
Показывать лекцию целиком

Предисловие. Знакомство с языком С++

Книга, которую открыл читатель, является с одной стороны учебником по алгоритмизации и программированию на C++, а с другой — пособием по разработке визуальных приложений в среде Qt Creator. В книге описаны среда программирования Qt Creator и редактор Geany. При чтении книги не требуется предварительного знакомства с программированием.

В первой части книги (главы 1–9) на большом количестве примеров представлены методы построения программ на языке C++, особое внимание уделено построению циклических программ, программированию с использованием функций, массивов, матриц и указателей.

Вторая часть книги (глава 10) посвящена объектно-ориентированному программированию на C++.

В третьей части книги (главы 11–15) читатель научится создавать кроссплатформенные визуальные приложения с помощью Qt Creator и познакомится с библиотекой классов Qt.

В книге присутствуют задания для самостоятельного решения.

В приложениях описан текстовый редактор Geany, а также кроссплатформенная библиотека MathGL, предназначенная для построения различных двух- и трёхмерных графиков.

Главы 1–9 написаны Е. Р. Алексеевым и О. В. Чесноковой. Автором раздела по объектно-ориентированному программированию является Д. А. Костюк. Главы 11–15, посвящённые программированию с использованием инструментария Qt, написаны Г. Г. Злобиным и А. C. Чмыхало.

Авторы благодарят компанию ALT Linux (www.altlinux.ru) и лично Алексея Смирнова и Владимира Чёрного за возможность издать очередную книгу по свободному программному обеспечению.

Знакомство с языком С++

В этой главе читатель напишет свои первые программы на языке С(С++), познакомится с основными этапами перевода программы с языка C++ в машинный код. Второй параграф главы посвящён знакомству со средой Qt Creator.

1.1 Первая программа на C++

Знакомство с языком С++ начнём с написания программ, предназначенных для решения нескольких несложных задач.

Задача 1.1. Заданы две стороны прямоугольника a, b. Найти его площадь и периметр.

Как известно, периметр прямоугольника $$P = 2*(a +b)$$, а его площадь $$S = a*b$$. Ниже приведён текст программы.

1 #include <iostream>
2 using namespace std;
3 int main( )
4 {
5	float a, b, s, p;
6	cout<<"a=";
7	cin>>a;
8	cout<<"b=";
9	cin>>b;
10	p=2*(a+b );
11	s=a*b;
12	cout << "Периметр прямоугольника равен " << p <<endl;
13	cout << "Площадь прямоугольника равна " << s <<endl;
14	return 0;
15 }

Давайте построчно рассмотрим текст программы и познакомимся со структурой программы на С++ и с некоторыми операторами языка.

Строка 1. Указывает компилятору (а точнее, препроцессору), что надо использовать функции из стандартной библиотеки iostream. Библиотека iostream нужна для организации ввода с помощью инструкции cin и вывода — с помощью cout. В программе на языке C++ должны быть подключены все используемые библиотеки.

Строка 2. Эта строка обозначает, что при вводе и выводе с помощью cin и cout будут использоваться стандартные устройства (клавиатура и экран), если эту строку не указывать, то каждый раз при вводе вместо cin надо будет писать std::cin, а вместо cout – std::cout.

Строка 3. Заголовок главной функции (главная функция имеет имя main). В простых программах присутствует только функция main().

Строка 4. Любая функция начинается с символа {.

Строка 5. Описание вещественных (float) переменных a (длина одной стороны прямоугольника), b (длина второй стороны прямоугольника), s (площадь прямоугольника), p (периметр прямоугольника). Имя переменнойВ литературе равнозначно используются термины "имя переменной" и "идентификатор". состоит из латинских букв, цифр и символа подчёркивания. Имя не может начинаться с цифры. В языке С++ большие и малые буквы различимы. Например, имена PR_1, pr_1, Pr_1 и pR_1 — разные.

Строка 6. Вывод строки символов a= с помощью cout. Программа выведет подсказку пользователю, что необходимо вводить переменную a

Строка 7. Ввод вещественного числа a с помощью cin. В это момент программа останавливается и ждёт, пока пользователь введёт значение переменой a с клавиатуры.

Строка 8. Вывод строки символов b= с помощью cout.

Строка 9. Ввод вещественного числа b с помощью cin.

Строка 10. Оператор присваивания для вычисления периметра прямоугольника (переменная p) по формуле $$2*(a + b)$$. В операторе присваивания могут использоваться круглые скобки и знаки операций: + (сложение), - (вычитание), * (умножение), / (деление).

Строка 11. Оператор присваивания для вычисления площади прямоугольника.

Строка 12. Вывод строки "Периметр прямоугольника равен " и значения p на экран. Константа endl хранит строку "\n", которая предназначена для перевода курсора в новую строку дисплеяОбращаем внимание читателя, что символ пробел является обычным символом, который ничем не отличается от остальных. Для вывода пробела на экран его надо явно указывать в строке вывода..Таким образом строка

cout <<"Периметр прямоугольника равен "<< p <<endl;
			

выводит на экран текст С пробелом после слова "равен"., значение переменной p, и переводит курсор в новую строку.

Строка 13. Вывод строки "Площадь прямоугольника равна ", значения площади прямоугольника s, после чего курсор переводится в новую строку дисплея.

Строка 14. Оператор return, который возвращает значение в операционную систему. Об этом подробный разговор предстоит в п. 4.9.Сейчас следует запомнить: если программа начинается со строки int main(), последним оператором должен бытьВообще говоря, вместо нуля может быть любое целое число.return 0.

Строка 15. Любая функция (в том числе и main) заканчивается символом }.

Мы рассмотрели простейшую программу на языке С++, состоящую из операторов ввода данных, операторов присваивания (в которых происходит расчёт по формулам) и операторов вывода.

Программа на языке С++ представляет собой одну или несколько функций. В любой программе обязательно должна быть одна функция main(). С этой функции начинается выполнение программы. Правилом хорошего тона в программировании является разбиение задачи на подзадачи, и в главной функции чаще всего должны быть операторы вызова других функций. Общую структуру программы на языке C++ можно записать следующим образом.

Директивы препроцессора
Объявление глобальных переменных
Тип_результата f1 (Список_переменных)
{
Операторы
}
Тип_результата f2 (Список_переменных)
{
Операторы
}
...
Тип_результата fn (Список_переменных)
{
Операторы
}
Тип_ результата main (Список_переменных)
{
Операторы
}
			

На первом этапе знакомства с языком мы будем писать программы, состоящие только из функции main, без использования глобальных переменных. Структура самой простой программы на C(C++) имеет вид.

Директивы препроцессора
Тип_ результата main (Список_переменных)
{
Операторы
}
			

Введённая в компьютер программа на языке С++ должна быть переведена в двоичный машинный код (формируется исполняемый файл). Для этого существуют специальные программы, называемые трансляторами. Все трансляторы делятся на два класса:

  • интерпретаторы — трансляторы, которые переводят каждый оператор программы в машинный код, и по мере перевода операторы выполняются процессором;
  • компиляторы переводят всю программу целиком, и если перевод всей программы прошёл без ошибок, то полученный двоичный код можно запускать на выполнение.
  • Процесс перевода программы в машинный код называется трансляцией. Если в качестве транслятора выступает компилятор, то используют термин компиляция программы. При переводе программы с языка С++ в машинный код используются именно компиляторы, и поэтому применительно к языку С++ термины "компилятор" и "транслятор" эквивалентны.

    Рассмотрим основные этапы обработки компилятором программы на языке С++ и формирования машинного кода.

  • Сначала с программой работает препроцессорПрепроцессор преобразовывает текст директив в форму, понятную компилятору. О данных на выходе препроцессора говорят, что они находятся в препроцессированной форме., он обрабатывает директивы, в нашем случае это директивы включения заголовочных файлов (файлов с расширением .h) — текстовых файлов, в которых содержится описание используемых библиотек. В результате формируется полный текст программы, который поступает на вход компилятора.
  • Компилятор разбирает текст программ на составляющие элементы, проверяет синтаксические ошибки и в случае их отсутствия формирует объектный код (файл с расширением .o или .obj). Получаемый на этом этапе двоичный код не включает в себя двоичные коды библиотечных функций и функций пользователя.
  • Компоновщик подключает к объектному коду программы объектные модули библиотек и других файлов (если программа состоит из нескольких файлов) и генерирует исполняемый код программы (двоичный файл), который уже можно запускать на выполнение. Этот этап называется компоновкой или сборкой программы.
  • После написания программы её необходимо ввести в компьютер. В этом курсе будет рассматриваться работа на языке Тексты программ, приведённые в первой части книги (главы 1–9), без серьёзных изменений могут быть откомпилированы с помощью любого современного компилятора с языка С(С++). Авторы протестировали все программы из первой части книги с помощью QT Creator и IDE Geany (с использованием g++ версии 4.8).. Поэтому перед вводом программы в компьютер надо познакомиться со средой программирования.

    1.2 Среда программирования Qt Creator

    Среда программирования Окно на вашем компьютере визуально может несколько отличаться от представленного на рис. 1.1, авторы использовали IDE Qt Creator версии 2.6.2, основанную на QT 5.0.1..

    (рис 1.1) Окно Qt Creator

    При работе в Qt Creator вы находитесь в одном из режимов:

  • Welcome (Начало) — отображает экран приветствия, позволяя быстро загружать недавние сессии или отдельные проекты. Этот режим можно увидеть при запуске Qt Creator без указания ключей командной строки.
  • Edit (Редактор) — позволяет редактировать файлы проекта и исходных кодов. Боковая панель слева предоставляет различные виды для перемещения между файлами.
  • Debug (Отладка) — предоставляет различные способы для просмотра состояния программы при отладке.
  • Projects (Проекты) — используется для настройки сборки, запуска и редактирования кода.
  • Analyze (Анализ) — в Qt интегрированы современные средства анализа кода разрабатываемого приложения.
  • Help (Справка) — используется для вывода документации библиотеки Qt и Qt Creator.
  • Output (Вывод) — используется для вывода подробных сведений о проекте.
  • Рассмотрим простейшие приёмы работы в среде Qt Creator на примере создания консольного приложения для решения задачи 1.1. Для этого можно поступить одним из способов:

  • В меню File (Файл) выбрать команду New File or Project (Новый файл или проект) (комбинация клавиш Ctrl+N).
  • Находясь в режиме Welcome (Начало) главного окна QtCreator (рис. 1.1) щёлкаем по ссылке Develop (Разработка) и выбираем команду Create Project (Создать проект).
  • После этого откроется окно, подобное представленному на рис. 1.2. Для создания простейшего консольного приложения выбираем Non-Qt Project (Проект без использования Qt) — Plain C++ Project (Простой проект на языке С++).

    Далее выбираем имя проекта и каталог для его размещения (см. рис. 1.3)Рекомендуем для каждого проекта выбирать отдельный каталог. Проект — это несколько взаимосвязанных между собой файлов и каталогов.. Следующие два этапа создания нашего первого приложения оставляем без измененияО назначении этих этапов будет рассказано в дальнейших разделах книги.. После чего окно IDE Qt Creator будет подобно представленному на рис. 1.4. Заменим текст "Hello, Word" стандартного приложения, на текст программы решения задачи 1.1.

    (рис 1.2) Окно выбора типа приложения в Qt Creator

    Для сохранения текста программы можно воспользоваться командой Сохранить или Сохранить всё из меню Файл. Откомпилировать и запустить программу можно одним из следующих способов:

  • Пункт меню Сборка-Запустить.
  • Нажать на клавиатуре комбинацию клавиш Ctrl+R.
  • Щёлкнуть по кнопке Запустить ( ).
  • Окно с результатами работы программы представлено на рис. 1.5.

    (рис 1.3) Выбор имени и каталога нового проекта (рис 1.4) Главное окно создания консольного приложения

    Авторы сталкивались с тем, что в некоторых дистрибутивах Ubuntu Linux и Linux Mint после установки Qt Creator не запускались консольные приложения. Если читатель столкнулся с подобной проблемой, скорее всего надо корректно настроить терминал, который отвечает за запуск приложений в консоли. Для этого вызываем команду Tools — Options — Environment (см. рис. 1.6). Параметр Terminal (Терминал) должен быть таким же, как показано на рис. 1.6. Проверьте установлен ли в Вашей системе пакет xterm, и при необходимости доставьте его. После этого не должно быть проблем с запуском консольных приложений.

    Аналогичным образом можно создавать и запускать любое консольное приложение.

    (рис 1.5) Результаты работы программы решения задачи 1.1 (рис 1.6) Окно настроек среды Qt Creator

    Дальнейшее знакомство со средой Qt Creator продолжим, решая следующую задачу.

    Задача 1.2. Заданы длины трёх сторон треугольника $$ a, b$$ и $$c$$ (см. рис. 1.7). Вычислить площадь и периметр треугольника.

    Для решения задачи можно воспользоваться формулой Герона $$S=\sqrt{\frac{p}{2}(\frac{p}{2}-a)(\frac{p}{2}-b)(\frac{p}{2}-c)}$$, где $$p = a + b + c$$ — периметр.

    Решение задачи можно разбить на следующие этапы:

  • Определение значений $$a, b$$ и $$c$$ (ввод величин $$a, b, c$$ с клавиатуры в память компьютера).
  • Расчёт значений $$p$$ и $$s$$ по приведённым выше формулам.
  • Вывод $$p$$ и $$s$$ на экран дисплея.
  • Ниже приведён текст программы. Сразу заметим, что в тексте могут встречаться строки, начинающие с двух наклонных (//). Это комментарии. Комментарии не являются обязательными элементами программы и ничего не сообщают компьютеру, они поясняют человеку, читающему текст программы, назначение отдельных элементов программы. В книге комментарии будут широко использоваться для пояснения отдельных участков программы.

    (рис 1.7) Треугольник
    #include <iostream>
    #include <math.h>
    using namespace std;
    int main( )
    {
    float a, b, c, s, p;
    cout<<"Введите длины сторон треугольника"<<endl;
    //Ввод значений длин треугольника a, b, c .
    cin>>a>>b>>c;
    //Вычисление периметра треугольника .
    p=a+b+c;
    //Вычисление площади треугольника .
    s=sqrt ( p /2*( p/2-a )*( p/2-b )*( p/2-c ) );
    //Вывод на экран дисплея значений площади и периметра треугольника.
    cout<<"Периметр треугольника равен "<<p<<", его площадь равна "<<s<<endl;
    return 0;
    }
    			

    Кроме используемой в предыдущей программе библиотеки iostream, в строке 2 подключим библиотеку math.h, которая служит для использования математических функций языка С(С++). В данной программе используется функция извлечения квадратного корня — $$sqrt(x)$$. Остальные операторы (ввода, вывода, вычисления значений переменных) аналогичны используемым в предыдущей программе.

    Таким образом, выше были рассмотрены самые простые программы (линейной структуры), которые предназначены для ввода исходных данных, расчёта по формулам и вывода результатов.

    Страницы:

    Предисловие. Знакомство с языком С++

    Книга, которую открыл читатель, является с одной стороны учебником по алгоритмизации и программированию на C++, а с другой — пособием по разработке визуальных приложений в среде Qt Creator. В книге описаны среда программирования Qt Creator и редактор Geany. При чтении книги не требуется предварительного знакомства с программированием.

    В первой части книги (главы 1–9) на большом количестве примеров представлены методы построения программ на языке C++, особое внимание уделено построению циклических программ, программированию с использованием функций, массивов, матриц и указателей.

    Вторая часть книги (глава 10) посвящена объектно-ориентированному программированию на C++.

    В третьей части книги (главы 11–15) читатель научится создавать кроссплатформенные визуальные приложения с помощью Qt Creator и познакомится с библиотекой классов Qt.

    В книге присутствуют задания для самостоятельного решения.

    В приложениях описан текстовый редактор Geany, а также кроссплатформенная библиотека MathGL, предназначенная для построения различных двух- и трёхмерных графиков.

    Главы 1–9 написаны Е. Р. Алексеевым и О. В. Чесноковой. Автором раздела по объектно-ориентированному программированию является Д. А. Костюк. Главы 11–15, посвящённые программированию с использованием инструментария Qt, написаны Г. Г. Злобиным и А. C. Чмыхало.

    Авторы благодарят компанию ALT Linux (www.altlinux.ru) и лично Алексея Смирнова и Владимира Чёрного за возможность издать очередную книгу по свободному программному обеспечению.

    Знакомство с языком С++

    В этой главе читатель напишет свои первые программы на языке С(С++), познакомится с основными этапами перевода программы с языка C++ в машинный код. Второй параграф главы посвящён знакомству со средой Qt Creator.

    1.1 Первая программа на C++

    Знакомство с языком С++ начнём с написания программ, предназначенных для решения нескольких несложных задач.

    Задача 1.1. Заданы две стороны прямоугольника a, b. Найти его площадь и периметр.

    Как известно, периметр прямоугольника $$P = 2*(a +b)$$, а его площадь $$S = a*b$$. Ниже приведён текст программы.

    1 #include <iostream>
    2 using namespace std;
    3 int main( )
    4 {
    5	float a, b, s, p;
    6	cout<<"a=";
    7	cin>>a;
    8	cout<<"b=";
    9	cin>>b;
    10	p=2*(a+b );
    11	s=a*b;
    12	cout << "Периметр прямоугольника равен " << p <<endl;
    13	cout << "Площадь прямоугольника равна " << s <<endl;
    14	return 0;
    15 }
    

    Давайте построчно рассмотрим текст программы и познакомимся со структурой программы на С++ и с некоторыми операторами языка.

    Строка 1. Указывает компилятору (а точнее, препроцессору), что надо использовать функции из стандартной библиотеки iostream. Библиотека iostream нужна для организации ввода с помощью инструкции cin и вывода — с помощью cout. В программе на языке C++ должны быть подключены все используемые библиотеки.

    Строка 2. Эта строка обозначает, что при вводе и выводе с помощью cin и cout будут использоваться стандартные устройства (клавиатура и экран), если эту строку не указывать, то каждый раз при вводе вместо cin надо будет писать std::cin, а вместо cout – std::cout.

    Строка 3. Заголовок главной функции (главная функция имеет имя main). В простых программах присутствует только функция main().

    Строка 4. Любая функция начинается с символа {.

    Строка 5. Описание вещественных (float) переменных a (длина одной стороны прямоугольника), b (длина второй стороны прямоугольника), s (площадь прямоугольника), p (периметр прямоугольника). Имя переменнойВ литературе равнозначно используются термины "имя переменной" и "идентификатор". состоит из латинских букв, цифр и символа подчёркивания. Имя не может начинаться с цифры. В языке С++ большие и малые буквы различимы. Например, имена PR_1, pr_1, Pr_1 и pR_1 — разные.

    Строка 6. Вывод строки символов a= с помощью cout. Программа выведет подсказку пользователю, что необходимо вводить переменную a

    Строка 7. Ввод вещественного числа a с помощью cin. В это момент программа останавливается и ждёт, пока пользователь введёт значение переменой a с клавиатуры.

    Строка 8. Вывод строки символов b= с помощью cout.

    Строка 9. Ввод вещественного числа b с помощью cin.

    Строка 10. Оператор присваивания для вычисления периметра прямоугольника (переменная p) по формуле $$2*(a + b)$$. В операторе присваивания могут использоваться круглые скобки и знаки операций: + (сложение), - (вычитание), * (умножение), / (деление).

    Строка 11. Оператор присваивания для вычисления площади прямоугольника.

    Строка 12. Вывод строки "Периметр прямоугольника равен " и значения p на экран. Константа endl хранит строку "\n", которая предназначена для перевода курсора в новую строку дисплеяОбращаем внимание читателя, что символ пробел является обычным символом, который ничем не отличается от остальных. Для вывода пробела на экран его надо явно указывать в строке вывода..Таким образом строка

    cout <<"Периметр прямоугольника равен "<< p <<endl;
    			

    выводит на экран текст С пробелом после слова "равен"., значение переменной p, и переводит курсор в новую строку.

    Строка 13. Вывод строки "Площадь прямоугольника равна ", значения площади прямоугольника s, после чего курсор переводится в новую строку дисплея.

    Строка 14. Оператор return, который возвращает значение в операционную систему. Об этом подробный разговор предстоит в п. 4.9.Сейчас следует запомнить: если программа начинается со строки int main(), последним оператором должен бытьВообще говоря, вместо нуля может быть любое целое число.return 0.

    Строка 15. Любая функция (в том числе и main) заканчивается символом }.

    Мы рассмотрели простейшую программу на языке С++, состоящую из операторов ввода данных, операторов присваивания (в которых происходит расчёт по формулам) и операторов вывода.

    Программа на языке С++ представляет собой одну или несколько функций. В любой программе обязательно должна быть одна функция main(). С этой функции начинается выполнение программы. Правилом хорошего тона в программировании является разбиение задачи на подзадачи, и в главной функции чаще всего должны быть операторы вызова других функций. Общую структуру программы на языке C++ можно записать следующим образом.

    Директивы препроцессора
    Объявление глобальных переменных
    Тип_результата f1 (Список_переменных)
    {
    Операторы
    }
    Тип_результата f2 (Список_переменных)
    {
    Операторы
    }
    ...
    Тип_результата fn (Список_переменных)
    {
    Операторы
    }
    Тип_ результата main (Список_переменных)
    {
    Операторы
    }
    			

    На первом этапе знакомства с языком мы будем писать программы, состоящие только из функции main, без использования глобальных переменных. Структура самой простой программы на C(C++) имеет вид.

    Директивы препроцессора
    Тип_ результата main (Список_переменных)
    {
    Операторы
    }
    			

    Введённая в компьютер программа на языке С++ должна быть переведена в двоичный машинный код (формируется исполняемый файл). Для этого существуют специальные программы, называемые трансляторами. Все трансляторы делятся на два класса:

  • интерпретаторы — трансляторы, которые переводят каждый оператор программы в машинный код, и по мере перевода операторы выполняются процессором;
  • компиляторы переводят всю программу целиком, и если перевод всей программы прошёл без ошибок, то полученный двоичный код можно запускать на выполнение.
  • Процесс перевода программы в машинный код называется трансляцией. Если в качестве транслятора выступает компилятор, то используют термин компиляция программы. При переводе программы с языка С++ в машинный код используются именно компиляторы, и поэтому применительно к языку С++ термины "компилятор" и "транслятор" эквивалентны.

    Рассмотрим основные этапы обработки компилятором программы на языке С++ и формирования машинного кода.

  • Сначала с программой работает препроцессорПрепроцессор преобразовывает текст директив в форму, понятную компилятору. О данных на выходе препроцессора говорят, что они находятся в препроцессированной форме., он обрабатывает директивы, в нашем случае это директивы включения заголовочных файлов (файлов с расширением .h) — текстовых файлов, в которых содержится описание используемых библиотек. В результате формируется полный текст программы, который поступает на вход компилятора.
  • Компилятор разбирает текст программ на составляющие элементы, проверяет синтаксические ошибки и в случае их отсутствия формирует объектный код (файл с расширением .o или .obj). Получаемый на этом этапе двоичный код не включает в себя двоичные коды библиотечных функций и функций пользователя.
  • Компоновщик подключает к объектному коду программы объектные модули библиотек и других файлов (если программа состоит из нескольких файлов) и генерирует исполняемый код программы (двоичный файл), который уже можно запускать на выполнение. Этот этап называется компоновкой или сборкой программы.
  • После написания программы её необходимо ввести в компьютер. В этом курсе будет рассматриваться работа на языке Тексты программ, приведённые в первой части книги (главы 1–9), без серьёзных изменений могут быть откомпилированы с помощью любого современного компилятора с языка С(С++). Авторы протестировали все программы из первой части книги с помощью QT Creator и IDE Geany (с использованием g++ версии 4.8).. Поэтому перед вводом программы в компьютер надо познакомиться со средой программирования.

    1.2 Среда программирования Qt Creator

    Среда программирования Окно на вашем компьютере визуально может несколько отличаться от представленного на рис. 1.1, авторы использовали IDE Qt Creator версии 2.6.2, основанную на QT 5.0.1..

    (рис 1.1) Окно Qt Creator

    При работе в Qt Creator вы находитесь в одном из режимов:

  • Welcome (Начало) — отображает экран приветствия, позволяя быстро загружать недавние сессии или отдельные проекты. Этот режим можно увидеть при запуске Qt Creator без указания ключей командной строки.
  • Edit (Редактор) — позволяет редактировать файлы проекта и исходных кодов. Боковая панель слева предоставляет различные виды для перемещения между файлами.
  • Debug (Отладка) — предоставляет различные способы для просмотра состояния программы при отладке.
  • Projects (Проекты) — используется для настройки сборки, запуска и редактирования кода.
  • Analyze (Анализ) — в Qt интегрированы современные средства анализа кода разрабатываемого приложения.
  • Help (Справка) — используется для вывода документации библиотеки Qt и Qt Creator.
  • Output (Вывод) — используется для вывода подробных сведений о проекте.
  • Рассмотрим простейшие приёмы работы в среде Qt Creator на примере создания консольного приложения для решения задачи 1.1. Для этого можно поступить одним из способов:

  • В меню File (Файл) выбрать команду New File or Project (Новый файл или проект) (комбинация клавиш Ctrl+N).
  • Находясь в режиме Welcome (Начало) главного окна QtCreator (рис. 1.1) щёлкаем по ссылке Develop (Разработка) и выбираем команду Create Project (Создать проект).
  • После этого откроется окно, подобное представленному на рис. 1.2. Для создания простейшего консольного приложения выбираем Non-Qt Project (Проект без использования Qt) — Plain C++ Project (Простой проект на языке С++).

    Далее выбираем имя проекта и каталог для его размещения (см. рис. 1.3)Рекомендуем для каждого проекта выбирать отдельный каталог. Проект — это несколько взаимосвязанных между собой файлов и каталогов.. Следующие два этапа создания нашего первого приложения оставляем без измененияО назначении этих этапов будет рассказано в дальнейших разделах книги.. После чего окно IDE Qt Creator будет подобно представленному на рис. 1.4. Заменим текст "Hello, Word" стандартного приложения, на текст программы решения задачи 1.1.

    (рис 1.2) Окно выбора типа приложения в Qt Creator

    Для сохранения текста программы можно воспользоваться командой Сохранить или Сохранить всё из меню Файл. Откомпилировать и запустить программу можно одним из следующих способов:

  • Пункт меню Сборка-Запустить.
  • Нажать на клавиатуре комбинацию клавиш Ctrl+R.
  • Щёлкнуть по кнопке Запустить ( ).
  • Окно с результатами работы программы представлено на рис. 1.5.

    (рис 1.3) Выбор имени и каталога нового проекта (рис 1.4) Главное окно создания консольного приложения

    Авторы сталкивались с тем, что в некоторых дистрибутивах Ubuntu Linux и Linux Mint после установки Qt Creator не запускались консольные приложения. Если читатель столкнулся с подобной проблемой, скорее всего надо корректно настроить терминал, который отвечает за запуск приложений в консоли. Для этого вызываем команду Tools — Options — Environment (см. рис. 1.6). Параметр Terminal (Терминал) должен быть таким же, как показано на рис. 1.6. Проверьте установлен ли в Вашей системе пакет xterm, и при необходимости доставьте его. После этого не должно быть проблем с запуском консольных приложений.

    Аналогичным образом можно создавать и запускать любое консольное приложение.

    (рис 1.5) Результаты работы программы решения задачи 1.1 (рис 1.6) Окно настроек среды Qt Creator

    Дальнейшее знакомство со средой Qt Creator продолжим, решая следующую задачу.

    Задача 1.2. Заданы длины трёх сторон треугольника $$ a, b$$ и $$c$$ (см. рис. 1.7). Вычислить площадь и периметр треугольника.

    Для решения задачи можно воспользоваться формулой Герона $$S=\sqrt{\frac{p}{2}(\frac{p}{2}-a)(\frac{p}{2}-b)(\frac{p}{2}-c)}$$, где $$p = a + b + c$$ — периметр.

    Решение задачи можно разбить на следующие этапы:

  • Определение значений $$a, b$$ и $$c$$ (ввод величин $$a, b, c$$ с клавиатуры в память компьютера).
  • Расчёт значений $$p$$ и $$s$$ по приведённым выше формулам.
  • Вывод $$p$$ и $$s$$ на экран дисплея.
  • Ниже приведён текст программы. Сразу заметим, что в тексте могут встречаться строки, начинающие с двух наклонных (//). Это комментарии. Комментарии не являются обязательными элементами программы и ничего не сообщают компьютеру, они поясняют человеку, читающему текст программы, назначение отдельных элементов программы. В книге комментарии будут широко использоваться для пояснения отдельных участков программы.

    (рис 1.7) Треугольник
    #include <iostream>
    #include <math.h>
    using namespace std;
    int main( )
    {
    float a, b, c, s, p;
    cout<<"Введите длины сторон треугольника"<<endl;
    //Ввод значений длин треугольника a, b, c .
    cin>>a>>b>>c;
    //Вычисление периметра треугольника .
    p=a+b+c;
    //Вычисление площади треугольника .
    s=sqrt ( p /2*( p/2-a )*( p/2-b )*( p/2-c ) );
    //Вывод на экран дисплея значений площади и периметра треугольника.
    cout<<"Периметр треугольника равен "<<p<<", его площадь равна "<<s<<endl;
    return 0;
    }
    			

    Кроме используемой в предыдущей программе библиотеки iostream, в строке 2 подключим библиотеку math.h, которая служит для использования математических функций языка С(С++). В данной программе используется функция извлечения квадратного корня — $$sqrt(x)$$. Остальные операторы (ввода, вывода, вычисления значений переменных) аналогичны используемым в предыдущей программе.

    Таким образом, выше были рассмотрены самые простые программы (линейной структуры), которые предназначены для ввода исходных данных, расчёта по формулам и вывода результатов.

    Вернуться к учебному плану