Данная работа посвящена созданию своего рода базы данных на языке программирования С++. База данных содержит информацию о сотрудниках этого предприятия, а именно: фамилию сотрудника и его заработную плату. Предусмотрена возможность, как создания новой базы, так и возможность работать с базой, ранее записанной в файл. Для работы с базой данных в программе предусмотрено меню, содержащее различные операции: добавить сотрудника, удалить сотрудника, сохранить базу данных в файл и т. д. Программа выполнена в виде консольного приложения.
ПОСТАНОВКА ЗАДАЧИ 3
ВВЕДЕНИЕ 4
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ 5
2 ОПИСАНИЕ ПРОГРАММЫ 11
2.1 Описание разработанной структуры 11
2.2 Логика работы программы. 11
2.3 Схема алгоритма функции main() 14
3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 15
ЗАКЛЮЧЕНИЕ 16
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 17
ПРИЛОЖЕНИЕ А Листинг программы 18
ПРИЛОЖЕНИЕ Б Распечатки результатов 20
Работа содержит 1 файл
БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Как сделать курсовую»базу данных» в консольном приложение на с++ (Шаблон №1 – Файлы и функции)
МЕЖДУНАРОДНЫЙ ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
по курсу «Основы алгоритмизации и программирования»
«Разработка консольного приложения на языке С++»
выполнил ст. гр. 417021-12 Зеневич Д.А.
проверила Попова Ю. Б.
ПОСТАНОВКА ЗАДАЧИ 3
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ 5
2 ОПИСАНИЕ ПРОГРАММЫ 11
2.1 Описание разработанной структуры 11
2.2 Логика работы программы. 11
2.3 Схема алгоритма функции main() 14
3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ 15
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 17
ПРИЛОЖЕНИЕ А Листинг программы 18
ПРИЛОЖЕНИЕ Б Распечатки результатов 20
ПОСТАНОВКА ЗАДАЧИ
Написать программу, в которой объединение используется для хранения информации об одной из геометрических фигур: трапеции или треугольнике. Программа вычисляет площадь данных фигур и выводит результат. Предусмотреть меню. Результаты работы программы записать в файл.
ВВЕДЕНИЕ
Данная работа посвящена созданию своего рода базы данных на языке программирования С++. База данных содержит информацию о сотрудниках этого предприятия, а именно: фамилию сотрудника и его заработную плату. Предусмотрена возможность, как создания новой базы, так и возможность работать с базой, ранее записанной в файл. Для работы с базой данных в программе предусмотрено меню, содержащее различные операции: добавить сотрудника, удалить сотрудника, сохранить базу данных в файл и т. д. Программа выполнена в виде консольного приложения.
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ
Для решения данной задачи использовались знания из области базовых средств языка С++: типы данных, переменные, указатели, условные операторы, операторы циклов, массивы, перечисления и структуры.
Переменная – это именованная область памяти, в которой хранятся данные определенного типа. Имя служит для обращения к области памяти, в которой хранятся данные. Тип данных определяет:
- внутреннее представление данных в памяти компьютера;
- множество значений, принимаемых величинами этого типа;
- операции и функции, которые к ним можно применять.
Все типы языка С++ можно разделить на основные (стандартные) и составные. В языке С++ определено 6 основных типов данных:
Консольные приложения
- int (целый):
- char (символьный);
- wchar_t (расширенный символьный);
- bool (логический);
- float (вещественный);
- double (вещественный с двойной точностью);
Существуют 4 спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов:
- short (короткий);
- long (длинный);
- signet (знаковый);
- unsigned (беззнаковый);
Кроме перечисленных, к основным типам данных относится тип void, но множество значений этого типа пусто. Он используется для определения функций, которые не возвращают значения, для указания пустого списка аргументов функции, как базовый тип для указателей.
Общий вид оператора описания переменных:
[класс памяти] [const] тип имя [инициализатор],
- необязательный класс памяти определяет время жизни и область видимости программного объекта (в частности, переменной). Может принимать одно из значений auto, extern, static, register. Если класс памяти не указан явным образом, он определяется компилятором исходя из контекста объявления;
- модификатор const показывает, что значение переменной изменять нельзя. Такую переменную называют именованной константой, или просто константой;
- инициализатор используется для присваивания начального значения переменной.
На основе стандартных типов программист может вводить описание составных типов. К ним относятся массивы, указатели, ссылки, перечисления, структуры, объединения.
Массивом называется конечная именованная последовательность однотипных величин. Описание массива в программе отличается от описания простой переменной наличием после имени квадратных скобок, в которых задается количество элементов массива (размерность). Элементы массива нумеруются с нуля. Размерность массива может быть задана только константой или константным выражением. Пример:
float a[10]; //массив из 10 вещественных чисел
char str[10] = “Вася” // массив символов. Выделено 10 элементов с
// номерами от 0 до 9.
// первые элементы: ’в’, ’а’, ’с’, ’я’, ’ ’ – нуль – символ.
Указатели – переменные, предназначенные для хранения адресов областей памяти. В С++ различают 3 вида указателей – указатель на объект, на функцию, на void. Указатель не является самостоятельным типом, он всегда связан с каким – либо другим конкретным типом.
Указатель на функцию содержит адрес в сегменте кода, по которому располагается исполняемый код функции, т. е. адрес, по которому передается управление при вызове функции. Указатели на функции используются для косвенного вызова функции, а также для передачи имени функции в другую функцию в качестве параметра.
Указатель на объект содержит адрес области памяти, в которой хранятся данные определенного типа.
Указатель на void применяется в тех случаях, когда конкретный тип объекта, адрес которого требуется хранить, не определен (например, если в одной и той же переменной в разные моменты времени требуется хранить адреса объектов различных типов).
int func ( int, int ); //определение функции
int (*f) ( int, int ); //указатель на функцию
f = func; //присваивание адреса функции
int a = 5; //целая переменная
int *p = //в указатель записываем адрес переменной
int *t = b; // присваивание адреса начала массива
Операция разадресации (*), или разыменования предназначена для доступа к величине, адрес которой хранится в указателе. Эту операцию можно использовать как для получения, так и для изменения значения величины (если она не объявлена как константа).
При написании программ часто возникает потребность определить несколько именованных констант, для которых требуется, чтобы все они имели различные значения (при этом конкретные значения могут быть не важны). Для этого удобно воспользоваться перечисляемым типом данных, все возможные значения которого задаются списком целочисленных констант.
где имя типа задается в том случае, если в программе требуется определять переменные этого типа.
В отличие от массивов, все элементы которого однотипны, структура может содержать элементы разных типов:
struct [имя типа]
Элементы структуры называются полями структуры и могут иметь любой тип, кроме типа этой же структуры, но могут быть указателями на него. Если отсутствует имя типа, должен быть указан список описателей переменных, указателей или массивов. В этом случае описание структуры служит определением элементов этого списка. Если список отсутствует, описание структуры определяет новый тип, имя которого можно использовать в дальнейшем наряду со стандартными типами.
Для инициализации структуры значения ее элементов перечисляют в фигурных скобках в порядке их описания. При инициализации массива структур следует заключать в фигурные скобки каждый элемент массива (учитывая, что многомерный массив – это массив массивов).
Для переменных одного и того же структурного типа определена операция присваивания, при этом происходит поэлементное копирование. Структуру можно передавать в функцию и возвращать в качестве значения функции.
Доступ к полям структуры выполняется с помощью операций выбора ‘.’ (точка) при обращении к полю через имя структуры и ‘- >’ при обращении через указатель.
Объединение представляет собой частный случай структуры, все поля которой располагаются по одному и тому же адресу. Длина объединения равна наибольшей из длин его полей. В каждый момент времени в переменной типа объединение хранится только одно значение. Объединение применяется для экономии памяти в тех случаях, когда известно, что больше одного поля одновременно не требуется.
Помимо этого в программе широко использовались возможности модульного программирования, а именно, функции.
Функция – это именованная последовательность описаний и операторов, выполняющая какое – либо законченное действие. Функция может принимать параметры и возвращать значение.
Любая программа на языке С++ состоит из функций, одна из которых должна иметь имя main (с нее начинается выполнение программы). Функция начинает выполняться в момент вызова. Любая функция может быть объявлена и определена. Как и для других величин, объявлений может быть несколько, а определение только одно. Объявление функции должно находиться в тексте раньше ее вызова для того, чтобы компилятор мог осуществить проверку правильности вызова.
Объявление функции (прототип, заголовок, сигнатура) задает ее имя тип возвращаемого значения и список передаваемых параметров. Определение функции содержит, кроме объявления, тело функции, представляющее собой последовательность операторов и описаний в фигурных скобках. В объявлении, в определении и при вызове одной и той же функции типы и порядок следования параметров должны совпадать. На имена параметров ограничений по соответствию не накладывается, поскольку функцию можно вызывать с различными аргументами, а в прототипах имена компилятором игнорируются (они служат только для улучшения читаемости программы).
Механизм передачи параметров является основным способом обмена информацией между вызываемой и вызывающей функциями. Параметры, перечисленные в заголовке описания функции, называются формальными параметрами, а записанные в операторе вызова функции – фактическими параметрами, или аргументами.
При вызове функции в первую очередь вычисляются выражения, стоящие на месте аргументов; затем в стеке выделяется память под формальные параметры функции в соответствии с их типом, и каждому из них присваивается значение соответствующего аргумента. При этом проверяется соответствие типов и при необходимости выполняется их преобразование.
существуют 2 способа передачи параметров в функцию:
- по адресу;
- по значению.
При передаче по значению в стек заносятся копии значений аргументов, и операторы функции работают с этими копиями. Доступа к исходным значениям параметров у функции нет, а, следовательно, нет и возможности их изменить.
При передаче по адресу в стек заносятся копии адресов аргументов, а функция осуществляет доступ к ячейкам памяти по этим адресам и может изменить исходные значения аргументов. Параметры в функцию можно передавать по адресу с помощью указателей или с помощью ссылок.
В качестве среды разработки данной программы выступала среда Microsoft Visual Studio 2010.
2 ОПИСАНИЕ ПРОГРАММЫ
2.1 Описание разработанной структуры
Описание структуры данных, используемой в программе, имеет вид:
Источник: www.stud24.ru
Презентация на тему Структура консольного приложения
Структура консольного приложения имеет вид:заголовок программы;раздел подключения модулей;раздел описаний;тело программы.
- Главная
- Информатика
- Структура консольного приложения
Слайды презентации
Слайд 1 Структура консольного приложения
Слайд 2
Структура консольного приложения имеет вид:
заголовок программы;
раздел подключения модулей;
раздел
описаний;
тело программы.
имени программы, например:
Слайд 4
В разделе подключения модулей используется служебное слово uses.
В модулях находятся функции и процедуры языка.
Слайд 5
Раздел описаний включает следующие подразделы:
раздел описания констант;
раздел описания
типов;
раздел описания переменных;
раздел описания процедур и функций.
Слайд 6
program имя_программы ;
uses modul1 , modul2 , .
. . , moduln ;
const описания_констант ;
var описания_переменных ;
begin
операторы_языка
Слайд 7 пример текста программы на Free Pascal:
program one ;
const
a
=7;
var
b , c : real ;
begin
c :=a +2; b:=c−a
Слайд 8 Запуск программы
Слайд 9
После того как текст программы набран, его следует
перевести в машинный код. Для этого необходимо вызвать транслятор
с помощью команды Compile — Compile (комбинация клавиш Alt+F9).
Слайд 10
Для запуска транслированной программы необходимо выполнить команду Run
— Run (комбинация клавиш Ctrl+F9), после чего на экране
появляется окно командной строки, в котором пользователь и осуществляет диалог с программой. После завершения работы программы вновь появляется экран среды Free Pascal.
Слайд 11 Комментарии
( ∗ Или так
. ∗ )
//А если вы используете такой способ,
//то каждая
строка должна начинаться
//с двух символов «косая черта».
Слайд 12 Правильный идентификатор
Идентификатор – это уникальное имя любого объекта
(программы, переменной, константы, функции и т.д.). Имя формируется по
правилу правильного идентификатора: имя не должно начинаться с цифры.
Правильно:
A: integer;
a1:real;
_1a:char;
Не правильно:
1a:integer;
Слайд 13 Данные в языке Free Pascal
Слайд 14 Перед использованием любая переменная должна быть описана. Описание
переменной на языке Free Pascal осуществляется с помощью служебного
слова var:
var имя_переменной : тип_переменной ;
Если объявляется несколько переменных одного типа, то описание выглядит следующим образом:
var переменная_1, переменная_2. переменная_N: тип_переменных ;
Слайд 15
Например:
var
ha : integer ; //Объявлена целочисленная //переменная.
hb ,
c : real ; //Объявлены две //вещественные переменные.
Слайд 16
Константа — это величина, которая не изменяет своего
значения в процессе выполнения программы. Описание константы имеет вид:
const
имя_константы = значение ;
Например:
const
h=3; //Целочисленная константа.
bk= −7.521; //Вещественная константа.
c= ’ abcde ’ ; //Символьная константа.
Слайд 17 Типы данных
Слайд 18 Символьный тип данных
Описывают символьный тип с помощью служебного
слова char. Например:
var c : char ;
В тексте программы
значения переменных и константы символьного типа должны быть заключены в апострофы: ’а’, ’b’, ’+’.
Слайд 19 Целочисленный тип данных
Слайд 20
Описание целочисленных переменных в программе может быть таким:
var
b
: byte ;
i , j : integer ;
W: word ;
L_1 , L_2 : longint ;
Слайд 21 Вещественный тип данных
http://habrahabr.ru/post/112953/
Слайд 22
Примеры описания вещественных переменных:
var
r1 , r2 : real
;
D: double ;
Слайд 23 Логический тип данных
Данные логического типа могут принимать только
два значения: истина (true) или ложь (false).
Слайд 24
Пример объявления логической переменной:
var FL : boolean ;
Слайд 25 Операции и выражения
Слайд 26
Слайд 27
Слайд 28
• div — целочисленное деление (возвращает целую часть
частного, дробная часть отбрасывается), например, 17 div 10 =
1;
• mod — остаток от деления, например, 17 mod 3 = 2.
Источник: findtheslide.com
2) Структура программы VB.Net
Шаг 1) Создайте новое консольное приложение.
Шаг 2) Добавьте следующий код:
Imports System Module Module1 ‘Prints Hello Guru99 Sub Main() Console.WriteLine(«Hello Guru99») Console.ReadKey() End Sub End Module
Шаг 3) Нажмите кнопку «Пуск» на панели инструментов, чтобы запустить его. На консоли должно быть напечатано следующее:
Давайте обсудим различные части вышеупомянутой программы:
Объяснение кода:
- Это называется объявлением пространства имен. Что мы делаем, так это то, что мы включаем пространство имен с именем System в нашу структуру программирования. После этого мы сможем получить доступ ко всем методам, которые были определены в этом пространстве имен, без получения ошибки.
- Это называется объявлением модуля. Здесь мы объявили модуль с именем Module1. VB.NET — это объектно-ориентированный язык. Следовательно, мы должны иметь модуль класса в каждой программе. Именно внутри этого модуля вы сможете определить данные и методы, которые будут использоваться вашей программой.
- Это комментарий. Чтобы пометить его как комментарий, мы добавили одинарную кавычку (‘) в начало предложения. Компилятор VB.NET не будет обрабатывать эту часть. Цель комментариев — улучшить читаемость кода. Используйте их, чтобы объяснить значение различных утверждений в вашем коде. Любой, кто читает ваш код, поймет, что его легко понять.
- Модуль или класс VB.NET может иметь более одной процедуры. Это внутри процедур, где вы должны определить свой исполняемый код. Это означает, что процедура будет определять поведение класса. Процедура может быть Function, Sub, Get, Set, AddHandler, Operator, RemoveHandler или RaiseEvent. В этой строке мы определили основную подпроцедуру. Это отмечает точку входа во всех программах VB.NET. Он определяет, что будет делать модуль при запуске.
- Здесь мы указали поведение основного метода. Метод WriteLine принадлежит классу Console и определяется внутри пространства имен System. Помните, что это было импортировано в код. Это утверждение заставляет программу печатать текст Hello Guru99 на консоли при выполнении.
- Эта строка будет препятствовать закрытию или закрытию экрана вскоре после выполнения программы. Экран остановится и будет ждать, пока пользователь выполнит действие, чтобы закрыть его.
- Закрытие основной подпроцедуры.
- Завершение модуля.
Классы
В VB.NET мы используем классы, чтобы определить план для типа данных. Это не означает, что определение класса является определением данных, но оно описывает, из чего будет сделан объект этого класса и операции, которые мы можем выполнить над таким объектом.
Объект является экземпляром класса. Члены класса — это методы и переменные, определенные в классе.
Чтобы определить класс, мы используем ключевое слово Class, за которым должны следовать имя класса, тело класса и инструкция End Class. Это описано в следующем синтаксисе:
[ ] [ accessmodifier ] _ Class name [ Inherits classname ] [ statements ] End Class
Вот,
- AttributeList обозначает список атрибутов, которые должны применяться к классу.
- AccessModifier — это уровень доступа определенного класса. Это необязательный параметр, который может принимать значения, такие как Public, Protected, Protected Friend, Friend и Private.
- Inherits обозначает любой родительский класс, который он наследует.
Ниже приведен пример кода для создания класса в VB.NET.
Шаг 1) Создайте новое консольное приложение.
Шаг 2) Добавьте следующий код:
Imports System Module Module1 Class Figure Public length As Double Public breadth As Double End Class Sub Main() Dim Rectangle As Figure = New Figure() Dim area As Double = 0.0 Rectangle.length = 8.0 Rectangle.breadth = 7.0 area = Rectangle.length * Rectangle.breadth Console.WriteLine(«Area of Rectangle is : «, area) Console.ReadKey() End Sub End Module
Шаг 3) Запустите код, нажав кнопку «Пуск» на панели инструментов. Вы должны получить следующее окно: