Разработка программы, использующей классы для создания очереди записи информации

Разработка программ с использованием методики объектно-ориентированного программирования. Использование классов для создания очереди записи информации. Особенности добавления элементов и просмотра матриц. Тестирование программы, проверка интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 09.04.2017
Размер файла 71,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

Министерство образования республики Беларусь

Учреждение образования

Белорусский государственный университет информатики и радиоэлектроники

Факультет компьютерных сетей и систем

Кафедра вычислительных методов и программирования

Дисциплина: Конструирование программ, языки программирования

Разработка программы, использующей классы для создания очереди записи информации

Студент: гр.450531 Давидовский Е.А.

Руководитель: Одинец. Д.Н.

Минск 2016

Введение

Задание на курсовую работу

Используя классы, создать очередь, записи которой содержат размеры матрицы и указатель на саму матрицу (максимальный размер матрицы 20х20). Элементами матрицы являются строки знаков. Реализовать функцию, в которой из всех строк, хранящихся в очереди, выбрать 5 самых коротких. Исходную очередь (по матрицам) и полученные пять строк вывести на экран.

Одна из важнейших задач программирования - разработка алгоритма. Имеется два основных подхода к разработке программ. Первый из них называется процедурным программирование. Для создания программ на его основе необходимо следующее:

- Определить задачу, которую нужно решить.

- Продумать интерфейс программы с пользователем.

- Разбить программу на логические законченные этапы.

- Создать текст программы.

- Отладить программу.

- Тестировать программу.

Второй подход называется объектно-ориентированным программированием (ООП). Для разработки программ с использованием методики объектно-ориентированного программирования необходимо:

- Определить задачу.

- Определить уникальные объекты.

- Определить взаимосвязь между объектами.

- Создать классы объектов, определяя переменные, представляющие всевозможные состояние, в которых может находиться объект.

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

- Объявить объекты данных классов.

- Определить начальное состояние системы.

- Скомпилировать, скомпоновать систему.

Курсовая работа ориентирована на изучение особенностей языка С++, поддерживающих объектно-ориентированное программирование подход в программировании.

1. Код программы

#include <iostream>

#include <windows.h>

#include <string>

using namespace std;

class Queue{

public:

struct Elem_queue{

int A;

int B;

string **matrix;

Elem_queue *next;

};

Elem_queue *begin;

Elem_queue *end;

Elem_queue *temp;

Queue(){

begin = end = temp = NULL;

}

void Add_elem(){

temp = new Elem_queue;

cout << "Введите размерность матрицы: " << endl;

cin >> temp->A;

cin >> temp->B;

temp->matrix = new string *[temp->A];

for (int i = 0; i < temp->A; i++){

temp->matrix[i] = new string[temp->B];

}

system("cls");

cout << "Заполнение матрицы строками: " << endl;

for (int i = 0; i < temp->A; i++){

for (int j = 0; j < temp->B; j++){

cin >> temp->matrix[i][j];

}

}

temp->next = NULL;

if (begin == NULL){

begin = end = temp;

}

else{

end->next = temp;

end = temp;

}

}

void Show_queue(){

temp = begin;

int count = 1;

while (temp != NULL){

cout << "Матрица " << count << ':' << endl;

for (int i = 0; i < temp->A; i++){

for (int j = 0; j < temp->B; j++){

cout << temp->matrix[i][j] << '\t';

}

cout << endl;

}

count++;

temp = temp->next;

cout << endl;

}

}

void Result(){

string mass[200];

int count = 0;

temp = begin;

while (temp != NULL){

for (int i = 0; i < temp->A; i++){

for (int j = 0; j < temp->B; j++){

mass[count] = temp->matrix[i][j];

count++;

}

}

temp = temp->next;

}

for (int i = 0; i < count - 1; i++){

for (int j = i + 1; j < count; j++){

if (mass[i].length() > mass[j].length()){

string buff = mass[i];

mass[i] = mass[j];

mass[j] = buff;

}

}

}

cout << "5 самых коротких строк в очереди: " << endl;

for (int i = 0; i < 5; i++)

cout << mass[i] << endl;

}

~Queue(){

}

};

void main(){

setlocale(LC_ALL, "");

Queue asd;

int choise;

while (true){

cout << "1. Добавить элемент " << endl;

cout << "2. Показать очередь " << endl;

cout << "3. Вывести 5 самых коротких строк " << endl;

cin >> choise;

system("cls");

switch (choise){

case 1: asd.Add_elem(); break;

case 2: asd.Show_queue(); break;

case 3: asd.Result(); break;

}

}

}

2. Результат работы программы

1. Ввод данных.

2. Вывод исходной очереди.

Заключение (оценка работы и возможностей программы)

Используя классы была создана очередь. В классе реализованы методы для добавления элементов, просмотра матриц.

программирование очередь матрица интерфейс

Литература

1. Ж. А. Черняк «Электронный учебно-методический комплекс по высшей математике».

2. Калиткин Н.Н. «Численные методы». 1978.

3. Самарский А.А., Гулин А.В. «Численные методы». 1989.

4. Колосов С.В. «Программирование в среде Delphi: Учеб. пособие» 2005.

5. Письменный Д.Т. «Конспект лекций по высшей математике: полный курс». 2009.

Размещено на Аllbеst.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.