Разработка приложения на языке программирования C++

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    264,8 Кб
  • Опубликовано:
    2014-03-02
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка приложения на языке программирования C++

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

"НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМ. Н.И. ЛОБАЧЕВСКОГО"

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ УПРАВЛЕНИЯ И ПРЕДПРИНИМАТЕЛЬСТВА

КУРСОВАЯ РАБОТА

по дисциплине: "Информационные технологии и платформы разработки информационных систем"

на тему: "Разработка приложения на языке программирования C++"

Выполнил: студент группы 123-1И

Петров Владислав Алексеевич

Проверил: Преподаватель

Майорова Ирина Владимировна



Н. Новгород, 2014 г.

Оглавление

 

Введение

Постановка задачи

Теоретическая часть

Практическая часть

Результат выполнения программы

Заключение

Список литературы

Введение

++ представляет собой объектно-ориентированный низкоуровневый язык программирования, отвечающий стандартам ANSI и Международной организации стандартов (International Standards Organization - ISO). Объектная ориентированность C++ означает, что он поддерживает стиль программирования, упрощающий кодирование крупномасштабных программ и обеспечивающий их расширяемость. Будучи низкоуровневым языком, C++ может генерировать весьма эффективные высокоскоростные программы. Сертификация ANSI и ISO обеспечила переносимость C++: написанные на нем программы совместимы с большинством современных сред программирования. Уже в самом названии содержится намек на то, что C++ является следующим поколением языка программирования C - результатом добавления новых веяний академической компьютерной мысли к старому доброму C. На C++ можно делать все то же, что и на C, и даже таким же образом. Но это нечто большее, чем просто C, наряженный в новые одежды. Дополнительные возможности C++ весьма значительны и требуют не только некоторых размышлений, но и привычки, однако результат того заслуживает.

Объектно-ориентированное программирование (ООП) - подход к программированию, при котором основными концепциями являются понятия объектов и классов.

Постановка задачи


1. Описать класс с именем COLLABORATE (сотрудник), содержащий следующие члены-данные открытого типа (можно закрытого типа - более сложный вариант):

·              фамилия сотрудника;

·              год рождения;

·              пол.

2. Описать класс с именем FIRM (фирма), содержащий следующие члены-данные закрытого типа:

·              количество сотрудников;

·              указатель на массив сотрудников.

3. Класс FIRM должен содержать следующие члены-функции:

·              конструктор без параметров;

·              конструктор с параметрами;

·              конструктор копирования;

·              деструктор, выводящий сообщение о своей работе;

·              функцию ввода данных в объект класса с клавиатуры (можно из файла);

·              функцию вывода данных из объекта класса на дисплей;

·              функцию добавления сотрудника в массив;

·              функцию удаления сотрудника из массива;

·              функцию подсчета количество женщин пенсионного возраста (возраст ≥ 55 лет);

·              функцию подсчета количество мужчин пенсионного возраста (возраст ≥ 60 лет);

·              функцию, формирующую массив сотрудников в зависимости от пола;

·              другие функции, если они необходимы.

4. Написать программу, демонстрирующую работу с этим классом.

Теоретическая часть

класс конструктор деструктор программирование

Формат класса

Для хранения разнотипной информации о физическом объекте нужна специальная структура. Эта структура называется классом.

class COLLABORATE

{:fio [15];dat;pol [15];

};

Объявление класса начинается с ключевого слова class, после которого идет имя класса и пара фигурных скобок. После открывающейся скобки находится ключевое слово public (public делает все находящиеся за ним члены класса открытыми; private (закрытый, внутренний член класса) - обращение к члену допускается только из методов того класса, в котором этот член определен). После ключевого слова идет описание полей класса.

Функции

void Get_FIRM () const; // Функцию вывода данных из объекта класса на дисплей;Set_FIRM (); // Функцию ввvода данных в объект класса с клавиатуры;

По историческим причинам функции-члены называются также методами.

Полное имя функции пишется как void FIRM:: Set_FIRM (). Имя класса в начале полного имени означает, что эта функция является членом класса NKI (:: - оператор разрешения видимости).

Синтаксис вызова функции-члена такой же, как и синтаксис обращения к переменной-члену класса.

a. Set_FIRM ();

Создание указателя на объект

Указатель - это переменная, которая содержит адрес другого объекта. Этим объектом может быть некоторая переменная, динамический объект или функция. Говорят, что указатель ссылается на соответствующий объект

COLLABORATE *pMas;

