Разработка программного обеспечения для создания и обработки сведений справочника абитуриента

Учёт и обработка запросов пользователей справочника по поиску нужного вуза и конкурсу для каждого факультета. Обеспечение сортировки информации по заданному критерию. Создание и тестирование программы для абитуриента в среде разработки Visual Studio 2019.

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

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

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

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

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования «Алтайский государственный технический университет им. И.И. Ползунова»

Факультет информационных технологий

Кафедра ИВТиИБ

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

Разработка программного обеспечения для создания и обработки сведений справочника абитуриента

по дисциплине «Программирование приложений»

Направление: 09.03.01 Информатика и вычислительная техника

Профиль: Программно-техническое обеспечение автоматизированных систем.

Студент Е.Д. Солдатов

Преподаватель Л.Ю. Качесова

Барнаул 2020

Содержание

Введение

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

2. Реализация задачи на языке С++

2.1 Описание программы

2.2 Тестирование программы

3. Реализация задачи на языке Java

3.1 Описание программы

3.2 Тестирование программы

4. Реализация задачи на языке С#

4.1 Описание программы

4.2 Тестирование программы

Заключение

Список использованных источников

Приложения

Введение

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

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

Цель курсовой работы создать программное обеспечение обработки сведений справочника абитуриента, которое должно отвечать всем требованиям пользователя, то есть быть предельно простым и понятным, предугадывать все возможные ошибки пользователя, а также не перегружать человека бессмысленной для него информацией.

Для достижения цели программное обеспечение должно:

- учитывать основные запросы пользователя, то есть доступ до самых важных функций должен быть «на поверхности»;

- экономить время, а точнее сортировать информацию, располагая данные понятно для пользователя;

- иметь простой интерфейс понятный для пользователя;

- не нести лишнюю информацию, не нужную пользователю, тем самым отвлекая его от работы с необходимыми данными;

- знать о возможных человеческих ошибках, тем самым не только оставаться в рабочем состоянии, но и указать пользователю, где он ошибся;

- осуществлять поиск по нужному критерию, для облегчения нахождения нужной информации пользователя;

- иметь возможность сохранять информацию, а также изменять или удалять неактуальную информацию.

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

Основной задачей курсовой работы является создание программного обеспечения для обработки данных

Программное обеспечение должно выполнять следующее:

1. Создать файл с заданной структурой записи.

· наименование ВУЗА;

· адрес; количество факультетов (<=7);

· наименование факультета;

· конкурс прошлого года каждого факультета;

2. Выдать на экран содержимое файла.

3. Выдать на экран наименование ВУЗА, каждый факультет которого имеет конкурс не более заданного.

4. Сформировать файл: наименование ВУЗА; адрес;

5. Вновь сформированный файл распечатать.

6. Добавить запись в исходный файл.

7. Удалить запись с указанным наименованием ВУЗА.

8. Корректировка файла: для указанною ВУЗА изменить количество факультетов.

справочник абитуриент программа поиск сортировка

2. Реализация задачи на языке С++

2.1 Описание программы

Для создания программы использовалась среда разработки Visual Studio 2019 Исходный код программы находится в приложение А. Рисунок 1 демонстрирует состав проекта программы. Программа состоит из одного файла: kurs_rab.cpp.

Рисунок 1 - Состав проекта программы

Файл kurs_rab.cpp содержит класс abiturient, который в свою очередь содержит 12 методов. Также в файле содержится функция numberFormatCheck.

numberFormatCheck данная рекурсивная функция обрабатывает возможные исключения при вводе int. В функции вводится строка, которая посимвольно проверяется по таблице ascii.

В случае если вся строка состоит из цифр (значения 48 - 58) if (temp.at(i) < 48 || temp.at(i) > 58) то строка преобразуется в число с помощью atoi. Если строка содержит что-то кроме цифр функция начинается заново return numberFormatCheck();

Класс abiturient содержит в себе 5 полей:

string name - Название

string adres - Адрес

int qty - Количество факультетов

vector <string> f_name - наименование факультетов

vector <int> ball - балл факультета

Метод diskOut отвечает за запись данных в файл.

Метод diskIn() отвечает за печать файла на экран. Все данные построчно считываются из файла в переменную buffer, затем выводятся на экран. Переменная buffer перезаписывается. В методе присутствует строчка, которая отвечает за игнорирование знака перехода на новую строку (\n). fin.ignore();

Метод EnterInFile() отвечает за ввод данных объекта класса из файла.

Для записи в vector используются временные переменные buffer и buffer1. В данном методе класса используется метод .push_back() класса vector добавляет новый элемент в конец вектора.

Метод enter() позволяет заполнить класс с клавиатуры. Также используется временные переменные buffer и buffer1.

Метод output() отвечает за вывод данных класса в консоль.

Метод ball_sort(int B) принимает переменную B которая является баллом введенным пользователем. Метод сравнивает баллы факультетов каждого ВУЗа и в случае если баллы всех факультетов ВУЗа меньше заданного числа, то логическая переменная с остается истинной. ВУЗ выводится в консоль.

В случае если хотя бы один из баллов факультета, больше заданного цикл, прерывается return; и начинается проверка следующего вуза. Если класс не содержит ВУЗов, подходящих по заданному параметру, выводится соответствующая информация.

Метод File_Name_Adres() записывает в файл только наименование вуза и его адрес.

Метод diskIn_adres() выводит в консоль данные файла, содержащего адрес и наименование вуза. Данные из файла построчно считываются в переменную buffer после чего переменная выводится в консоль.

Метод delete_v(string buff_name) получает строку содержащую название ВУЗа buff_name и сравнивает его со всеми имеющимися в классе. В случае если находится ВУЗ название которого соответствует названию, переданному в метод, метод возвращает 1. Если при сравнении наименований нет совпадений возвращается 2.

Метод edit_f(int buff1) отвечает за изменения количество факультетов в меньшую строну. В метод передается значение buff1 в соответствии с которого изменяется размер вектора с помощью метода класса vector .resize(). Полю класса qty присваивается новое количество факультетов.

Метод qty_in_this_moment() возвращает текущее количество факультетов для ВУЗа.

Метод add_f(int NEW, int OLD) отвечает за добавление новых данных, в случае если количество добавляемых факультетов больше текущего. Метод получает новое и старое кол-во факультетов NEW, OLD . Присваивается новое количество факультетов qty.

