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

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: C++
  • 20 20 страниц
  • 9 + 9 источников
  • Добавлена 07.05.2023
1 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. ПОСТАНОВКА ЗАДАЧИ 4
2. ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ 6
2.1 Паттерн MVC 6
2.2 Язык программирования С 7
2.3 Среда Microsoft Visual Studio 8
2.4 Диаграмма модулей и классов 9
3. ТЕСТИРОВАНИЕ ГОТОВОЙ ПРОГРАММЫ 12
ЗАКЛЮЧЕНИЕ 14
СПИСОК ИСОЛЬЗОВАННЫХ ИСТОЧНИКОВ 15
ПРИЛОЖЕНИЕ 16
Фрагмент для ознакомления

– URL: https://tproger.ru/blogs/jvm-insidesЗнакомство с Visual Studio. URL: https://learn.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2022Buy Visual Studio. URL: https://visualstudio.microsoft.com/vs/pricing/ПРИЛОЖЕНИЕПрограммный модуль Fitness.cpp#include "pch.h"// Для Visual Studio 2017#include "fView.h"#include "fControl.h"using namespace std;intmain()// Начало работы{fQuizletrun;// Инициализация опросникаfViewview;// Отображениеview.show("Вперед к здоровью!");view.show("Ответьте на ряд вопросов:");run.runQuiz(view);// Запуск опросникаview.show("Рекомендации к тренировке:");// Вывод результатаview.show(run.getResult());}Программный модульfContol.cpp#include "pch.h"// Для Visual Studio 2017#include "fModel.h"#include "fView.h"#include "fControl.h"voidfQuizlet::runQuiz(fView view)// Запускопросника{cQuess = 0;// Начинаем с првогоsize_tn=0;while (cQuess<-1)// Задаем вопросы до последнего или выхода{view.ShowQuess(quiz.getQuess(cQuess));n = view.getAnsw();if (n == -1)// Конецопроса{builtResult += "Не сдавайтесь! Вернитесь к опросу позже!\r\n";break;}// ДобавитьрекомендациюbuiltResult += quiz.getQuess(cQuess).getAnsw(n).getResult()+"\r\n";// К следующемувопросуcQuess = quiz.getQuess(cQuess).getAnsw(n).getNext();}}Заголовочный файлfControl.h// Модуль отвечает за взаимодействие модели с модулем взаимодействия с пользователем//#ifndeffControlH#definefControlH#include "fModel.h"classfQuizlet {// Модуль управления проведением опросаprivate:fQuizquiz;// Опросникsize_tcQuess;// текущий вопросstd::stringbuiltResult;// Результатанкетыpublic:fQuizlet() { builtResult.clear(); cQuess = 0; }// КонструкторvoidrunQuiz(fView view);// Запусканкетыstd::stringgetResult() { return builtResult; }// Получитьрезультат};#endifПрограммный модульfView.cpp#include "pch.h"// Для Visual Studio 2017#include "fView.h"#include "fModel.h"#include #include #include #include // Для русского языкаusingnamespacestd;// Для ввода/вывода классы stdfView::fView()// Инициализация вывода{SetConsoleCP(811);// для Русского текстаSetConsoleOutputCP(811);setlocale(LC_ALL, "rus");}voidfView::ShowQuess(fQuess& q)// Показатьвопрос{maxval = q.getCount();cout << q.getQuess() << endl;for (size_ti = 0; i < maxval; i++)cout << (i+1) << ". " << q.getAnsw(i).getAnsw() << endl;}size_tfView::getAnsw()// Выбрать вариант ответа{int n;do {std::cout << "Ваш вариант (1-" << maxval << ", 0 - выход): ";cin >> n;} while (n < 0 || size_t(n) > maxval);return n-1;}voidfView::show(string text){cout << text << endl;}ЗаголовочныйфайлfView.h// Модуль отвечает за ввод/вывод данных и взаимодействие с пользователем//#ifndeffViewH#define fViewH#include "fModel.h"classfView {// Класс содержащий методы ввода/выводаprivate:size_tmaxval;// Количество ответов в показанном вопросеpublic:fView();void show(std::string text);// выводтекстаvoidShowQuess(fQuess& q);// Показатьвопросsize_tgetAnsw();// Выбратьвариантответа};#endifПрограммный модуль fModel.cpp#include "pch.h"// ДляVisuzl Studio 2017#include #include #include "fModel.h"fAnsw::fAnsw() // Конструктор по умолчанию{ answ.clear(); result.clear(); next = -1; }fAnsw::fAnsw(std::string _answ)// Конструктор с текстом ответа{ answ = _answ; result.clear(); next = -1;}// Конструктор с текстом ответа и результатомfAnsw::fAnsw(std::string _answ, std::string _result){ answ = _answ; result = _result; next = -1;}// Конструктор с текстом ответа, результатом и уточнениемfAnsw::fAnsw(std::string _answ, std::string _result, size_t _next){ answ = _answ; result = _result; next = _next;}fQuiz::fQuiz()// Постороениеопросника{quess.clear();quess.push_back(fQuess("Какое направление тренировок вас привлекает:")); // 0quess.push_back(fQuess("Уточните вариант силовой тренировки:"));// 1quess.push_back(fQuess("Уточните вариант кардио тренировки:"));// 2quess.push_back(fQuess("Уточните вариант гимнастической тренировки:"));// 3quess.push_back(fQuess("Планируются водные процедуры после тренировки:"));// 4quess.push_back(fQuess("Определились со временем тренировки:"));// 5quess[0].addAnsw(fAnsw("Силовая","белковый коктейль",1));// Ответы вопроса 0quess[0].addAnsw(fAnsw("Кардио","воды без газа",2));quess[0].addAnsw(fAnsw("Гимнастическая","мазь от растяжений",3));quess[0].addAnsw(fAnsw("Ничего из вышеперечисленного", "встаньте на весы перед зеркалом"));quess[1].addAnsw(fAnsw("Бодибилдинг","перчатки",4));// Ответы вопрос 1quess[1].addAnsw(fAnsw("Пауэрлифтинг","силовой пояс",4));quess[2].addAnsw(fAnsw("Беговые тренажеры","кросовки",4));// Ответы вопрос 2quess[2].addAnsw(fAnsw("Велотренинг","штаны без наждачки",4));quess[3].addAnsw(fAnsw("Аэробика","вода",4));// Ответы вопрос 3quess[3].addAnsw(fAnsw("Йога","коврик",4));quess[4].addAnsw(fAnsw("Бассейн", "шапочка", 5));// Ответы вопрос 4quess[4].addAnsw(fAnsw("Душ", "полотенце", 5));quess[4].addAnsw(fAnsw("Нет", "а зря, придете домой - примите ванну", 5));quess[5].addAnsw(fAnsw("да", "В путь!"));// Ответы вопрос 5 - финальныйquess[5].addAnsw(fAnsw("нет", "Не затягивайте с планированием времени!"));}fQuess& fQuiz::getQuess(size_t n){returnquess[n];}ЗаголовочныйфайлfControl.h// Модуль содержит бизнес логику приложения://Вопросы пользователя//Ответы пользователя//#ifndeffModelH#define fModelH#include #include classfAnsw// Вариант ответа на вопрос{private:std::stringansw;// Текстответаstd::string result;// Результатsize_t next;// Уточняющийвопросpublic:fAnsw(); // КонструкторыfAnsw(std::string _answ);fAnsw(std::string _answ, std::string _result);fAnsw(std::string _answ, std::string _result, size_t _next);std::stringgetAnsw() { return answ; }// Геттерыstd::stringgetResult() { return result; }size_tgetNext() { return next; }};classfQuess// Один вопрос анкеты{private:std::stringquess;// Текствопросаstd::vector answ;// Списокответовpublic:fQuess() { quess.clear(); }// КонструкторfQuess(std::string _quess) { quess = _quess; ; answ.clear(); }voidaddAnsw(fAnsw _answ) { answ.push_back(_answ); }// Добавлениеответаstd::stringgetQuess() { return quess; }// Геттерыsize_tgetCount() { return answ.size(); }fAnswgetAnsw(size_t n) { return n quess;// списоквопросовpublic:fQuiz();// КонструторfQuess& getQuess(size_t n);};#endif

