Разработка программы информационного поиска студентов по заданным критериям с возможностью шифрования данных

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: C++
  • 25 25 страниц
  • 12 + 12 источников
  • Добавлена 11.05.2023
1 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
1. Конституция Российской Федерации (принята всенародным голосованием 12.12.1993) (с учетом поправок, внесенных Законами РФ о поправках к Конституции РФ от 30.12.2008 N 6-ФКЗ, от 30.12.2008 7-ФКЗ, от 05.02.2014 2-ФКЗ, от 01.07.2020 11-ФКЗ) // Собрание законодательства РФ, 01.07.2020, 31, ст. 4398
2. Федеральный закон РФ от 23.08.1996 г. 127-ФЗ «О науке и государственной научно-технической политике» в редакции от 17.02.2023 19//Консультант Плюс: https://www.consultant.ru/document/cons_doc_LAW_11507/ (дата обращения 03.04.2023)
3. Федеральный закон от 25.02.1999 39-ФЗ (ред. от 02.08.2019) «Об инвестиционной деятельности в Российской Федерации, осуществляемой в форме капитальных вложений». [Электронный ресурс]. URL: http://www.consultant.ru/document/cons_doc_LAW_22142/ (дата обращения 03.04.2023)
4. Указ Президента Российской Федерации от 7 мая 2018 г. 204 «О национальных целях и стратегических задачах развития Российской Федерации на период до 2024 года» https://www.consultant.ru/document/cons_doc_LAW_297432/ (дата обращения 03.04.2023)
5. Стратегия инновационного развития РФ на период до 2030 года, от 08.12.2011 года 2227-р в редакции от 18.10.2018 года http://www.consultant.ru/document/cons_doc_LAW_123444/ (дата обращения 03.04.2023)
6. Постановление Об утверждении государственной программы РФ «Экономическое развитие и инновационная экономика РФ» на 2020 - 2027 годы [Электронный ресурс]. URL: http://kodeks.karelia.ru/api/show/561664364 (дата обращения 03.04.2023)
7. Андрианов А.Ю., Воробьев П.В., Валдайцев С.В. Инвестиции: учебное пособие / А.Ю. Андрианов, П.В. Воробьев, С.В. Валдайцев - М.: Проспект,- 2019 г. - 592 c
8. Евграфова И.Ю., Красникова Е.О. Инновационный менеджмент: учебное пособие/ И.Ю. Евграфова, Е.О. Красникова.- М.: Т8. – 2022 г. - 42 с
9. И.А. Брусакова Теоретическая инноватика : учебное пособие и практикум / И. А. Брусакова . – М. : Юрайт, 2021. – 333 с
10. Лапин Н. И. Теория и практика инноватики : учебное пособие / Н. И. Лапин, В. В. Карачаровский. – 2-е изд. – М. : Юрайт, 2021. – 350 с
11. Жданкин Н.А. Инновационный менеджмент: учебное пособие/ Н.А. Жданкин.- М.: Кнорус. – 2023 г. – 314 с
12. Шеве Г., Хюзиг С., Гумерова Г.И. Инновационный менеджмент цифровой экономики: учебное пособие/ Г. Шеве, С. Хюгиз С., Г.И. Гумерова.- М.: Кнорус. – 2023 г. - 308 с
13. Соколова О.Н. Инновационный менеджмент: учебное пособие/ О.Н. Соколова.- М.: Кнорус. – 2022 г. - 208 с
14. Липсиц И.В., Коссов В.В. Экономический анализ реальных инвестиций: учебное пособие / И.В. Лисицин, В.В. Коссов. – М.: Экономистъ, 2018. – 347с.
15. Рейтинг инноваций регионов РФ [Электронный ресурс]. URL.: https://region.hse.ru/rankingid19 (дата обращения 03.04.2023)
16. Соломатина А.Н. Экономика, анализ и планирование на предприятии: учебное пособие / А.Н. Соломатина. - М.: Питер,- 2019 г. - 560 c.
17. Скрупская А.Б., Угольков М.С. Влияние прямых иностранных инвестиций на деятельность российских компаний: научная статья / А.Б. Скрупская, М.С. Угольков. [Электронный ресурс]. URL.: https://cyberleninka.ru/article/n/vliyanie-pryamyh-inostrannyh-investitsiy-na-deyatelnost-rossiyskih-kompaniy (дата обращения 03.04.2023)
18. Статистические сборник Росстата «Инвестиции в России» за 2021 год [Электронный ресурс]. URL.: https://www.gks.ru/storage/mediabank/Invest_2021.pdf (дата обращения 03.04.2023)
19. ФГБНУ НИИ РИНКЦЭ «Инновационное развитие РФ в 2020 году – Дальневосточный федеральный округ» 2021 г.
20. Хазанович Э.С. Инвестиции: учебное пособие / Э.С. Хазанович. - М.: Кнорус,- 2020 г. - 318 c
21. Чиненов М.В., Хрусталева Н.А., Зозуля В.И. Инвестиции: учебное пособие / М.В. Чиненов, Н.А. Хрусталева, В.И. Зозуля. - М.: Кнорус,- 2019 г. - 366 c
22. Шарп У.Ф., Бэйли Д.В., Александер Г.Дж. Инвестиции: учебное пособие / перевод Буренина А.Н., Васина А.А. -М.: ИНФРА-М.- 2018 г, 1028 с.
23. Юзвович Л.И., Князева Е.Г., Разумовская Е.А. Инвестиции: учебное пособие / Л.И. Юзвович, Е.Г. Князева, Е.А. Разумовская. - М.: Флинта,- 2020 г. - 612 c
24. Global Innovation Index 2021 [Электронный ресурс]. URL: https://www.wipo.int/global_innovation_index/en/2021/ (дата обращения 03.04.2023)
25. Рустамова Д.Д. Факторы развития инновационной деятельности на современном этапе развития экономики: опыт развитых стран [Электронный ресурс]. URL: https://cyberleninka.ru/article/n/faktory-razvitiya-innovatsionnoy-deyatelnosti-na-sovremennom-etape-razvitiya-ekonomiki-opyt-razvityh-stran (дата обращения 03.04.2023)