Далее в цикле вводятся новые данные Название факультета и его проходной балл. Сначала данные считываются в переменные buffer и buffer1. После чего добавляются в вектор.

Функция int main(): Все переменные int вводятся с помощью функции numberFormatCheck().

abiturient* W = new abiturient[k]; Выделение памяти для объектов класса abiturient.

Далее начинается цикл, где пользователю предоставляется вариант ввода данных. 1.Ввод данных из файла или 2.Ввод с клавиатуры. Цикл выполняется пока логическая переменная check равна true. В цикле открывается файл для чтения ifstream.

В случае если не удается открыть файл создается исключение if (!fin) throw ": Файл не найден!"; При обработке исключения логическая переменная check меняет значение на false. Цикл возвращается на выбор метода ввода.

Далее осуществляется запись данных класса в файл открытый методом для записи по указанному пути ofstream fout("D:\\Output.txt");. Производится запись всех объектов класса с помощью метода diskOut() и цикла. Где переменная к является количеством вузов.

for (int i = 0; i < k; i++) //записываются данные каждого вуза

W[i].diskOut(fout);

Далее выводится главное меню, к котором нужно выбрать одно из 7 действий.

При выборе 1: программа просит ввести балл для работы и передает его в метод ball_sort()

При выборе 2: программа создает и записывает файл, содержащий наименование вуз и его адрес методом File_Name_Adres(). После чего считывает данный файл с помощью метода diskIn_adres()

При выборе 3: вводится количество ВУЗов, которые пользователь желает добавить.

Создается массив с новым количеством объектов, в который записываются все текущие ВУЗы, в следующем цикле добавляются новые вузы с помощью метода enter. Функцией delete[] освобождается память выделенная под массив.

Указателю W присваивается указатель на расширенный массив W1. Изменяется количество вузов k.

При выборе 4: Производится запись файла по пути D:\\Output.txt с помощью метода ofstream() и метода diskOut().

При выборе 5: Данные всех вузов выводятся на экран с помощью метода output.

При выборе 6: Пользователем вводится наименование вуза, который нужно удалить. Осуществляется поиск нужного вуза с помощью метода delete_v(). В случае если метод найдет вуз, возвращается единица, вузы далее не проверяются. Если после проверки последнего вуза на наличие переменная осталась равная 2 выводится информация о том, что ВУЗ не найден.

При нахождении нужного вуза в переменную buff1 записывается порядковый номер вуза в массиве. На экран выводится удаляемый вуз.

Создается новый массив W2 на один элемент меньше текущего, в него записываются все ВУЗы кроме выбранного пользователем.

Функцией delete[] освобождается память выделенная под массив. Указателю W присваивается указатель на уменьшенный массив W2. Изменяется количество вузов k.

При выборе 7: Пользователь вводит наименование вуза, в котором нужно изменить количество факультетов. Осуществляется поиск нужного вуза с помощью метода delete_v().

В случае если метод найдет вуз возвращается единица, вузы далее не проверяются. Если после проверки последнего вуза на наличие переменная осталась равная 2 выводится и информация о том, что ВУЗ не найден, логической переменной check1 присваивается значение false. Если переменная check1 равна true, это обозначает, что вуз найден.

Пользователь вводит новое количество факультетов для ВУЗа, с помощью метода qty_in_this_moment() получает текущее количество факультетов в вузе.

Если введенное количество факультетов меньше текущего, используется метод edit_f (). Если введенное количество факультетов больше текущего, используется метод add_f(). Производится запись файла по пути D:\\Output.txt с помощью метода ofstream() и метода diskOut().

При выборе 10: Цикл вывода меню завершается.

Цикл выполняется пока логическая переменная check = false. В начале цикла переменная check = true. Если в процессе выполнения программы возникают исключения они передаются в catch, который в свою очередь выводит текст ошибки и изменяет значение check = false.

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

2.2 Тестирование программы

Для тестирования программы использовалась среда разработки Visual Studio 2019

Тест №1 (рисунок 2) демонстрирует Выбор метода заполнения класса, ввод данных из файла, запись данных в файл, вывод файла на экран.

Рисунок 2 - Ввод данных из файла, запись данных в файл, вывод файла на экран.

Тест №2 (рисунок 3) Демонстрирует заполнение класса с клавиатуры, создание класса с данными

Рисунок 3 - Заполнение класса с клавиатуры, создание класса с данными.

Тест №3 (рисунок 4) Демонстрирует Выполнение пункта 1. Выдать наименование ВУЗА, конкурс которого не выше заданного

Рисунок 3 - ВУЗы, конкурс которых не выше заданного

Тест №4 (рисунок 5) Демонстрирует обработку исключений, продолжение работы программы после исключения.

Рисунок 5 - Обработка исключения ошибки файла

Тест №5 (рисунок 6) Демонстрирует выполнение пункта 2. Сформировать файл c наименованием ВУЗА и адресом и вывести его на экран.

Рисунок 6 - Запись в файл наименования и адреса и вывод экран

Тест №6 (рисунок 7) Демонстрирует обработку исключения ввода текста вместо цифр

Рисунок 7 - Обработка исключения

Тест №7 (рисунок 8) Демонстрирует выполнения пункта 3. Добавить вуз

Рисунок 8 - Добавление вуза

Тест №8 (рисунок 9) Демонстрирует выполненные пункта 4. Запись данных в файл

Рисунок 9 - Создание файла с структурой

Тест №9 (рисунок 10) Демонстрирует выполненные пункта 6. Удалить запись с указанным наименованием вуза

Рисунок 10 - Удаление ВУЗа

Тест №10 (рисунок 11) Демонстрирует выполнение пункта 7. Изменение количества факультетов для ВУЗа

Рисунок 11 - Изменение количества факультетов

3. Реализация задачи на языке JAVA

3.1 Описание программы

Для создания программы использовалась среда разработки IntelliJ IDEA Community Edition 2020.1.1 x64

Исходный код программы находится в приложение Б.

Рисунок 12 демонстрирует состав проекта программы. Программа состоит из одного файла: Kurs_JAVA.iml.

Рисунок 12 - Состав проекта

Файл Kurs_JAVA.iml содержит класс abiturient, который в свою очередь содержит 12 методов. Также в файле содержится функция numberFormatCheck.

Данная функция обрабатывает возможные исключения при вводе int. Функция выполняется пока логическая переменная check = false. В функции вводится значение, если при его обработке возникает ошибка срабатывает блок catch.

