Информационно-поисковая система «Абитуриент»

Автор: Пользователь скрыл имя, 14 Января 2011 в 02:17, курсовая работа

Описание работы

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

Содержание

1. Введение………………………………………………………………………………….…..3
2. Постановка задачи……………………………………………………………………….…..4
3. Руководство пользователя………………………………………………………...………...5
4. Руководство программиста………………………………………………………...…….…5
4.1. Метод решения задачи…………………………………………………………………..5
4.2. Описание функций программы………………………………………………………...6
4.3. Описание структур……………………………………………………………………....6
4.4. Спецификация на модули………………………………………………………….……7
4.5 Алгоритм поиска стран……………………………………………………………….….7
5. Заключение……………………………………………………………………………….…..8
6. Список литературы……………………………………………………………………….….9
7. Приложение………………………………………………………………………………….10
7.1. Основная программа…………………………………………………………………….10
7.2. Модуль поиска по атрибутам……………………………………………………..…….12 7.3. Модуль работы работы со списком абитуриентов ……………………...……………...14
7.4. Модуль вывода списка абитуриентов………………………………………….………15
7.5. Модуль абитуриент ……………………………………………………………...……...16

Работа содержит 1 файл

курсовая работа.doc

— 108.50 Кб (Скачать)

   

    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("enrollees.txt", a);

    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(EnrolleesArray a, int n, const char *faculty);  // Количество поступающих на заданный факультет

int getEnrolleesWithBigSum(EnrolleesArray a, int n, int sum, EnrolleesArray out); // Абитуриенты с суммой баллов выше заданного значения

int getLazyEnrollees(EnrolleesArray a, int n, const char *faculty, EnrolleesArray out); // Абитуриенты, получившие неуд и посещавшие курсы на заданном факультете 

#endif 
 

analyse.cpp 

#include "analyse.h" 

int getNumberOfEnrollees(EnrolleesArray a, int n, const char *faculty)

{

    int ret = 0;

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

Информация о работе Информационно-поисковая система «Абитуриент»