Между массивами и указателями существует тесная связь. Имя массива без индекса эквивалентно указателю на его первый элемент. К указателю можно прибавлять или отнимать от него целочисленные выражения, при этом значение указателя изменяются в соответствии с размером объектов, на которые он указывает.

Специальные элементы-функции класса

Специальными функциями класса называют функции, которые могут вызываться компилятором неявно. Это может происходить при создании и удалении представителей класса, при их копировании и преобразовании в другие типы. К таким функциям относятся:

·        Конструктор. Инициализирует представителей класса.

·        Конструктор копии. Инициализирует новый представитель, используя значения существующего объекта.

·        Операция присваивания. Присваивает содержимое одного представителя класса другому.

·        Деструктор. Производит очистку уничтожаемого объекта.

·        Оператор new. Выделяет память для динамически создаваемого объекта.

Конструктор

Конструктор имеет тоже имя, что и класс. Он вызывается компилятором всегда, когда создается новый представитель класса.

// Конструктор:: FIRM ()

{= 0;= NULL;

}

// Конструктор с параметром:: FIRM (int n)

{i;>n = n;= new COLLABORATE [n];(i = 0; i < n; i++)

{[i]. fio [0] = 0;[i]. dat = 0;[i]. pol [0] = 0;

}

}

Относительно конструкторов имеют место такие правила:

·        Для него не объявляется тип возвращаемого значения

·        Он не может возвращать значений оператором return

Конструктор копирования

Конструктор копии является конструктором специального вида, который принимает в качестве параметра ссылку или константную ссылку на объект данного класса. Он автоматически вызывается компилятором, когда вновь создаваемый объект инициализируется значениями существующего объекта.

// Конструктор копирования:: FIRM (const FIRM& b)

{= b. n;= new COLLABORATE [n];(int i = 0; i < n; i++)[i] = b. pMas [i];

}

Деструктор

Деструктор является противоположностью конструктора. Он вызывается при уничтожении объектов и должен производить необходимую очистку объекта перед освобождением занимаемой им памяти. Именем деструктора должно быть имя класса, которому предшествует тильда (~).

// Деструктор:: ~FIRM ()

{(pMas)[] pMas;<< "dectructor" << endl;

}

Операции класса new и delete

Класс может определить свои собственные операции new и delete (new [] и delete [] для массива объектов). New - оператор языка программирования C++, обеспечивающий выделение динамической памяти. Оператор delete возвращает память выделенный оператором new, чтобы избежать утечки памяти.

pMas = new COLLABORATE [n];[] pMas;

 

Практическая часть

 

Файл COLLABORATE. h

#ifndef COLLABORATE_H

#define COLLABORATE_H

#include <iostream>

#include <stdlib. h>

#include <conio. h>namespace std;COLLABORATE

{:fio [15];dat;pol [15];

};FIRM

{:n;*pMas;:(); // Конструктор(int n); // Конструктор с параметром(const FIRM& b); // Конструктор копирования

~FIRM (); // Деструкторoperator = (const FIRM & coll); // перегрузка оператора =Get_FIRM () const; // Функцию вывода данных из объекта класса на дисплей;Set_FIRM (); // Функцию ввvода данных в объект класса с клавиатуры (можно из файла);ADD_FIRM (); // функцию добавления сотрудника в массив;DEL_FIRM (); // функцию удаления сотрудника из массива;Get_FIRM_W (char *pol); // функцию подсчета количество женщин пенсионного возраста (возраст ≥ 55 лет);Get_FIRM_M (char *pol); // функцию подсчета количество мужчин пенсионного возраста (возраст ≥ 60 лет);Get_FIRM_POL (); // функцию, формирующую массив сотрудников в зависимости от пола;

};

#endif

Файл COLLABORATE. cpp

#include "COLLABORATE. h"

// Конструктор:: FIRM ()

{= 0;= NULL;

}

// Конструктор с параметром:: FIRM (int n)

{i;>n = n;= new COLLABORATE [n];(i = 0; i < n; i++)

{[i]. fio [0] = 0;[i]. dat = 0;[i]. pol [0] = 0;

}

}

// Конструктор копирования:: FIRM (const FIRM& b)

{= b. n;= new COLLABORATE [n];(int i = 0; i < n; i++)[i] = b. pMas [i];

}

// Деструктор:: ~FIRM ()

{(pMas)[] pMas;<< "dectructor" << endl;

}

// перегрузка оператора =FIRM:: operator = (const FIRM & coll)