СПИСОК ИСОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Архитектурный паттерн MVC. URL: https://doka.guide/js/architecture-mvc/
Общие сведения об ASP.NET MVC. URL: https://learn.microsoft.com/ru-ru/aspnet/mvc/overview/older-versions-1/overview/asp-net-mvc-overview
Фронтенд или бэкенд: по какому пути в разработке пойти. URL: https://practicum.yandex.ru/blog/chem-otlichaetsya-backend-i-frontend/
Кому и для чего нужен C++. URL: https://blog.skillfactory.ru/cplus-komu-i-dlya-chego-nuzhen/
TIOBE Index. URL: https://www.tiobe.com/tiobe-index/
Особенности работы CLR в .NET Framework [Электронный ресурс]. – URL: https://habr.com/ru/post/90426
Как работает виртуальная машина Java — взгляд изнутри [Электронный ресурс]. – URL: https://tproger.ru/blogs/jvm-insides
Знакомство с Visual Studio. URL: https://learn.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2022
Buy Visual Studio. URL: https://visualstudio.microsoft.com/vs/pricing/

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

Какой язык программирования использовался для создания виртуального помощника?

Для создания виртуального помощника использовался язык программирования C#.

Какая среда разработки была использована для создания виртуального помощника?

Для создания виртуального помощника была использована среда Microsoft Visual Studio.

Каким образом виртуальный помощник помогает выбрать фитнес клуб?

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

Какие задачи решает виртуальный помощник для фитнеса?

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

Как выглядит диаграмма модулей и классов виртуального помощника?

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

Какой помощь можно получить от виртуального помощника для планирования занятий фитнесом?

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

Какие технологии использовались для создания виртуального помощника для планирования занятий фитнесом?

Для создания виртуального помощника были использованы следующие технологии: паттерн MVC для организации структуры приложения, язык программирования С# для разработки кода, среда Microsoft Visual Studio для комфортной работы с проектом. Для визуализации структуры приложения была создана диаграмма модулей и классов.

Как можно протестировать готовую программу виртуального помощника для планирования занятий фитнесом?

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

Какие источники использовались при разработке виртуального помощника для планирования занятий фитнесом?

При разработке виртуального помощника были использованы различные источники, включая статьи и блоги, где рассказывается о принципах планирования занятий фитнесом, о технологиях разработки приложений и о тестировании программ. Некоторые из источников включают в себя TProger.ru и JVM Insides.