Фрагмент для ознакомления

getStudL()[stp.second].getRBook() << " " <-------------------------" << endl;cout << "1. Успеваемость" << endl;cout << "2. Студенты" << endl;cout << "3. Добавить студента" << endl;cout << "4. Добавить группу" << endl;cout << "5. Перечень факультетов" << endl;cout << "6. Перечень кафедр" << endl;cout << "7. Перечень предметов" << endl;cout << "8. Перечень групп" << endl;cout << "0. Выход" << endl << "===>";cin >> ch;switch (ch){ case 0:return;case 1:// УспеваемостьscoreMenu();break;case 2:// СтудентыshowStudList();break;case 3:// ДобавитьстудентаaddStudent();break;case 4:// Добавитьгруппуcout << "Введитегруппу: "; getline(cin, str); getline(cin, str);cout << "Добавлено: " << db.getGroup(str) << endl;break;case 5:// Факультетыfor (string s : db.getCat().getFL()) cout << s << endl;break;case 6:// Кафедрыfor (string s : db.getCat().getDL()) cout << s << endl;break;case 7:// Предметыfor (string s : db.getCat().getSL()) cout << s << endl;break;case 8:// Группыfor (string s : db.getCat().getGL()) cout << s << endl;break;}}}int main(){SetConsoleCP(811);// для Русского текстаSetConsoleOutputCP(811);setlocale(LC_ALL, "rus");db.Load();mainMenu();/* +D+db.addStudent(eStudent("Гарри", "Поттер", "Джеймсович", 10, 8, 1995,db.getFaculty("Грифиндор"), db.getDep("ФакультетМакгонагал"),db.getGroup("ГР 2021"), 2021, 'М', "0001")); /**//* +D+ db.addSession(eSession(1, db.getSubject("Зельеваренье"), db.getStudN("0001"), 3)); */db.Save();}Исходный код заголовочного файла mdb.h#ifndef mdbH// База данных#define mdbH#include #include #include "Student.h"#include "Catalog.h"#include "Session.h"using namespace std;class mdb {// Базаданныхprivate:bool autosave;// Автосохранение при закрытииstring dbname;// Файл БДeCatalog cat;// Справочникиvector stud;// Список студентовvector sess;// Список записей сессийmap> grpstud;// Студенты по группам map<группа, список студентов>map grpfac;// К какому факультету принадлежит группаpublic: mdb(string _dbname, bool _autosave=false); // Конструктор~mdb();// Деструкторvoid addStudent(eStudent _stud);void addSession(eSession _sess);size_t getFaculty(string s) { return cat.getFaculty(s); }size_t getGroup(string s) { return cat.getGroup(s); }size_t getDep(string s) { return cat.getDep(s); }size_t getSubject(string s) { return cat.getSubject(s); }eCatalog& getCat() { return cat; }// Получитькаталогvector& getStudL() { return stud; }// Получитьсписокстудентовvector& getSessL() { return sess; }// Получитьсписоксессийvector& getGroupList(size_t n) { return grpstud[n]; }size_t getFG(size_t g) { return grpfac[g]; }eStudent getStudent(string _zach);// Студентпономерузачеткиsize_t getStudN(string _zach);// Номерстудентаvoid Load();void Save();};#endifИсходный код главного модуля mdb.cpp#include "pch.h"// Для VS 2017#include #include #include "mdb.h"using namespace std;mdb::mdb(string _dbname, bool _autosave)// Конструктор{dbname = _dbname; autosave = _autosave;}mdb::~mdb()// Деструктор{if (!autosave) return;Save();}eStudent mdb::getStudent(string _zach)// Студентпономерузачетки{for (eStudent s : stud)if (s.getRBook() == _zach) return s;return eStudent();}size_t mdb::getStudN(string _zach)// Номерстудента{for (vector::iterator it = stud.begin(); it != stud.end();it++)if (it->getRBook() == _zach) return distance(stud.begin(), it);return -1;}void mdb::addStudent(eStudent _stud)// Добавитьстудента{stud.push_back(_stud);grpstud[_stud.getGroup()].push_back(stud.size()-1);// Занестивгруппуif (grpfac.find(_stud.getGroup())==grpfac.end())grpfac[_stud.getGroup()]=_stud.getFactulty();// Добавитьсвязьгруппа-факультет}void mdb::addSession(eSession _sess)// Добавитьрезультатсессии{sess.push_back(_sess);}void mdb::Load()// ЗагрузкаБД{ifstream sin(dbname,ios::in);size_t n; string str;sin >> n; getline(sin, str);// Загрузкафакультетаfor (size_t i = 0; i < n; i++){ getline(sin,str);cat.addFaculty(str); }sin >> n; getline(sin, str);// Загрузкакафедрыfor (size_t i = 0; i < n; i++){ getline(sin, str);cat.addDep(str); }sin >> n; getline(sin, str);// Загрузкагруппаfor (size_t i = 0; i < n; i++){ getline(sin, str);cat.addGroup(str); }sin >> n; getline(sin, str);// Загрузкапредметыfor (size_t i = 0; i < n; i++){ getline(sin, str);cat.addSubject(str); }sin >> n; getline(sin, str);// Загрузкастудентаfor (size_t i = 0; i < n; i++) addStudent(eStudent(sin));sin >> n; getline(sin, str);// Загрузка результатов сессийfor (size_t i = 0; i < n; i++) addSession(eSession(sin));sin.close();}void mdb::Save()// СохранениеБД{ //dbname = "meagabase.v2"; // +D+ofstream sout(dbname,ios::out);sout << cat.getCountF() << endl;// Факультетыfor (string fc : cat.getFL()) sout << fc << endl;sout << cat.getCountD() << endl;// Кафедрыfor (string dep : cat.getDL()) sout << dep << endl;sout << cat.getCountG() << endl;// Группыfor (string grp : cat.getGL()) sout << grp << endl;sout << cat.getCountS() << endl;// Предметыfor (string sbj : cat.getSL()) sout << sbj << endl;sout << stud.size() << endl;// Студентыfor (eStudent st : stud){sout << st.getRBook() << endl;sout << st.getName() << endl;sout << st.getSurn() << endl;sout << st.getMidn() << endl;sout << st.getBirth() << endl;sout << st.getGender() << endl;sout << st.getFactulty() << " " << st.getDep() << " " << st.getGroup() << endl;sout << st.getAdmis() << endl;}sout << sess.size() << endl;// Сессииfor (eSession s : sess) sout << s.getSess() << " " << s.getStudent() << " " << s.getSubj() << " " << s.getScore() << endl;sout.close();}Исходный код заголовочного файлаcatalog.h#ifndef CatalogH// Студенты#define CatalogH#include #include using namespace std;// Справочникиclass eCatalog {private:vector FacultyList;vector GroupList;vector DepartmentList;vector SubjectList;public://eCatalog() { InitCatalog(); }void InitCatalog();size_t getCountF() { return FacultyList.size(); }size_t getCountG() { return GroupList.size(); }size_t getCountD() { return DepartmentList.size(); }size_t getCountS() { return SubjectList.size(); }vector& getFL() { return FacultyList; }vector& getGL() { return GroupList; }vector& getDL() { return DepartmentList; }vector& getSL() { return SubjectList; }size_t getFaculty(string s);size_t getGroup(string s);size_t getDep(string s);size_t getSubject(string s);void addFaculty(string _val) { FacultyList.push_back(_val); }void addGroup(string _val) { GroupList.push_back(_val); }void addDep(string _val) { DepartmentList.push_back(_val); }void addSubject(string _val) { SubjectList.push_back(_val); }};#endifИсходный код модуля catalog.cpp#include "pch.h"// Для VS 2017#include "Catalog.h"void eCatalog::InitCatalog(){FacultyList.push_back("Грифиндор");FacultyList.push_back("Когтевран");FacultyList.push_back("Пуфендуй");FacultyList.push_back("Слизерин");GroupList.push_back("ГР 2020");GroupList.push_back("ГР 2021");GroupList.push_back("ГР 2022");GroupList.push_back("КГ 2021");GroupList.push_back("КГ 2022");GroupList.push_back("ПД 2020");GroupList.push_back("СЛ 2021");GroupList.push_back("СЛ 2022");DepartmentList.push_back("ФакультетСнегга");DepartmentList.push_back("ФакультетМакгонагал");DepartmentList.push_back("ФакультетФлитвика");DepartmentList.push_back("ФакультетТрюк");DepartmentList.push_back("ФакультетТрелони");SubjectList.push_back("Зельеваренье");SubjectList.push_back("Трансфигурация");SubjectList.push_back("Колдунство");SubjectList.push_back("Упражнениясметлами");SubjectList.push_back("Предсказания");}size_t eCatalog::getFaculty(string s){std::vector::iterator it=find(FacultyList.begin(), FacultyList.end(), s);if (it!=FacultyList.end()) return distance(FacultyList.begin(), it);FacultyList.push_back(s);return FacultyList.size() - 1;}size_t eCatalog::getGroup(string s){std::vector::iterator it = find(GroupList.begin(), GroupList.end(), s);if (it != GroupList.end()) return distance(GroupList.begin(), it);GroupList.push_back(s);return GroupList.size() - 1;}size_t eCatalog::getDep(string s){std::vector::iterator it = find(DepartmentList.begin(), DepartmentList.end(), s);if (it != DepartmentList.end()) return distance(DepartmentList.begin(), it);DepartmentList.push_back(s);return DepartmentList.size() - 1;}size_t eCatalog::getSubject(string s){std::vector::iterator it = find(SubjectList.begin(), SubjectList.end(), s);if (it != SubjectList.end()) return distance(SubjectList.begin(), it);SubjectList.push_back(s);return SubjectList.size() - 1;}Исходный заголовочного файлаsession.h#ifndef SessionH// Сессия#define SessionH#include #include "Student.h"// Сессияclass eSession{private:int session;// Номерсессииsize_t subject;// Номерпредметаsize_t student;// Номерстудентаint score;// Оценкаpublic:eSession(int _sess, size_t _subj, size_t _stud, int _score) { session = _sess; subject = _subj; student = _stud; score = _score; }eSession(ifstream& sin);int getSess() { return session; }size_t getSubj() { return subject; }size_t getStudent() { return student; }int getScore() { return score; }};#endifИсходныйкодмодуляsession.cpp#include "pch.h"// Для VS 2017#include #include "Session.h"eSession::eSession(ifstream& sin){string s;sin >> session >> student >> subject >> score; getline(sin,s);}Исходныйкодзаголовочного файлаstudent.h#include "pch.h"// Для VS 2017#include #include "Session.h"eSession::eSession(ifstream& sin){string s;sin >> session >> student >> subject >> score; getline(sin,s);}Исходныйкодмодуляstudent.cpp#include "pch.h"// Для VS 2017#include #include "Student.h"// КонструкторeStudent::eStudent(string _name, string _surn, string _midn, int _bday, int _bmon, int _byear,size_t _fc, size_t _dep, size_t _group, int _ayear, char _gender, string _rbook){name = _name; surn = _surn; midn = _midn;fc = _fc; dep = _dep; group = _group; admis = _ayear; gender = _gender; rbook = _rbook;birth = {};// Месяц от 0, год от 1900birth.tm_mday = _bday; birth.tm_mon = _bmon-1; birth.tm_year = _byear-1900;}eStudent::eStudent(ifstream& sin){string str;getline(sin, rbook);getline(sin, name);getline(sin, surn);getline(sin, midn);birth = {};sin >> birth.tm_mday >> birth.tm_mon >> birth.tm_year; birth.tm_mon--; birth.tm_year -= 1900; getline(sin, str);// Месяцот 0, годот 1900sin >> gender; getline(sin, str);sin >> fc >> dep >> group; getline(sin, str);sin >> admis; getline(sin, str);}string eStudent::getBirth(){ char bstr[11];strftime(bstr, 11, "%d %m %Y", &birth);return bstr; }