Данный блок изменяет значение check=false и выводит текст ошибки.

Класс abiturient содержит в себе 5 полей:

string name - Название

string adres - Адрес

int qty - Количество факультетов

vector <string> f_name - наименование факультетов

vector < Integer > ball - балл факультета

Метод diskOut() отвечает за запись данных в файл. Метод класса vector .elementAt() возвращает элементы вектора под заданным номером.

Метод diskIn() отвечает за печать файла на экран. Все данные построчно считываются из файла в переменную buffer, затем выводятся на экран. Переменная buffer перезаписывается.

Метод EnterInFile() отвечает за ввод данных объекта класса из файла.

Для записи в vector используются временные переменные buffer и buffer1.

В данном методе класса используется метод .push_back() класса vector добавляет новый элемент в конец вектора.

Метод enter() позволяет заполнить класс с клавиатуры. Также используется временные переменные buffer и buffer1. Данные в вектор добавляются с помощью метода класса vector .add().

Метод output() отвечает за вывод данных класса в консоль. Данные вектора программа получается помощью метода .elementAt()

Метод ball_sort(int B) принимает переменную B которая является баллом введенным пользователем.

Метод сравнивает баллы факультетов каждого ВУЗа и в случае если баллы всех факультетов ВУЗа меньше заданного числа, то логическая переменная с остается истинной. ВУЗ выводится в консоль.

В случае если хотя бы один из баллов факультета, больше заданного цикл, прерывается return; и начинается проверка следующего вуза. Если класс не содержит ВУЗов, подходящих по заданному параметру, выводится соответствующая информация.

Метод File_Name_Adres() записывает в файл только наименование вуза и его адрес.

Метод diskIn_adres() выводит в консоль данные файла, содержащего адрес и наименование вуза. Данные из файла построчно считываются в переменную buffer после чего переменная выводится в консоль.

Метод delete_v(string buff_name) получает строку содержащую название ВУЗа buff_name и сравнивает его со всеми имеющимися в классе.

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

В случае если находится ВУЗ название которого соответствует названию, переданному в метод, метод возвращает 1. Если при сравнении наименований нет совпадений возвращается 2.

Метод edit_f(int buff1) отвечает за изменения количество факультетов в меньшую строну.

В метод передается значение buff1 в соответствии с которого изменяется размер вектора с помощью метода класса vector.setSize(). Полю класса qty присваивается новое количество факультетов.

Метод qty_in_this_moment() возвращает текущее количество факультетов для ВУЗа.

Метод add_f(int NEW, int OLD) отвечает за добавление новых данных, в случае если количество добавляемых факультетов больше текущего.

Метод получает новое и старое кол-во факультетов NEW, OLD . Присваивается новое количество факультетов qty.

Далее в цикле вводятся новые данные Название факультета и его проходной балл.

Сначала данные считываются в переменные buffer и buffer1. После чего добавляются в вектор.

Функция main(): Все переменные int вводятся с помощью функции numberFormatCheck().

abiturient[] W = new abiturient[k]; Выделение памяти для объектов класса abiturient.

Далее начинается цикл, где пользователю предоставляется вариант ввода данных.

1.Ввод данных из файла или

2. Ввод с клавиатуры.

Далее осуществляется запись данных класса в файл открытый методом для записи по указанному пути ("D:\\Output.txt");.

Производится запись всех объектов класса с помощью метода diskOut() и цикла.

Где переменная k является количеством вузов.

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

W[i].diskOut(fout);

Далее выводится главное меню, к котором нужно выбрать одно из 7 действий.

При выборе 1: программа просит ввести балл для работы и передает его в метод ball_sort()

При выборе 2: программа создает и записывает файл, содержащий наименование вуз и его адрес методом File_Name_Adres(). После чего считывает данный файл с помощью метода diskIn_adres()

При выборе 3: вводится количество ВУЗов, которые пользователь желает добавить.

Создается массив с новым количеством объектов, в который записываются все текущие ВУЗы, в следующем цикле добавляются новые вузы с помощью метода enter.

Старый массив пересоздается с новым размером. С помощью метода .arraycopy() копирую временный массив W1 в W. Изменяется количество вузов k.

При выборе 4: Производится запись файла по пути D:\\Output.txt с помощью метода diskOut().

При выборе 5: Данные всех вузов выводятся на экран с помощью метода output.

При выборе 6: Пользователем вводится наименование вуза, который нужно удалить. Осуществляется поиск нужного вуза с помощью метода delete_v(). В случае если метод найдет вуз возвращается единица, вузы далее не проверяются.

Если после проверки последнего вуза на наличие переменная осталась равная 2 выводится информация о том, что ВУЗ не найден. При нахождении нужного вуза в переменную buff1 записывается порядковый номер вуза в массиве.

На экран выводится удаляемый вуз. Создается новый массив W2 на один элемент меньше текущего, в него записываются все ВУЗы кроме выбранного пользователем.

Старый массив пересоздается с новым размером. С помощью метода .arraycopy() копирую временный массив W2 в W. Изменяется количество вузов k.

При выборе 7: Пользователь вводит наименование вуза, в котором нужно изменить количество факультетов. Осуществляется поиск нужного вуза с помощью метода delete_v().

В случае если метод найдет вуз, возвращается единица, вузы далее не проверяются.

Если после проверки последнего вуза на наличие, переменная осталась равная 2 выводится информация о том, что ВУЗ не найден.

Логической переменной check1 присваивается значение false. Если переменная check1 равна true, это обозначает, что вуз найден.

Пользователь вводит новое количество факультетов для ВУЗа, с помощью метода qty_in_this_moment() получает текущее количество факультетов в вузе.

Если введенное количество факультетов меньше текущего используется метод edit_f (). Если введенное количество факультетов больше текущего используется метод add_f().

Производится запись файла по пути D:\\Output.txt с помощью метода метода diskOut().

При выборе 10: Цикл вывода меню завершается.

Цикл выполняется пока логическая переменная check = false. В начале цикла переменная check = true.

Если в процессе выполнения программы возникают исключения они передаются в catch, который в свою очередь выводит текст ошибки и изменяет значение check = false.

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

3.2 Тестирование программы

Тест №1 (рисунок 13) Демонстрирует выбор метода заполнения класса, ввод данных из файла, запись данных в файл, вывод файла на экран.

Рисунок 13 - Заполнение класса, ввод из файла, вывод в файл

