Разработка программного обеспечения для создания и обработки сведений справочника абитуриента
Учёт и обработка запросов пользователей справочника по поиску нужного вуза и конкурсу для каждого факультета. Обеспечение сортировки информации по заданному критерию. Создание и тестирование программы для абитуриента в среде разработки 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