1. ООП. URL: https://blog.skillfactory.ru/glossary/oop-obektno-orientirovannoe-programmirovanie/
2. Как ООП помогает разработчикам писать код быстрее и проще. URL: https://practicum.yandex.ru/blog/obektno-orientirovannoe-programmirovanie/
3. Коротко об истории объектно-ориентированного программирования. URL: https://habr.com/ru/post/107940/
4. Раздел 10. «Эпизодическое» объектно-ориентированное программирование. URL: http://ermak.cs.nstu.ru/cprog/html/101.htm
5. Что такое объекты и классы: 1‑я часть гайда по ООП. URL: https://skillbox.ru/media/code/oop_chast_1_chto_takoe_klassy_i_obekty/?ysclid=lfvf0552x4622996203
6. Особенности моделирования предметной области с помощью ООП. URL: https://habr.com/ru/post/249165/
7. Объектно-ориентированное программирование. URL: https://prog-cpp.ru/oop/
8. Полиморфизм. URL: https://learn.microsoft.com/ru-ru/dotnet/csharp/fundamentals/object-oriented/polymorphism
9. Проектирование классов и наследование. URL: http://www.programmer-lib.ru/cstandart_page.php?id=15
10. Построение иерархии классов и проектирование приложения. URL: https://foxford.ru/wiki/informatika/postroenie-ierarhii-klassov-i-proektirovanie-prilozheniya
11. Стандартная библиотека шаблонов STL. URL: http://techn.sstu.ru/kafedri/%D0%BF%D0%BE%D0%B4%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F/1/MetMat/murashev/oop/lec/lec11.htm
12. Класс vector. URL: https://learn.microsoft.com/ru-ru/cpp/standard-library/vector-class?view=msvc-170


