Главная страница
Навигация по странице:

  • Основания для разработки Учебный план изучения дисциплины «Технология разработки программных продуктов».Назначение

  • Требование к программе

  • Требования к программной документации

  • Таблица идентификаторов

  • Алгоритм решения задачи

  • Характеристика программы

  • Обращение к программе Запуск программы осуществляется двойным кликом по файлу программы. Входные и выходные данные

  • Сообщения

  • Назначение программы Основным назначением программы является помощь приёмной комиссии в ведении списка абитуриентов. Условия выполнения программы

  • Выполнение программы Запуск программы осуществляется двойным кликом по файлу программы. Сообщения оператору

  • курсовая. Курсовая Бойков И.Р.. Руководство программисту 12 Руководство оператору 13 Выводы по работе 14 Список литературы 15


    Скачать 85.1 Kb.
    НазваниеРуководство программисту 12 Руководство оператору 13 Выводы по работе 14 Список литературы 15
    Анкоркурсовая
    Дата08.02.2023
    Размер85.1 Kb.
    Формат файлаdocx
    Имя файлаКурсовая Бойков И.Р..docx
    ТипРуководство
    #927335



    Оглавление





    1 Разработка и анализ технического задания 3

    2 Разработка программы 5

    Листинг программы 9

    Руководство программисту 12

    Руководство оператору 13

    Выводы по работе 14

    Список литературы 15



    1 Разработка и анализ технического задания



    Введение

    Каждый год, число абитуриентов растет. Становится все сложнее вести учет абитуриентов и проводить отбор для поступления.

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

    Учебный план изучения дисциплины «Технология разработки программных продуктов».
    Назначение

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

    1. Требования к функциональным характеристикам;

    В программе должны присутствовать средства навигации, для удобства работы с нею.

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

    1. Требования к надежности;

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

    б) Программа продолжит функционировать, при отсутствии исходного файла с данными;

    1. Требования к составу и параметрам технических средств;

    IBM-совместимый персональный компьютер с подключенными стандартной клавиатурой, манипулятором «мышь» и монитором с рекомендуем разрешением экрана от 1366 х 780.

    Минимальные системные требования:

    а) Процессор: 1 ГГц или выше;

    б) Свободное место на жестком диске:50 Мб.

    1. Требования к информационной и программной совместимости;

    Программа работает под управлением операционных систем Windows XP и выше.
    Требования к программной документации

    Должны быть разработаны следующие эксплуатационные документы:

    а) Инструкция для пользователя;

    б) Справка о программе;

    2 Разработка программы



    Для удобства разработки и дальнейшего сопровождения программы был выбран модульный подход программирования. Благодаря этому программа разбита на несколько подпрограмм:

    • char * InputStr() – функция ввода строки с пробелами.

    • int InputInt(const char * str, int a, int b) – функция ввода целого числа с проверкой корректности ввода и допустимости диапазона.

    • Student InputStudent() – ввод данных о студенте.

    • void PrintStudent(Student b) – вывод данных о студенте.

    • void Save(vector list, const char * path) – сохранение списка в файл.

    • vector Open(const char * path) – Чтение списка из файла.

    • void PrintList(vector list) – печать списка.

    Таблица идентификаторов

    Ниже приведены таблицы идентификаторов разработанных функций.
    Таблица 1 – Описание идентификаторов функции InputStr

    Наименование

    Тип

    Назначение

    str

    char *

    Вводимая строка


    Таблица 2 – Описание идентификаторов функции InputStudent

    Наименование

    Тип

    Назначение

    b

    Student

    Вводимые данные о абитуриенте


    Таблица 3 – Описание идентификаторов функции PrintStudent

    Наименование

    Тип

    Назначение

    b

    Student

    Выводимые данные о студенте


    Таблица 4 – Описание идентификаторов функции InputInt

    Наименование

    Тип

    Назначение

    str

    char *

    Выводимая строка

    a

    int

    Левая граница интервала

    b

    int

    Правая граница интервала

    num

    char *

    Вводимое строковое значение пользователем

    size

    int

    Длина вводимого значения

    n

    int

    Числовое представление значения


    Таблица 5 – Описание идентификаторов функции Save

    Наименование

    Тип

    Назначение

    tf

    FILE

    Файловый поток для сохранения

    path

    char *

    Путь к файлу, для сохранения списка

    list

    vector

    Список абитуриентов


    Таблица 6 – Описание идентификаторов функции Open

    Наименование

    Тип

    Назначение

    tf

    FILE

    Файловый поток для чтения

    path

    char *

    Путь к файлу, для чтения списка

    list

    vector

    Список абитуриентов

    sp

    Enrollee

    Читаемый из файла абитуриент


    Таблица 5 – Описание идентификаторов функции main

    Наименование

    Тип

    Назначение

    a

    int

    Поле для выбора пункта меню

    list

    vector

    Список абитуриентов



    Алгоритм решения задачи

    Ниже приведены блок-схемы основных функций.


    Рисунок 1 – Блок-схемы функции main


    Рисунок 2 – Блок-схемы функции Open



    Рисунок 3 – Блок-схемы функции Save

    Листинг программы



    #include

    #include

    #include

    #include

    #include

    using namespace std;
    //объявление структуры - объекта

    struct Enrollee

    {

    char FIO[255]; //фамилия

    int Year; //Год рождения

    int Math; //Математика

    int Phys; //Физика

    int Russ; //Русский

    };

    //функиця ввода строки

    char * InputStr()

    {

    char * str = (char *)malloc(sizeof(char) * 512);

    fgets(str, 512, stdin);

    str[strlen(str) - 1] = '\0';

    return str;

    }
    //ввод числа с проверкой диапазона

    int InputInt(const char * str, int a, int b)

    {

    while (1)

    {

    cout << str;

    char * num = InputStr();

    int n = atoi(num);
    int size = strlen(num);

    if (n == 0 && (size != 1 || size == 1 && num[0] != '0'))

    printf("Ошибка ввода числа!\n");

    else if (nb)

    printf("Число из недопустимого диапазона!\n");

    else return n;

    }

    }
    //функция ввода данных о студенте

    Enrollee InputStudent()

    {

    Enrollee b;

    cout << "Введите данные о абитуриенте: " << endl;

    cout << "Ф.И.О..............: "; strcpy(b.FIO, InputStr());

    b.Year = InputInt("Год рождения.......: ", 1950, 2015);

    b.Math = InputInt("Математика.........: ", 0, 100);

    b.Russ = InputInt("Русский язык.......: ", 0, 100);

    b.Phys = InputInt("Физика.............: ", 0, 100);

    return b;

    }
    //функция вывода данных о студенте

    void PrintStudent(Enrollee b)

    {

    cout << "----------------------" << endl;

    cout << "Ф.И.О..............: " << b.FIO << endl;

    cout << "Год рождения.......: " << b.Year << endl;

    cout << "Русский язык.......: " << b.Russ << endl;

    cout << "Математика.........: " << b.Math << endl;

    cout << "Физика.............: " << b.Phys << endl;

    cout << "----------------------" << endl;

    }
    //Сохранение списка

    void Save(vector list, const char * path)

    {

    FILE * tf = fopen(path, "a+b");

    for(int i=0; i
    fwrite(&list[i], sizeof(list[i]), 1, tf);

    fclose(tf);

    }
    //чтение списка

    vector Open(const char * path)

    {

    vector list;

    FILE *tf = fopen(path, "rb");

    if (tf)

    {

    Enrollee sp;

    fread(&sp, sizeof(sp), 1, tf);

    while (!feof(tf))

    {

    list.push_back(sp);

    fread(&sp, sizeof(sp), 1, tf);

    }

    fclose(tf);

    }

    return list;

    }
    //пердикат для сортировки по ФИО

    struct predFIO

    {

    bool operator()(const Enrollee& s1, const Enrollee& s2)

    {

    return s1.FIO > s2.FIO;

    }

    };

    //пердикат для сортировки по году рождения

    struct predYear

    {

    bool operator()(const Enrollee& s1, const Enrollee& s2)

    {

    return s1.Year > s2.Year;

    }

    };
    //пердикат для сортировки по среднему баллу

    struct predBall

    {

    bool operator()(const Enrollee& s1, const Enrollee& s2)

    {

    return s1.Math + s1.Russ + s1.Phys > s2.Math + s2.Russ + s2.Phys;

    }

    };
    void PrintList(vector list)

    {

    for (int i = 0; i < list.size(); i++)

    PrintStudent(list[i]);

    }
    int main(void)

    {

    //включаем русский язык

    SetConsoleOutputCP(1251);

    SetConsoleCP(1251);

    const char *path = "db.bin";

    vector list = Open(path);

    int a;
    do

    {

    cout << "1 - Добавить запись" << endl;

    cout << "2 - Печать списка (Сортировка по ФИО)" << endl;

    cout << "3 - Печать списка (Сортировка по среднему баллу)" << endl;

    cout << "4 - Печать списка (Сортировка по году рождения)" << endl;

    cout << "0 - Выход" << endl;

    a = InputInt("> ", 0, 4);
    switch (a)

    {

    case 1: list.push_back(InputStudent()); break;

    case 2: sort(list.begin(), list.end(), predFIO()); PrintList(list); break;

    case 3: sort(list.begin(), list.end(), predBall()); PrintList(list); break;

    case 4: sort(list.begin(), list.end(), predYear()); PrintList(list); break;

    }

    system("pause");

    system("cls");

    } while (a!= 0);

    Save(list, path);

    return 0;

    }

    Руководство программисту



    Назначение и условия применения программ

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

    Программа не имеет пользовательского интерфейса и не предоставляет конечному пользователю возможности настройки и изменения своих параметров.

    Минимальные системные требования для ее использования:

    а) Процессор: 1 ГГц или выше;

    б) Свободное место на жестком диске:50 Мб.

    Программа работает под управлением операционных систем Windows XP и выше.
    Обращение к программе

    Запуск программы осуществляется двойным кликом по файлу программы.
    Входные и выходные данные

    Данные о абитуриенте: фамилии, имени и отчества, года рождения, оценок за вступительные экзамены.
    Сообщения

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

    "1 - Добавить запись"

    "2 - Печать списка (Сортировка по ФИО)"

    "3 - Печать списка (Сортировка по среднему баллу)"

    "4 - Печать списка (Сортировка по году рождения)"

    "0 - Выход"

    Руководство оператору


    Назначение программы

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

    Условия выполнения программы

    Программа не имеет пользовательского интерфейса и не предоставляет конечному пользователю возможности настройки и изменения своих параметров.

    Минимальные системные требования для ее использования:

    а) Процессор: 1 ГГц или выше;

    б) Свободное место на жестком диске:50 Мб.

    Программа работает под управлением операционных систем Windows XP и выше.

    Выполнение программы

    Запуск программы осуществляется двойным кликом по файлу программы.

    Сообщения оператору

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

    "1 - Добавить запись"

    "2 - Печать списка (Сортировка по ФИО)"

    "3 - Печать списка (Сортировка по среднему баллу)"

    "4 - Печать списка (Сортировка по году рождения)"

    "0 - Выход"

    Выводы по работе



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

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

    Список литературы





    1. Боровский, А. C++ и Pascal в Kylix 3. Разработка интернет-приложений и СУБД / А. Боровский. - М.: БХВ-Петербург, 2015. - 544 c.

    2. Панюкова, Т. А. Языки и методы программирования. Создание простых GUI-приложений с помощью Visual С++. Учебное пособие / Т.А. Панюкова, А.В. Панюков. - Москва: Мир, 2015. - 144 c.

    3. Пахомов, Б. C/C++ и MS Visual C++ 2010 для начинающих / Б. Пахомов. - М.: БХВ-Петербург, 2011. - 736 c.

    4. Полубенцева, М. C/C++. Процедурное программирование / М. Полубенцева. - М.: БХВ-Петербург, 2014. - 448 c.

    5. Секунов, Н. Программирование на C++ в Linux / Н. Секунов. - М.: БХВ-Петербург, 2016. - 425 c.

    6. Сидорина, Татьяна Самоучитель Microsoft Visual Studio C++ и MFC / Татьяна Сидорина. - М.: "БХВ-Петербург", 2014. - 848 c.




    написать администратору сайта