Тест №2 (рисунок 14) Демонстрирует заполнение класса с клавиатуры, создание класса с данными

Рисунок 14 - Заполнение класса с клавиатуры, создание класса с данными.

Тест №3 (рисунок 15) Демонстрирует работу пункта 1. Выдать наименование ВУЗА, конкурс которого не выше заданного

Рисунок 15 - Наименование ВУЗА, конкурс которого не выше заданного

Тест №4 (рисунок 16) Демонстрирует работу пункта 2. Сформировать файл c наименованием ВУЗА и адресом и вывести его на экран

Рисунок 16 - Формирование файла с наименованием и адресом

Тест №5 (рисунок 17,18) Демонстрирует работу пункта 3. Добавить вуз

Рисунок 17 - Ввод данных нового вуза

Рисунок 18 - Добавленный вуз

Тест №6 (рисунок 19,20) Демонстрирует работу пункта 6. Удалить запись с указанным наименованием вуза

Рисунок 19 - Удаление вуза

Рисунок 20 - Список вузов после удаления

Тест №7 (рисунок 21,22,23) Демонстрирует работу пункта 7. Изменение количества факультетов для ВУЗа

Рисунок 21 - Исходные значения

Рисунок 22 - Изменение количества факультетов

Рисунок 23 - Файл после изменения количества факультетов

Тест №8 (рисунок 24) Демонстрирует обработку исключений при вводе строки вместо числа

Рисунок 24 - Обработка исключений

Тест №9 (рисунок 25) Демонстрирует обработку исключений при вводе некорректных данных в главном меню

Рисунок 25 - Обработка исключений

Тест №10 (рисунок 26) Демонстрирует обработку исключений при чтении данных из файла

Рисунок 25 - Обработка исключений

4. Реализация задачи на языке C#

4.1 Описание программы

Для создания программы использовалась среда разработки Visual Studio 2019 Исходный код программы находится в приложение В. Рисунок 26 демонстрирует состав проекта программы. Программа состоит из одного файла: Kurs_JAVA.iml.

Рисунок 26 - Состав проекта

Файл sharp.sln содержит класс abiturient, который в свою очередь содержит 12 методов. Также в файле содержится функция numberFormatCheck.

numberFormatCheck данная функция обрабатывает возможные исключения при вводе int. Функция выполняется пока логическая переменная check = false. В функции вводится значение, если при его обработке возникает ошибка срабатывает блок catch. Данный блок изменяет значение check=false и выводит текст ошибки.

Класс abiturient содержит в себе 5 полей:

string name - Название

string adres - Адрес

int qty - Количество факультетов

List<string> f_name- наименование факультетов

List<int> ball- балл факультета

Метод diskOut() отвечает за запись данных в файл. Метод класса vector .elementAt() возвращает элементы вектора под заданным номером.

Метод diskIn() отвечает за печать файла на экран. Все данные построчно считываются из файла в переменную buffer, затем выводятся на экран. Переменная buffer перезаписывается.

Метод EnterInFile() отвечает за ввод данных объекта класса из файла.

Для записи в list используются временные переменные buffer и buffer1. В данном методе класса используется метод .Add() класса list добавляет новый элемент в конец списка.

Метод enter() позволяет заполнить класс с клавиатуры. Также используется временные переменные buffer и buffer1. Данные в вектор добавляются с помощью метода класса list .Add().

Метод output() отвечает за вывод данных класса в консоль.

Метод ball_sort(int B) принимает переменную B которая является баллом введенным пользователем.

Метод сравнивает баллы факультетов каждого ВУЗа и в случае если баллы всех факультетов ВУЗа меньше заданного числа, то логическая переменная с остается истинной. ВУЗ выводится в консоль.

В случае если хотя бы один из баллов факультета, больше заданного цикл, прерывается return; и начинается проверка следующего вуза. Если класс не содержит ВУЗов, подходящих по заданному параметру, выводится соответствующая информация.

Метод File_Name_Adres() записывает в файл только наименование вуза и его адрес.

Метод diskIn_adres() выводит в консоль данные файла, содержащего адрес и наименование вуза. Данные из файла построчно считываются в переменную buffer после чего переменная выводится в консоль.

Метод delete_v (string buff_name) получает строку содержащую название ВУЗа buff_name и сравнивает его со всеми имеющимися в классе. Сравнение двух строк осуществляется с помощью метода .String.Equals. В случае если находится ВУЗ название которого соответствует названию, переданному в метод, метод возвращает 1. Если при сравнении наименований нет совпадений возвращается 2.

Метод edit_f(int buff1) отвечает за изменения количество факультетов в меньшую строну. В метод передается значение buff1 в соответствии с которым изменяется размер вектора.

В цикле используется метод RemoveAt(), который позволяет удалять элемент списка под заданным номером. Полю класса qty присваивается новое количество факультетов.

Метод qty_in_this_moment() возвращает текущее количество факультетов для ВУЗа.

Метод add_f(int NEW, int OLD) отвечает за добавление новых данных, в случае если количество добавляемых факультетов больше текущего. Метод получает новое и старое кол-во факультетов NEW, OLD .

Присваивается новое количество факультетов qty. Далее в цикле вводятся новые данные Название факультета и его проходной балл. Сначала данные считываются в переменные buffer и buffer1. После чего добавляются в вектор.

Функция int main(): Все переменные int вводятся с помощью функции numberFormatCheck().

abiturient[] W = new abiturient[k]; Выделение памяти для объектов класса abiturient.

Далее начинается цикл, где пользователю предоставляется вариант ввода данных. 1.Ввод данных из файла, где ввод осуществляется с помощью метода .EnterInFile() или 2. Ввод с клавиатуры где ввод осуществляется с помощью метода enter(). При ошибке заполнения фала программа вновь выводит варианты заполнения данных.

Далее осуществляется запись данных класса в файл открытый методом для записи по указанному пути ("D:\\Output.txt");. Производится запись всех объектов класса с помощью метода diskOut() и цикла. Где переменная k является количеством вузов.

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

W[i].diskOut(fout);

Далее выводится главное меню, к котором нужно выбрать одно из 7 действий.

При выборе 1: программа просит ввести балл для работы и передает его в метод ball_sort()

При выборе 2: программа создает и записывает файл, содержащий наименование вуз и его адрес методом File_Name_Adres(). После чего считывает данный файл с помощью метода diskIn_adres()

При выборе 3: вводится количество ВУЗов, которые пользователь желает добавить.