Вопрос-ответ:

Какая информация содержится в Конституции Российской Федерации?

Конституция Российской Федерации содержит основные принципы и нормы, определяющие организацию и функционирование государства. В ней закреплены основные права и свободы граждан, установлены принципы разделения властей, а также определены основные полномочия правительства и федеральных органов власти.

Какая дата принятия Конституции Российской Федерации?

Конституция Российской Федерации была принята всенародным голосованием 12 декабря 1993 года.

Какие поправки внесены в Конституцию Российской Федерации?

В Конституцию Российской Федерации были внесены поправки Законами РФ о поправках к Конституции РФ от 30 декабря 2008 года № 6 (ФКЗ от 30.12.2008 № 7) и от 5 февраля 2014 года (ФКЗ от 05.02.2014 № 11). Также был внесен Федеральный закон РФ от 1 июля 2020 года № 11 (ФКЗ Собрание законодательства РФ 01.07.2020 № 31 ст. 4398).

О чем говорит Федеральный закон РФ "О науке и государственной научно-технической политике"?

Федеральный закон РФ "О науке и государственной научно-технической политике" устанавливает правовые и организационные основы государственной научно-технической политики в Российской Федерации. Он определяет порядок финансирования научной и научно-технической деятельности, а также устанавливает права и обязанности научных организаций и их сотрудников.