{(pMas)[] pMas;= new COLLABORATE [n = coll. n];(int i = 0; i < n; i++)[i] = coll. pMas [i];*this;

}

// Вывод массива на экранFIRM:: Get_FIRM () const

{<< "Вывод массива с клавиатуры: " << endl;<< "---------------------------" << endl;(int i = 0; i < n; i++)

{<< pMas [i]. fio << " ";<< pMas [i]. dat <<" ";<< pMas [i]. pol << " " << endl;

}<< endl << endl << endl;

}

// Ввод массива с клавиатурыFIRM:: Set_FIRM ()

{<< "Ввод массива с клавиатуры: " << endl;<< "--------------------------" << endl;(int i = 0; i < n; i++)

{<< "Фамилия: "<< endl;>> pMas [i]. fio;<< "Год рождения: "<< endl;>> pMas [i]. dat;<< "Пол сотрудника: "<< endl;>> pMas [i]. pol;<< endl;

}

}

// функцию добавления сотрудника;FIRM:: ADD_FIRM ()

{<< "Добавление сотрудника: " << endl;<< "-----------------------" << endl;c (*this);(pMas)[] pMas;= n + 1;= new COLLABORATE [n];(int i = 0; i < n-1; i++)[i] = c. pMas [i];<< "Фамилия: ";>> pMas [n-1]. fio;<< "Год рождения: ";>> pMas [n-1]. dat;<< "Пол сотрудника: ";>> pMas [n-1]. pol;*this;

// Функцию удаления сотрудника;FIRM:: DEL_FIRM ()

{i,p = - 1;kon [10];<< "Удаление сотрудника" << endl;>> kon;(i = 0; i < n; i++)

{(strcmp (pMas [i]. fio,kon) == 0)=i;

}(p == - 1)*this;

{q (*this);(pMas)[] pMas;= n - 1;= new COLLABORATE [n];(i = 0; i < p; i++)[i] = q. pMas [i];(i = p; i < n; i++)[i] = q. pMas [i+1];*this;

}

}FIRM:: Get_FIRM_POL ()

{pol [15];<< "Vvedite pol sotrudnika: \n";>> pol;i, k, n1=0;(i =0; i < n; i++)(strcmp (pMas [i]. pol,pol) ==0) n1++;c (n1);=0;(i =0; i < n; i++)(strcmp (pMas [i]. pol,pol) ==0). pMas [k++] =pMas [i];c;

}

// функцию подсчета количество женщин пенсионного возраста (возраст ≥ 55 лет);FIRM:: Get_FIRM_W (char *pol)

{i;kol=0;(i =0; i < n; i++)

{(strcmp (pMas [i]. pol,pol) ==0)(2014-pMas [i]. dat>=55)++;

}kol;

}

// функцию подсчета количество мужчин пенсионного возраста (возраст ≥ 60 лет);FIRM:: Get_FIRM_M (char *pol)

{i;kol=0;(i =0; i < n; i++)

{(strcmp (pMas [i]. pol,pol) ==0)(2014-pMas [i]. dat>=60)++;

}kol;

}

Файл Main. cpp

#include "COLLABORATE. h"main () {(LC_ALL,"RUS");a (5);. Set_FIRM ();. Get_FIRM ();. ADD_FIRM ();. Get_FIRM ();. DEL_FIRM ();. Get_FIRM ();b = a. Get_FIRM_POL ();. Get_FIRM ();. Get_FIRM ();<<"Колличество женщин пенсионного возраста: "<<a. Get_FIRM_W ("W") <<endl;<<"Колличество мужчин пенсионного возраста: "<<a. Get_FIRM_M ("M") <<endl;

_getch ();0;

}

Результат выполнения программы




Заключение


Класс представляет собой главное инструментальное средство C++ для объектно-ориентированного программирования.

Объектно-ориентированное программирование (ООП) - это способ организации кода в программе путем его группировки в виде объектов, то есть отдельных элементов, которые включают информацию (значения данных) и функции. Объектно-ориентированный подход к организации программы позволяет группировать определенные фрагменты информации вместе с часто используемыми функциями или действиями, связанными с этой информацией.

В ходе выполнения курсовой работы мной были закреплены знания по созданию, разработке и оформлению классов в C++.

Список литературы


1.      Язык программирования C++. Базовый курс, 5-е издание, Стенли Б. Липпман

2.      С++ Программирование на языке высокого уровня. Учебник для вузов. Павловская Т.А.

Похожие работы на - Разработка приложения на языке программирования C++

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!