Создается массив с новым количеством объектов, в который записываются все текущие ВУЗы, в следующем цикле добавляются новые вузы с помощью метода enter.

Для старого массива изменяется размер с помощью метода System.Array.Resize(). Далее массив перезаписывается. Изменяется количество вузов k.

При выборе 4: Производится запись файла по пути D:\\Output.txt с помощью метода diskOut().

При выборе 5: Данные всех вузов выводятся на экран с помощью метода output.

При выборе 6: Пользователем вводится наименование вуза, который нужно удалить. Осуществляется поиск нужного вуза с помощью метода delete_v().

В случае если метод найдет вуз возвращается единица, вузы далее не проверяются. Если после проверки последнего вуза на наличие переменная осталась равная 2 выводится информация о том, что ВУЗ не найден. При нахождении нужного вуза в переменную buff1 записывается порядковый номер вуза в массиве.

На экран выводится удаляемый вуз. Создается новый массив W2 на один элемент меньше текущего, в него записываются все ВУЗы кроме выбранного пользователем. Для старого массива изменяется размер с помощью метода System.Array.Resize(). Далее массив перезаписывается. Изменяется количество вузов k.

При выборе 7: Пользователь вводит наименование вуза, в котором нужно изменить количество факультетов. Осуществляется поиск нужного вуза с помощью метода delete_v().

В случае если метод найдет вуз, возвращается единица, вузы далее не проверяются. Если после проверки последнего вуза на наличие, переменная осталась равная 2 выводится информация о том, что ВУЗ не найден.

Логической переменной check1 присваивается значение false. Если переменная check1 равна true, это обозначает, что вуз найден. Пользователь вводит новое количество факультетов для ВУЗа, с помощью метода qty_in_this_moment() получает текущее количество факультетов в вузе. Если введенное количество факультетов меньше текущего используется метод edit_f ().

Если введенное количество факультетов больше текущего используется метод add_f(). Производится запись файла по пути D:\\Output.txt с помощью метода метода diskOut().

При выборе 10: Цикл вывода меню завершается.

Цикл выполняется пока логическая переменная check = false. В начале цикла переменная check = true.

Если в процессе выполнения программы возникают исключения они передаются в catch, который в свою очередь выводит текст ошибки и изменяет значение check = false.

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

4.2 Тестирование программы

Тест №1 (рисунок 27) Демонстрирует выбор метода заполнения класса, ввод данных из файла, запись данных в файл, вывод файла на экран.

Рисунок 27 - Заполнение класса, ввод из файла, вывод в файл

Тест №2 (рисунок 28) Демонстрирует заполнение класса с клавиатуры, создание класса с данными

Рисунок 28 - Заполнение класса с клавиатуры, создание класса с данными.

Тест №3 (рисунок 29) Демонстрирует работу пункта 1. Выдать наименование ВУЗА, конкурс которого не выше заданного

Рисунок 29 - Наименование ВУЗА, конкурс которого не выше заданного

Тест №4 (рисунок 30) Демонстрирует работу пункта 2. Сформировать файл c наименованием ВУЗА и адресом и вывести его на экран

Рисунок 30 - Формирование файла с наименованием и адресом

Тест №5 (рисунок 31,32) Демонстрирует работу пункта 3. Добавить вуз

Рисунок 31 - Ввод данных нового вуза

Рисунок 32 - Добавленный вуз

Тест №6 (рисунок 33,34) Демонстрирует работу пункта 6. Удалить запись с указанным наименованием вуза

Рисунок 33 - Удаление вуза

Рисунок 34 - Список вузов после удаления

Тест №7 (рисунок 35) Демонстрирует работу пункта 7. Изменение количества факультетов для ВУЗа

Рисунок 35 - Файл после изменения количества факультетов

Тест №8 (рисунок 36) Демонстрирует обработку исключений при вводе строки вместо числа

Рисунок 36 - Обработка исключений

Тест №9 (рисунок 37) Демонстрирует обработку исключений при вводе некорректных данных в главном меню

Рисунок 37 - Обработка исключений

Тест №10 (рисунок 38) Демонстрирует обработку исключений при чтении данных из файла

Рисунок 38 - Обработка исключений

Заключение

В процессе выполнения работы была разработана программа для обработки сведений справочника абитуриента.

В программе было реализовано:

1. Создание файла с информацией справочника абитуриента и вывод информации на экран.

2. Формирование и запись в новый файл наименование вуза и адрес, напечатать его.

3. Удаление и редактирование записей в списке ВУЗов.

4. Формирование и вывод на экран наименование ВУЗА, каждый факультет которого имеет конкурс не более заданного.

5. Программа отвечает всем требованиям пользователя, то есть простая и понятная, предугадывает все возможные ошибки пользователя, а также не перегружает человека бессмысленной для него информацией.

Список использованных источников

1. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. -- М.: ИЦ Академия, 2012. -- 304 c.

2. Монахов, В.В. Язык программирования Java и среда NetBeans. 3-е изд., пер. и доп. + DVD / В.В. Монахов. -- СПб.: BHV, 2012. -- 704 c.

3. Троелсен, Э. Язык программирования С# 5.0 и платформа .NET 4.5 / Э. Троелсен; Пер. с англ. Ю.Н. Артеменко. -- М.: Вильямс, 2013. -- 1312 c.

4. Фридман, А.Л. Основы объектно-ориентированного программирования на языке Си++ / А.Л. Фридман. -- М.: Гор. линия-Телеком, 2012. -- 234 c.

Приложение А

#include <iostream>

#include <conio.h>

#include <string.h>

#include <string>

#include <fstream>

#include <iomanip>

#include <vector>

using namespace std;

int numberFormatCheck()//проверка данных вводимых с клавиатуры

{

string temp;

cin >> temp;

for (int i = 0; i < temp.length(); i++)

{

if (temp.at(i) < 48 || temp.at(i) > 58)//сравнение с таблицой ascii

{

cout << "Нужно ввести целое число. Введите снова - ";

return numberFormatCheck();//запуск функции

}

}

return atoi(temp.c_str());//преобразование в число

}

class abiturient

