Информационно-поисковая система «Абитуриент»
НИЖЕГОРОДСКИЙ
ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
ИНСТИТУТ РАДИОЭЛЕКТРОНИКИ И ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ
Курсовая
работа
«Информационно-поисковая
система «Абитуриент»»
Выполнил:
Проверил:
1. Введение…………………………………………………………
2. Постановка задачи………………………………………………………………
3. Руководство пользователя………………………………………………
4. Руководство программиста………………………………………………
4.1. Метод
решения задачи………………………………………………………………
4.2. Описание
функций программы………………………………………………………
4.3. Описание
структур…………………………………………………………
4.4. Спецификация
на модули………………………………………………………….…
4.5 Алгоритм
поиска стран……………………………………………………………….
5. Заключение……………………………………………………
6. Список литературы……………………………………………………
7. Приложение……………………………………………………
7.1. Основная
программа………………………………………………………
7.2. Модуль
поиска по атрибутам…………………………………………………….
7.4. Модуль
вывода списка абитуриентов………………………………………….…
7.5. Модуль
абитуриент ……………………………………………………………...……..
В данной работе
рассматривается создание информационно-поисковой
системы с использованием файла для хранения
информации.
Одним из способов
преодоления сложности данной
задачи является использование
технологии разработки программ «сверху-вниз».
В начале
основной части отчёта приводится
точная формализованная постановка
задачи с указанием полного набора операций,
выполнение которых должна обеспечивать
прикладная программа.
В руководстве пользователя объясняются правила пользования программой и приводятся конкретные примеры диалога с пользователем.
В руководстве программиста рассматриваются вопросы внутренней организации программ, в том числе её состав модулей и их взаимодействие.
Кроме этого описываются используемые структуры данных и наиболее важные и интересные с точки зрения их реализации алгоритмы.
В заключении делаются
выводы о полноте решения поставленной
задачи.
В конце данного
отчёта приведена техническая
информация, включающая листинги всех
модулей программы.
2. Постановка задачи.
Требуется разработать программу, обеспечивающую хранение и обработку данных указанного типа. Должны быть реализованы типовые действия, включающие в себя:
- включение нового элемента;
- удаление элемента;
- корректировка элемента;
- поиск элементов по значению некоторых атрибутов;
- отбор элементов по значениям некоторых атрибутов.
Одним из требований к разрабатываемой программной системе является
хранение таблицы с исходными данными в файле. Все изменения, вносимые в базу данных, не должны теряться при завершении работы с программой, то
есть необходимо обновление содержимого файла при изменении базы данных.
Взаимодействие
пользователя с программой осуществляется
через меню.
Система должна поддерживать справочную информацию о абитуриентах. Пользователю предоставляется возможность выполнять следующие действия:
– Добавление в таблицу нового абитуриента.
– Удаление из таблицы какого-либо абитуриента.
– Изменение данных о абитуриенте.
– Выдать информацию о количестве поступающих на указанный
факультет.
– Выбрать абитуриентов, сумма баллов которых превышает указанное
значение.
– Сформировать список фамилий абитуриентов, посещавших
подготовительные курсы и получивших «неуд» на каком-либо экзамене
при поступлении
на заданный факультет.
Чтобы начать работу c системой требуется запустить файл «Enrollee.exe».
После
запуска программы на экране появляется
меню системы:
Vvedite variant
raboti programmi:
0 - pechat vsego spiska abiturientov
1 - pechat kolichestva abiturientov, postupaushih na opredelennii facultet
2 - pechat abiturientov s summoi ballov, prevoshodyashih opredelennoe znachenie
3 - pechat abiturientov s kursov na zadannom facultete, poluchivshih “neud”
4 - vihod iz programmi
|>
При выборе первого
пункта меню на экран выводятся весь
список абитуриентов, со всей информацией
о каждом.
Второй пункт
предназначен для поиска студентов
поступающих на определенный факультет.
Для этого следует ввести название
факультета.
Третий пункт
выводит на экран список абитуриентов
с суммой баллов, превосходящих определенной
значение. Для этого следует ввести минимальное
количество баллов.
При выборе четвертого
пункта на экран выводится список
абитуриентов на заданном факультете
и посещавших курсы, получивших «неуд»
При выборе пятого
пункта осуществляется сохранение данных
и выход из программы.
4.1
Метод решения задачи.
При разработке
программы была использована технология
проектирования «сверху вниз», которая
предполагает разбиение исходной задачи
на ряд подзадач. Напрямую с этой технологией
связан метод модульного программирования.
Согласно ему программа состоит из нескольких
модулей, каждый из которых представляет
собой совокупность функций и данных,
выполняющих задачи из определенной области.
Входными данными в программе являются:
– файл со список данных («Enrollee.txt »), в котором осуществляется добавление, изменение и удаление информации
– параметры поиска,
вводимые с клавиатуры.
Выходные данные:
– файл с результатами поиска по заданным параметрам («out.txt»)
– результаты
поиска по заданным параметрам,
отображаемые на экране.
4.2
Описание функций программы:
int main(int argc, char *argv[])// Основная функция программы
Enrollee ReadEnrollee(char *str)// Функция получения абитуриента из строки
void PrintEnrolleesArray(std::
void SaveEnroleesArrayToFile(const char *filename, EnrolleesArray a, int n); //Функция сохранения информации в файл
int LoadEnrolleesArrayFromFile(con
int getEnrolleesWithBigSum(
int getNumberOfEnrollees(
int getLazyEnrollees(
4.3
Описание структур:
struct Enrollee //структура информация о абитуриенте
{
char firstname[STRING_LENGTH];
char lastname[STRING_LENGTH];
char
patronymic[STRING_LENGTH];
char
sex[STRING_LENGTH];
char birthdate[STRING_LENGTH];
char faculty[STRING_LENGTH];
int school;
char
courses[STRING_LENGTH];
int exams[EXAMS_N];
};
Структура “Enrollee”
содержит в себе 9 полей. firstname – имя абитуриента,
lastname –фамилия абитуриента, patronymic – отчество,
sex – пол, birthdate – дата рождения, faculty –
факультет, school – номер школы, courses – посещение
курсов, exams – оценки за экзамены( 3 экзамена).
4.4
Спецификация на модули.
Программа состоит из 5 модулей, назначение каждого из которых приведено ниже:
1. main.cpp – основной модуль программы;
2. analyse.h, analyse.cpp – содержит функции необходимые для поиска по атрибутам;
3. ui.h, ui.cpp– содержит основные функции для вывода списков.
4. enrollee_list.h, enrollee_list.cpp – содержит описание структуры и базовой функциональности.
5. enrollee.h,
enrollee.cpp – содержит описание структуры.
Модульная
структура программы:
4.5
Алгоритм поиска абитуриентов
с заданного факультета,
сумма баллов которых
больше заданного значения.
У пользователя запрашивается название факультета и сумма баллов для вывода на экран списка абитуриентов с заданного факультета, сумма баллов которых больше заданного значения.
Нам необходимо просмотреть всю информацию имеющихся абитуриентов. Поочередно просматривая все элементы списка абитуриентов, будем проверять совпадение факультета и суммы баллов. Если любой из абитуриентов находится на заданном факультете и его сумма баллов больше заданного значения, то информация о нем выводится на экран и осуществляется переход к следующему абитуриенту в списке.
5.
Заключение.
В результате выполнения задания была создана программа, полностью отвечающая предъявленным требованиям. Были реализованы механизмы добавления, редактирования и удаления записей, все перечисленные в задании режимы поиска и отображения данных. Организовано сохранение данных в файл.
6.
Список литературы.
1. Керниган, Брайан У., Ритчи, Деннис М. Язык программирования С, 2-е
издание.: Пер. с анг.- М.: Вильямс, 2006.
2 .С.А.
Орлов. Технологии разработки
программного обеспечения.
пособие. 2-е изд. – СПб.: Питер, 2003. – 480 с.: ил.
3. Шилдт, Герберт. Полный справочник по С, 4-е издание.: Пер. с анг.- М.:
Вильямс, 2005.
4. Борисенко В.В. Основы программирования – Интернет-университет
информационных технологий – ИНТУИТ.ру, 328 стр. – 2005 г.
5 .Костюкова Н.И., Калинина Н.А. Язык Си и особенности работы с ним –
Интернет-университет информационных технологий – ИНТУИТ.ру, 208 стр. –
2006 г.
6. Т.А.Павловская.
С/С++ Программирование на языке
высокого уровня. 2009.
7.
Приложение.
7.1 Основная программа.
main.cpp
#include <iostream>
#include "ui.h"
#include "analyse.h"
using namespace std;
int main(int argc, char *argv[])
{
EnrolleesArray a = NULL;
int
n = LoadEnrolleesArrayFromFile("
EnrolleesArray out = new Enrollee[n];
ofstream outfile("out.txt");
int x = 0;
while (x != 4)
{
cout << "Vvedite variant raboti programmi\n \
0 - pechat vsego spiska abiturientov\n \
1 - pechat kolichestva abiturientov, postupaushih na opredelennii facultet\n \
2 - pechat abiturientov s summoi ballov,prevoshodyashih opredelennoe znachenie\n \
3 - pechat abiturientov s kursov na zadannom facultete, poluchivshih \"neud\"\n \
4 - vihod iz programmi\n |> ";
cin >> x;
switch (x)
{
case 0:
{
PrintEnrolleesArray(cout, a, n);
break;
}
case 1:
{
cout << "Vvedite interesuushii vas facultet"<<endl;
char faculty[STRING_LENGTH];
cin >> faculty;
cout << endl;
cout << getNumberOfEnrollees(a, n, faculty);
outfile << getNumberOfEnrollees(a, n, faculty) << "\n" << endl;
break;
}
case 2:
{
cout << "Vvedite minimalnoe znachenie summi ballov"<<endl;
int sum;
cin >> sum;
cout << endl;
int nn = getEnrolleesWithBigSum(a, n, sum, out);
PrintEnrolleesArray(cout, out, nn);
PrintEnrolleesArray(outfile, out, nn);
outfile << endl;
break;
}
case 3:
{
cout << "Vvedite interesuushii vas facultet"<<endl;
char faculty[STRING_LENGTH];
cin >> faculty;
cout << endl;
int nn = getLazyEnrollees(a, n, faculty, out);
PrintEnrolleesArray(cout, out, nn);
PrintEnrolleesArray(outfile, out, nn);
outfile << endl;
break;
}
}
cout << "\n" << endl;
}
// Освобождение памяти
delete [] a;
delete
[] out;
outfile.close();
return
0;}
7.2
Модуль поиск по абитуриентам.
analyse.h
#ifndef __ANALYSE_H
#define __ANALYSE_H
#include "enrollee_list.h"
// Формирование
требуемых списков
int getNumberOfEnrollees(
int getEnrolleesWithBigSum(
int getLazyEnrollees(
#endif
analyse.cpp
#include "analyse.h"
int getNumberOfEnrollees(
{
int ret = 0;
for (int i = 0; i<n; i++)

- Информационно-поисковая система для учета клиентов в парикмахерской
- Информационно-поисковая система «Легковые автомобили»
- Информационно-поисковой системы на языке программирования Паскаль «Данные метеослужбы»
- Информационно-поисковые системы в глобальной сети
- Информационно-поисковые языки сети Интернет
- Информационно-правовое обеспечение акционерного предприятия
- Информационно-просветительные технологии
- Информационно-консультационные услуги, необходимые для успешной деятельности сельскохозяйственых производителей
- Информационно-консультационные услуги, необходимые для успешной деятельности сельскохозяйственых производителей
- Информационно-методическое обеспечение туристского маршрута «Остров мечты Шри-Ланка
- Информационно-методическое обеспечение туристского маршрута «Отдых в Египте в Хургаде и незабываемые пирамиды Каира
- Информационно-методическое обеспечение туристского маршрута «Свадебное путешествие в Доминикане
- Информационно-методическое обеспечение туристского маршрута "Сокровища Короны" )
- Информационно-образовательная среда как средство активизации самостоятельной работы учащихся