Курсовая работа по дисциплине Разработка кода информационных систем
Скачать 165.96 Kb.
|
Заключение Результатом выполнения курсового проекта является готовый программный продукт, для обслуживания коменданта общежития. Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментов. Данные продукты позволяют разрабатывать как консольные приложения, так и игры и приложения с графическим интерфейсом.C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений. Эффективное использование компьютеров для решения инженерных и научных задач невозможно без знаний основных методов составления схем алгоритмов, написания эффективного программного обеспечения на языке программирования, использования пакетов программ инженерной графики, использования математических систем. Данная программа помогает коменданту в заполнении и хранении данных о студентах живущих в общежитии. Программа может использоваться в общежитии для помощи в работе коменданту, в заполнении и хранении данных о студентах живущих в общежитии. Список используемых источников Бедердинова О. И. Моделирование информационных систем на платформе SOFTWARE IDEAS MODELER: учеб. пособие / О.И. Бедердинова, Л.В. Кремлева, С.В. Протасова. – М.: ИНФРА-М, 2021. - 166 с. - ISBN 978-5-16-107692-7. - Текст: электронный. - URL: https://znanium.com/catalog/product/1020362. Беленькая М. Н. Администрирование в информационных системах / М. Н. Беленькая, С. Т. Малиновский, Н. В. Яковенко. – М.: Горячая линия-Телеком, 2020. - 408 с. - ISBN 978-5-9912-0418-7. - Текст: электронный. - URL: https://znanium.com/catalog/product/1195564. Всяких Е. И. Практика и проблематика моделирования бизнес-процессов / Всяких Е.И., Зуева А.Г., Носков Б.В., - 2-е изд., (эл.) – М.: ДМК Пресс, 2020. - 248 с. - (ИТ-Экономика) ISBN 978-5-93700-038-5. - Текст: электронный. - URL: https://znanium.com/catalog/product/982405. Гагарина Л. Г. Технология разработки программного обеспечения: учебное пособие / Л.Г. Гагарина, Е.В. Кокорева, Б.Д. Сидорова-Виснадул ; под ред. Л.Г. Гагариной. – М.: ФОРУМ: ИНФРА-М, 2021. - 400 с. - (Среднее профессиональное образование). - ISBN 978-5-8199-0812-9. - Текст: электронный. - URL: https://znanium.com/catalog/product/1189951. Голицына О. Л. Информационные системы: учебное пособие / О. Л. Голицына, Н. В. Максимов, И. И. Попов. - 2-е изд. – М.: ФОРУМ: ИНФРА-М, 2021. - 448 с.: - ISBN 978-5-91134-833-5. - Текст: электронный. - URL: https://znanium.com/catalog/product/953245. Гончаренко А. Н. Интегрированные информационные системы: учебное пособие / А. Н. Гончаренко. – М.: Изд. Дом НИТУ «МИСиС», 2020. - 74 с. - ISBN 978-5-907061-24-8. - Текст: электронный. - URL: https://znanium.com/catalog/product/1232222. Золотухина Е. Б. Моделирование бизнес-процессов: Конспект лекций / Золотухина Е.Б., Красникова С.А., Вишня А.С. – М.: КУРС, НИЦ ИНФРА-М, 2021. - 79 с. ISBN 978-5-906818-12-6. - Текст: электронный. - URL: https://znanium.com/catalog/product/767202. Золотухина Е. Б. Управление жизненным циклом информационных систем: Конспект лекций / Золотухина Е.Б., Красникова С.А., Вишня А.С. – М.: КУРС, НИЦ ИНФРА-М, 2020. - 119 с.: ISBN 978-5-906818-36-2. - Текст: электронный. - URL: https://znanium.com/catalog/product/767219. Ильин В. В. Моделирование бизнес-процессов. Практический опыт разработчика: Пособие / Ильин В.В., - 4-е изд., (эл.) – М.: Интермедиатор, 2020. - 252 с.: ISBN 978-5-91349-056-8. - Текст: электронный. - URL: https://znanium.com/catalog/product/981932. Карпович Е. Е. Жизненный цикл программного обеспечения: лабораторный практикум / Е. Е. Карпович. – М.: Изд. Дом МИСиС, 2020. - 130 с. - Текст: электронный. - URL: https://znanium.com/catalog/product/1232186/ Кожаринов А. С. Моделирование и анализ информационных и бизнес-процессов в информационных системах / А. С. Кожаринов. – М.: Изд. Дом НИТУ «МИСиС», 2021. - 27 с. - Текст: электронный. - URL: https://znanium.com/catalog/product/1232212. Лычкина Н. Н. Имитационное моделирование экономических процессов: учеб. пособие / Н.Н. Лычкина. - М.: ИНФРА-М, 2020. - 254 с. - www.dx.doi.org/ 10.12737/724. - ISBN 978-5-16-004675-4. - Текст: электронный. - URL: https://znanium.com/catalog/product/933890 Пушкарёва Т. П. Основы компьютерной обработки информации: Учебное пособие / Пушкарёва Т.П. - Красноярск: СФУ, 2021. - 180 с.: ISBN 978-5-7638-3492-5. - Текст: электронный. - URL: https://znanium.com/catalog/product/967586. Пятецкий В. Е. Моделирование и регламентация бизнес-процессов с использованием Business Studio 4: практикум / В. Е. Пятецкий, Л. Н. Калошина, М. А. Поддубный. – М.: Изд. Дом НИТУ «МИСиС», 2020. - 77 с. - ISBN 978-5-906846-58-7. - Текст: электронный. - URL: https://znanium.com/catalog/product/1257407 Федорова Г. Н. Разработка, внедрение и адаптация программного обеспечения отраслевой направленности: учебное пособие / Г. Н. Федорова. – М.: КУРС: ИНФРА-М, 2021. - 336 с. - (Среднее профессиональное образование). - ISBN 978-5-906818-41-6. - Текст: электронный. - URL: https://znanium.com/catalog/product/1138896 Приложения Приложение 1 Листинг программы #include #include #include #include #include #include #include using namespace std; // описание нашей структуры struct hospital { char surname[20]{}; // Фамилия Студента double age = 0; // Возраст int pressure = 0; // Пол char gender[25]{}; // Номер комнаты }; int MenuInput(); void PrintMenu(); void PrintHeadTable(); void PrintEndTable(); void Print(hospital* ap, int* counter); void Recording(ofstream* file); void Viewing(ifstream* file); void Clear(ofstream* file); bool Check_correctly(int x); void ByOption(ifstream* file); // функция, которая устанавливает нужный цвет для текста (взял просто из методички, а почему бы и нет) void set_color(int text, int background = 0) { // Установка цветов для текста и его фона HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text)); } // функция, выводящая на экран окрашенный текст void write_colored_text(string text, int color, int background = 0) { // меняем цвет текста set_color(color, background); // выводим этот текст cout << text; // устанавливаем обратно цвет текста по умолчанию (белый) set_color(15, background); } // главная функия int main() { // делаем настройку для работы с русским языком setlocale(LC_ALL, "Rus"); ofstream fout("primer.dat", ios::out | ios::app); ifstream fin("primer.dat", ios::in | ios::app); if (!fout.is_open() or !fin.is_open()) { cout << "Ошибка открытия файла!\n"; exit(0); } fout.close(); fin.close(); short choice; do { choice = MenuInput(); switch (choice) { case 1: Recording(&fout); break; case 2: Viewing(&fin); break; case 3: ByOption(&fin); break; case 4: Clear(&fout); break; case 0: fout.close(); fin.close(); return EXIT_SUCCESS; } } while (true); system("pause"); return 0; } // выводит в консоль верхушку таблицы void PrintHeadTable() { cout << " Таблица \"Информация о студентах\" " << endl; cout << " __________________________________________________________" << endl; cout << " |" << right << setw(4) << " |" << setw(14) << " |" << setw(13) << " |" << setw(9) << " |" << setw(18) << " |\n"; cout << " | № | Ф.И.О | Возраст |Пол | Номер комнаты |" << endl; cout << " |___|_____________|____________|________|________________|" << endl; } // выводит в консоль нижнюю часть таблицы void PrintEndTable() { cout << " |___|_____________|____________|________|________________|" << endl; } // печатает строку с информацией о структуре hospital void Print(hospital* ap, int* counter) { cout << " | " << left << setw(2) << *counter << "| " << left << setw(12) << ap->surname << "| " << left << setw(11) << ap->age << "| " << left << setw(7) << ap->gender << "| " << left << setw(15) << ap->pressure << "| " << endl; (*counter)++; } // печатает цветное меню void PrintMenu() { write_colored_text("\n МЕНЮ\n", 2); write_colored_text(" • [1] Добавление студента \n", 14); write_colored_text(" • [2] Просмотр данных о студентах \n", 14); write_colored_text(" • [4] Очистка файла\n", 14); write_colored_text(" • [0] Выход \n", 14); write_colored_text("Выберите пункт: ", 15); } // организует ввод комманды (цифры 0-4) int MenuInput() { PrintMenu(); int m; do { cin >> m; // если введено НЕ число if (cin.fail()) { cin.clear(); cin.ignore(100, '\n'); system("cls"); PrintMenu(); write_colored_text("\nВы ввели не число! Повторите попытку: \n", 4); continue; } // если введено число, но не корректное, пишем об этом if (!Check_correctly(m)) { system("cls"); PrintMenu(); write_colored_text("\nВведено недопустимое число. Повторите попытку: \n", 4); continue; } return m; } while (true); return m; } // функция проверки на правильность введёной команды (что бы входило в интервал 0-4) bool Check_correctly(int x) { switch (x) { case 1: case 2: case 3: case 4: case 0: return true; default: return false; } } // функция записи(ввода) полей структуры void Recording(ofstream* file) { file->open("primer.dat", ios::out | ofstream::app); system("cls"); hospital home; do { system("CLS"); cout << "Начинайте ввод данных\n[Esc] - Завершение ввода данных\nИспользуйте это после завершения внесения данных в структуру.\n\n"; cout << "Фамилия студента: "; cin >> home.surname; cout << "Возраст: "; cin >> home.age; cout << "Пол: "; cin >> home.gender; cout << "№ Комнаты: "; cin >> home.pressure; // удаляем с потока ввода символ новой строки cin.ignore(1024, '\n'); int gets_s(home.pressure); // записываем всю нашу стуркурку в файл file->write((char*)&home, sizeof(hospital)); write_colored_text("Данные успешно записаны! [Esc] - выход.\n", 2); write_colored_text("Если хотите добавить студента нажмите [Enter].\n", 2); } while (_getch() != 27); // 27 - код кнопки Esc file->close(); system("cls"); } // просматривает и выводит информацию о всех структурах в файле в виде таблицы void Viewing(ifstream* file) { file->open("primer.dat", ios::in); system("cls"); // если файл пустой, выводим сообщение об этом if (file->peek() == EOF) write_colored_text("\nФайл пуст!\n\n", 4); else { hospital home{}; PrintHeadTable(); // счётчик для нумерации структур в таблице int counter = 1; while (file->read((char*)&home, sizeof(hospital))) { Print(&home, &counter); } PrintEndTable(); } file->close(); system("pause"); system("cls"); } // очищает файл от всей информации void Clear(ofstream* file) { // очистка происходит благодаря флагу ::trunc file->open("primer.dat", ofstream::out | ofstream::trunc); system("cls"); write_colored_text("\nФайл успешно очищен!\n\n", 2); file->close(); system("pause"); system("cls"); } void ByOption(ifstream* file) { file->open("primer.dat", ios::in | ios::app); system("cls"); // если файл пустой, выводим сообщение об этом if (file->peek() == EOF) write_colored_text("\nФайл пуст!\n\n", 4); else { int LVL = 140; // искомый этаж // флаг, проверяющий, есть ли хотя бы 1 офис, подходящий под наши условия bool flag = false; // счётчик для нумерации структур в таблице int counter = 1; hospital home{}; while (file->read((char*)&home, sizeof(hospital))) { if (LVL < home.pressure) { if (!flag) PrintHeadTable(); Print(&home, &counter); flag = true; } } if (flag) PrintEndTable(); else write_colored_text("\nТаких записей нет!\n\n", 4); } file->clear(); file->seekg(0, ios::beg); file->close(); system("pause"); system("cls"); } |