{

private:

string name;//название

string adres;//адрес

int qty;//кол-во факультетов

vector <string> f_name;//факультеты

vector <int> ball;//балл факультета

public:

abiturient(){//конструктор класса

name = "-";

adres = "-";

qty = 0;

}

void diskOut(ofstream& fout) // метод записи в файл

{

fout << endl << name << endl;

fout << adres << endl;

fout << qty << endl;

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

{

fout << f_name[i] << endl;

fout << ball[i] << endl;

}

}

void diskIn(ifstream& fin) //метод печати файла

{

string buffer;//временная переменная для вывода

fin.ignore();

getline(fin, buffer); //имя

cout << "\n Наименование: " << buffer;

getline(fin, buffer);

cout << " Адрес: " << adres;

fin >> buffer;

cout << " Кол-во факультетов: " << buffer;

fin.ignore();//игнорирование \n

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

{

fin >> buffer;

fin.ignore();

cout << " Название факультета: " << buffer;

fin >> buffer;

fin.ignore();

cout << " Балл факультета: " << buffer;

}

}

void EnterInFile(ifstream& fin) //метод ввода из файла

{

int buffer1;

string buffer;

fin.ignore();//игнорирование \n

getline(fin, name);

getline(fin, adres);

fin >> qty;

fin.ignore();

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

{

getline(fin, buffer);

f_name.push_back(buffer);//добавление элементов в vector

fin >> buffer1;

fin.ignore();

ball.push_back(buffer1);

}

}

void enter()//метод для ввода

{

int buffer1;

string buffer;

cin.get();

cout << "Введите вуз: ";

getline(cin, name);

cout << "Введите адрес: ";

getline(cin, adres);

cout << "Колличество факультетов: ";

qty = numberFormatCheck();

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

{

cout << "Название факультета: ";

cin.get();

getline(cin, buffer);

f_name.push_back(buffer);

cout << "Проходной балл: ";

buffer1 = numberFormatCheck();

ball.push_back(buffer1);

}

}

void output()//печать данных в консоль

{

cout << "\n Наименование: "<<name;

cout <<" Адрес: "<<adres;

cout << " Кол-во факультетов: "<<qty;

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

{

cout <<" Название факультета: "<< f_name[i]<<" Балл факультета: "<<ball[i];

}

}

void ball_sort(int B)//вывод только тех факультетов, которые соответствуют заданному параметру

{

int buffer,x;

bool c =true;

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

{

if (i == 0)

{

x = 0;

}

buffer = ball[i];

if (buffer < B)

{

c = true;

}

if (buffer > B )

{

x++;

c = false;

if ((x == qty) && (c == false))

{

cout << "Нет ВУЗов соответствующих заданому параметру";

}

return;

}

}

if (c == true)

{

cout << name<<" ";

}

}

//4,5

void File_Name_Adres(ofstream& fout) // метод записи в файл(наименование вуза и адрес)

{

fout << endl << name << endl;

fout << adres << endl;

}

void diskIn_adres(ifstream& fin) //метод печати файла

{

string buffer;//временная переменная для вывода

fin.ignore();

getline(fin, buffer); //имя

cout << "\n Наименование: " << buffer;

getline(fin, buffer);

cout << "\t Адрес: " << adres;

}

int delete_v(string buff_name)//поиск по наименованию вуза в массиве объектов

{

if (name==buff_name )

{

return 1;

}

else return 2;

}

void edit_f(int buff1)//изменение размера вектора(факультетов)(для значений меньше текущего)

{

qty = buff1;

f_name.resize(buff1);

ball.resize(buff1);

}

int qty_in_this_moment()//возращает текущее кол-во факультетов вуза

{

return qty;

}

void add_f(int NEW, int OLD)//получает новое и старое кол-во факультетов, заполняет недостающие факультеты(случай, когда кол-во факультетов больше текущего)

{

int buffer1;

string buffer;

qty = NEW;

for (int i = OLD; i < NEW; i++)

{

cout << "Название факультета: ";

cin.get();

getline(cin, buffer);

f_name.push_back(buffer);//добавление в вектор

cout << "Проходной балл: ";

buffer1 = numberFormatCheck();

ball.push_back(buffer1);

}

}

};

int main()