Какие принципы разделения властей установлены в Конституции Российской Федерации?

В Конституции Российской Федерации установлены принципы разделения властей на законодательную, исполнительную и судебную. Законодательная власть осуществляется Федеральным Собранием Российской Федерации, исполнительная - Президентом Российской Федерации и Правительством Российской Федерации, судебная - судами Российской Федерации.

Какая информация содержится в данной статье?

В статье описывается разработка программы информационного поиска студентов по заданным критериям с возможностью шифрования данных. Также упоминается принятие Конституции Российской Федерации всенародным голосованием, а также поправки, внесенные в Конституцию РФ. Также говорится о федеральных законах, касающихся науки и государственной научно-технической деятельности.

Какими критериями можно искать студентов в программе?

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

Что такое шифрование данных?

Шифрование данных – это процесс преобразования информации с использованием специальных алгоритмов, чтобы сделать ее непонятной для посторонних лиц, не имеющих ключа для расшифровки. В данной программе предлагается возможность шифрования данных студентов, что обеспечивает их защиту от несанкционированного доступа.

Когда была принята Конституция Российской Федерации?

Конституция Российской Федерации была принята всенародным голосованием 12 декабря 1993 года. В последующие годы Конституция была дополнена и изменена поправками, внесенными различными законами РФ.