{

system("chcp 1251");//изменение кодировки

setlocale(LC_ALL, "Russian");

int k, v, B = 0;

cout << "Введите колличество вузов: ";

k = numberFormatCheck();//ввод символов, проверка

abiturient* W = new abiturient[k];//создание массива объектов

bool check;

do {

try {

check = true;

cout << "Выбирите действие\n 1. Ввести данные с файла \n 2. Ввести данные с клавиатуры\n -";

v = numberFormatCheck();

if (v == 1) {

ifstream fin("D:\\Input.txt");//открытие файла для чтения

if (!fin) throw "\nОшибка: Файл не найден!";

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

{

W[i].EnterInFile(fin); //печать текста из файла

}

fin.close();//закрытие файла

}

}

catch (const char* str)//обработка исключения на открытие файла

{

check = false;

cout << str << endl;

}

} while (!check);

if (v == 2)

{

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

{

W[i].enter();

}

}

try {

ofstream fout("D:\\Output.txt"); //запись данных в файл.txt

if (!fout) throw "\nОшибка: Файл не найден!";

if (fout.is_open()) // вызов метода is_open()

for (int i = 0; i < k; i++) //записываются данные каждого вуза

W[i].diskOut(fout);

cout << "\n Создан файл с данной структурой!\nD:\\Output.txt\n" << endl;

fout.close();

cout << " Содержимое файла: ";

ifstream fin("D:\\Output.txt");//открытие файла для чтения

if (!fin) throw "\nОшибка: Файл не найден!";

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

{

W[i].diskIn(fin); //печать текста из файла

}

fin.close();//закрытие файла

}

catch (const char* str)

{

cout << str <<"Измените путь файла"<< endl;

}

do {

do {

try {

check = true;

cout << "\n Выбирите действие\n 1. Выдать наименование ВУЗА, конкурс которого не выше заданного \n 2. Сформировать файл c наименованием ВУЗА и адресом и вывести его на экранx";

cout << "\n 3. Добавить вуз \n 4. Записать данные в файл \n 5. Вывести данные на экран ";

cout << "\n 6. Удалить запись с указаным наименованием вуза \n 7. Изменение количества факультетов для ВУЗа \n 10. Завершить программу\n -";

v = numberFormatCheck();

if (v == 1)

{

cout << "Введите балл: ";

B = numberFormatCheck();

cout << "\n ВУЗы балл факультетов котороых не привышает заданный: \n";

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

{

W[i].ball_sort(B);

}

}

if (v == 2)

{

ofstream fout("D:\\Output_NAME_ADRES.txt"); //запись данных в файл .txt

if (!fout) throw "\nОшибка: Файл не найден!";

if (fout.is_open()) // вызов метода is_open()

for (int i = 0; i < k; i++) //записываются данные каждого вуза

W[i].File_Name_Adres(fout);

cout << "\n Создан файл с наименованием и адресом вузов!" << endl;

fout.close();

ifstream fin("D:\\Output_NAME_ADRES.txt");//открытие файла для чтения

if (!fin) throw "\nОшибка: Файл не найден!";

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

{

W[i].diskIn_adres(fin); //печать текста из файла(aдрес, наименование)

}

fin.close();//закрытие файла

}

if (v == 3)

{

int i, j, q = 0;//j-кол-во добавляемых q-общее кол-во

cout << "Колличество добавляемых вузов: ";

j = numberFormatCheck();

q = k + j;

abiturient* W1 = new abiturient[q];

for (i = 0; i < k; i++)

{

W1[i] = W[i];

}

for (i = k; i < q; i++)

{

W1[i].enter();

}

delete[]W;

W = W1;

k = q;

}

if (v == 4)

{

ofstream fout("D:\\Output.txt"); //запись данных в файл.txt

if (!fout) throw "\nОшибка: Файл не найден!";

if (fout.is_open()) // вызов метода is_open()

for (int i = 0; i < k; i++) //записываются данные каждого вуза

W[i].diskOut(fout);

cout << "\n Создан файл с данной структурой!\n" << endl;

fout.close();

}

if (v == 5)

{

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

{

W[i].output();

}

}

if (v == 6)

{

string buff_name;

int buff, buff1;

cout << "Введите название удаляемого вуза: ";

cin.get();

getline(cin, buff_name);

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

{

buff = W[i].delete_v(buff_name);//поиск нужного вуза с помощью метода

if (buff == 1)

{

buff1 = i;

break;

}

else if (i == k - 1 & buff == 2)

{

cout << "\n Вуз не найден";

}

}

if (buff == 1) {

cout << "Выбраный вуз: ";

W[buff1].output();

abiturient* W2 = new abiturient[k - 1];

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

{

W2[i] = W[i];

}

for (int i = buff1; i < k - 1; i++)

{

W2[i] = W[i + 1];

}

delete[]W;

W = W2;

k = k - 1;

cout << "\n Вуз удален \n";

}

}

bool check1=true;

if (v == 7)

{

string buff_name;

int buff, buff1, qty_buff;

cout << "Введите наименование вуза в котором нужно изменить количество во факультетов: ";

cin.get();

getline(cin, buff_name);

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

{

buff = W[i].delete_v(buff_name);//поиск нужного вуза с помощю метода

if (buff == 1)

{

buff1 = i;

break;

}

else if (i == k - 1 & buff == 2)

{

cout << " Вуз не найден\n";

check1 = false;

}

}

if (check1 == true) {

cout << "Введите новое количество факультетов: ";

buff = numberFormatCheck();//новое кол-во факультетов

qty_buff = W[buff1].qty_in_this_moment();//старое кол-во

if (qty_buff > buff)

{

W[buff1].edit_f(buff);

}

else

{

W[buff1].add_f(buff, qty_buff);

}

ofstream fout("D:\\Output.txt"); //запись данных в файл.txt

if (!fout) throw "\nОшибка: Файл не найден!";

if (fout.is_open()) // вызов метода is_open()

for (int i = 0; i < k; i++) //записываются данные каждого вуза

W[i].diskOut(fout);

cout << "\n Создан файл с данной структурой!\n" << endl;

fout.close();

}

}

else if (v > 7 & v != 10)

{

cout << "Введена неверная команда";

}

}

catch (const char* str)//обработка исключений

{

check = false;

cout << str << endl;

}

} while (!check);

}

while (v!= 10);

}

Приложение Б

Исходный код программы на C+

package com.company;

import java.util.*;

import java.io.*;

class abiturient

{

static int numberFormatCheck() {

Scanner in = new Scanner(System.in);

int number = 0;

boolean check;

do {

check = true;

try {

number = Integer.parseInt(in.nextLine());

} catch (NumberFormatException e) {

System.out.println("Нужно ввести целое число. Введите снова - ");

check = false;

}

} while (!check);

return number;

}

private String name;//название

private String adres;//адрес

private int qty;//кол-во факультетов

private Vector<Integer> ball = new Vector<>();//балл факультета

private Vector<String> f_name = new Vector<String>();//факультеты

public abiturient(){//конструктор класса

name = "-";

adres = "-";

qty = 0;

}

public abiturient(String name1, String adres1, int qty1,Vector<Integer> ball1,Vector<String> f_name1) // конструктор с параметром

{

name = name1;

adres = adres1;

qty = 0;

ball=ball1;

f_name=f_name1;

}

public void diskOut(BufferedWriter bw) throws Exception//метод вывода в файл

{

bw.write(name+ "\n");

bw.write(adres+ "\n");

bw.write(qty+ "\n");

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

{

bw.write(f_name.elementAt(i)+ "\n");/////////////////////////////////////////////////////

bw.write(ball.elementAt(i) +"\n");//////////////////////////////////////////////////////

}

}

public void diskIn(BufferedReader br) throws Exception//метод печати файла

{

String buffer;//временная переменная для вывод

buffer= br.readLine(); //имя

System.out.print("\nНаименование: " + buffer);

buffer= br.readLine();

System.out.print(" Адрес: " + buffer);

buffer= br.readLine();

System.out.print(" Кол-во факультетов: " + buffer);

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

{

buffer= br.readLine();

//fin.ignore();

System.out.print("\n Название факультета: " + buffer);

buffer= br.readLine();

//fin.ignore();

System.out.print(" \n Балл факультета: " + buffer);

}

System.out.print("\n");

}

public void EnterInFile(BufferedReader br) throws Exception//метод ввода из файла

{

int buffer1;

String buffer;

name=br.readLine();

name.trim();

adres=br.readLine();

qty= Integer.parseInt(br.readLine());

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

{

buffer=br.readLine();

f_name.addElement(buffer);//добавление записи в vector

buffer1= Integer.parseInt(br.readLine());

ball.addElement(buffer1);

}

}

public void enter()//метод для ввода

{

Scanner in = new Scanner(System.in);

int buffer1;

String buffer;

System.out.print("Введите вуз: ");

name=in.nextLine();

System.out.print("Введите адрес: ");

adres=in.nextLine();

System.out.print( "Колличество факультетов: ");

qty=numberFormatCheck();

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

{

System.out.print("Название факультета: ");

buffer= in.nextLine();

f_name.add(buffer);

System.out.print("Проходной балл: ");

buffer1 = numberFormatCheck();

ball.add(buffer1);

}

}

public void output()//печать данных в консоль

{

System.out.print("\n Наименование: "+name);

System.out.print(" Адрес: "+adres);

System.out.print(" Кол-во факультетов: "+qty);

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

{

System.out.print(" \n Название факультета: "+ f_name.elementAt(i)+" \nБалл факультета: "+ball.elementAt(i));

}

System.out.print("\n");

}

int x;

public void ball_sort(int B)//вывод только тех факультетов, которые соответствуют заданному параметру

{

int buffer;

boolean c =true;

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

{

if (i == 0)

{

x = 0;

}

buffer = ball.elementAt(i);

if (buffer < B)

{

c = true;

}

if (buffer > B )

{

x=x+1;

c = false;

if ((x == qty) && (c == false))

{

System.out.print("Нет ВУЗов соответствующих заданому параметру");

}

return;

}

}

if (c == true)

{

System.out.print( name+" ");

}

}

//4,5

public void File_Name_Adres(BufferedWriter bw) throws Exception//метод вывода в файл

{

bw.write(name+ "\n");

bw.write(adres+ "\n");

}

public void diskIn_adres(BufferedReader br) throws Exception//метод вывода в файл

{ String buffer;//временная переменная для вывода

buffer=br.readLine(); //имя

System.out.print("\n Наименование: " + buffer);

buffer=br.readLine();

System.out.print("\t Адрес: " + buffer);

}

public int delete_v(String buff_name)//поиск по наименованию вуза в массиве объектов

{

if (name.equalsIgnoreCase(buff_name))

{

return 1;

}

else return 2;

}

public void edit_f(int buff1)//изменение размера вектора(факультетов)(для значений меньше текущего)

{

qty = buff1;

f_name.setSize(buff1);

ball.setSize(buff1);

}

public int qty_in_this_moment()//возращает текущее кол-во факультетов вуза

{

return qty;

}

public void add_f(int NEW, int OLD)//получает новое и старое кол-во факультетов, заполняет недостающие факультеты(случай, когда кол-во факультетов больше текущего)

{

int buffer1;

String buffer;

qty = NEW;

for (int i = OLD; i < NEW; i++)

{

Scanner in = new Scanner(System.in);

System.out.print("Название факультета: ");

buffer= in.nextLine();

f_name.add(buffer);

System.out.print("Проходной балл: ");

buffer1 = numberFormatCheck();

ball.add(buffer1);

}

}

};

public class Main {

static int numberFormatCheck() {

Scanner in = new Scanner(System.in);

int number = 0;

boolean check;

do {

check = true;

try {

number = Integer.parseInt(in.nextLine());

} catch (NumberFormatException e) {

System.out.println("Нужно ввести целое число. Введите снова - " );

check = false;

}

} while (!check);

return number;

}

public static void main(String[] args) throws Exception {

Scanner in = new Scanner(System.in);

int k, v=0, B = 0;

System.out.println("Введите колличество вузов: ");

k=numberFormatCheck();

abiturient[] W = new abiturient[k];

boolean check;

do {

try{

check = true;

System.out.println("Выбирите действие\n 1. Ввести данные с файла \n 2. Ввести данные с клавиатуры\n -");

v = numberFormatCheck();

if (v == 1) {

BufferedReader br = new BufferedReader(new FileReader("D:\\Input.txt"));//объявление ввода


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

  • Освоение функций работы со структурами данных и файлами. Разработка программного обеспечения для создания, обработки сведений о сотрудниках учреждения. Реализация алгоритма программы в среде Microsoft Visual Studio 2010. Изучение руководства пользователя.

    курсовая работа [3,3 M], добавлен 28.08.2012

  • История развития справочников/баз данных. Основные параметры, необходимые для создания справочника по предприятию. Разработка интерфейса программы в среде CSharp. Детальный просмотр функций программы. Системные требования к ПК и руководство пользователя.

    курсовая работа [3,2 M], добавлен 11.04.2012

  • Обзор существующего программного обеспечения. Структура и отличительные особенности формата MP3. Сокеты TCP/IP, клиент-сервер. Язык программирования Visual Basic.net в среде разработки Visual Studio 2008. Разработка приложения "MP3_Catalogizator".

    дипломная работа [2,1 M], добавлен 09.02.2015

  • Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

    курсовая работа [585,5 K], добавлен 24.03.2009

  • Изучение методов разработки приложений в среде визуального программирования Visual Studio. Создание программы, реализующей заказ железнодорожных билетов. Язык SQL-запросов в системе управления базами данных MS Access. Тестирование созданной программы.

    курсовая работа [1,0 M], добавлен 03.07.2016

  • Технология разработки и тестирования программного обеспечения в среде Visual Studio на примере создания программы моделирования систем массового обслуживания. Аналитические и имитационные методы моделирования с разными дисциплинами обслуживания заявок.

    дипломная работа [1,1 M], добавлен 09.09.2012

  • Характеристика работы Алтайского филиала телекоммуникаций "Сибирьтелеком". Разработка программы для автоматизации работы телефонного справочника. Основные функции программного продукта: хранение, обработка, ввод и редактирование информации об абонентах.

    дипломная работа [6,0 M], добавлен 07.06.2012

  • Разработка алгоритма и программы "Расчет стыкового паяного соединения" в среде Microsoft Visual Studio для облегчения расчётов сварных швов. Создание главной формы приложения и его кодирование для расчёта углового шва. Тестирование программы на ошибки.

    курсовая работа [1,5 M], добавлен 06.02.2013

  • Структура данных с указанием типов. Общая структурная схема программы. Алгоритмы сортировки вставками. Назначение make-файла. Функции управления программой; перемещения и корректировки введенных данных и их удаления справочника, загрузки данных из файла.

    курсовая работа [1,3 M], добавлен 12.01.2016

  • Понятие информации и роль компьютерных и Интернет-технологий в современном мире. Плюсы и минусы внедрения ERP-систем. Языки программирования для разработки Web-приложений. Методология разработки интерактивного справочника. Расчёт эксплуатационных затрат.

    дипломная работа [962,7 K], добавлен 13.10.2012

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