{"id":18905089,"url":"https://github.com/kontsertkishlaka/practicalwork9","last_synced_at":"2025-10-17T07:46:11.552Z","repository":{"id":259679098,"uuid":"861284209","full_name":"KontsertKishlaka/PracticalWork9","owner":"KontsertKishlaka","description":"A program demonstrating the operation of the while loop in C++.  ","archived":false,"fork":false,"pushed_at":"2024-09-25T20:46:17.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-05-31T23:16:51.852Z","etag":null,"topics":["cpp","while-cpp","while-loop"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KontsertKishlaka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-22T13:49:49.000Z","updated_at":"2024-09-27T19:59:16.000Z","dependencies_parsed_at":"2024-10-27T09:46:25.724Z","dependency_job_id":"e6542a84-8e4b-423f-8329-de4c7e3bcf0d","html_url":"https://github.com/KontsertKishlaka/PracticalWork9","commit_stats":null,"previous_names":["kontsertkishlaka/practicalwork9"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KontsertKishlaka/PracticalWork9","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KontsertKishlaka%2FPracticalWork9","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KontsertKishlaka%2FPracticalWork9/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KontsertKishlaka%2FPracticalWork9/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KontsertKishlaka%2FPracticalWork9/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KontsertKishlaka","download_url":"https://codeload.github.com/KontsertKishlaka/PracticalWork9/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KontsertKishlaka%2FPracticalWork9/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279304315,"owners_count":26144032,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-17T02:00:07.504Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","while-cpp","while-loop"],"created_at":"2024-11-08T09:10:37.136Z","updated_at":"2025-10-17T07:46:11.500Z","avatar_url":"https://github.com/KontsertKishlaka.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Программа демонстрации цикла WHILE\n\n### Описание\n\nДанная программа демонстрирует работу цикла while в языке C++.  \n\n### Функционал\n\n* Ввод числа: Пользователь вводит целое число.\n* Проверка диапазона: Программа проверяет, находится ли введенное число в диапазоне от 1 до 15.\n* Цикл while: Цикл выполняется до тех пор, пока введенное число не будет меньше текущего значения счетчика.\n* Вывод информации: В процессе работы цикла выводится информация о текущем значении счетчика.\n* Продолжение работы: После завершения цикла программа предлагает пользователю продолжить тестирование цикла или завершить программу.\n\n### Использование\n\n1. Сохраните код в файл main.cpp.\n2. Скомпилируйте программу с помощью компилятора C++ (например, g++):\n   g++ main.cpp -o main \n   \n3. Запустите программу:\n   ./main \n   \n### Код\n```C++\n#include \u003ciostream\u003e\n\nusing namespace std;\n\nvoid printInterface();\nbool isUserInputContinue();\nbool checkNumberRange(short userInputNumber);\n\nint main()\n{\n setlocale(0, \"\");\n\n do printInterface();\n while (isUserInputContinue());\n\n return 0;\n}\n\nvoid printInterface() {\n system(\"cls\");\n\n cout \u003c\u003c \"[+] Цикл \\\"WHILE\\\"\\n\\n[+] Введите число: \";\n short userInputNumber;\n cin \u003e\u003e userInputNumber;\n\n short numberOfTimesWorked = 1;\n\n while (checkNumberRange(userInputNumber) \u0026\u0026 userInputNumber \u003e= numberOfTimesWorked) {\n  cout \u003c\u003c \"\\nЦикл отработал. \\x1b[94mКруг: \" \u003c\u003c numberOfTimesWorked \u003c\u003c \".\\x1b[0m\";\n  numberOfTimesWorked++;\n }\n}\n\nbool isUserInputContinue() {\n cout \u003c\u003c \"\\n\\nПродолжаем тестирование цикла? Введите \\x1b[92m\\\"+\\\"\\x1b[0m, чтобы \\x1b[92mпродолжить\\x1b[0m или \\x1b[91m\\\"-\\\"\\x1b[0m, чтобы \\x1b[91mзавершить программу.\\x1b[0m\";\n\n char userInputChar;\n cin \u003e\u003e userInputChar;\n\n while (userInputChar == '+' || userInputChar == '-') {\n  switch (userInputChar)\n  {\n  case '+': {\n   cout \u003c\u003c \"\\x1b[91mВведена некорректная операция\\x1b[0m. Повторите ввод.\";\n   return true;\n  }\n  case '-':\n   return false;\n  default:\n   cout \u003c\u003c \"\\x1b[91mВведена некорректная операция\\x1b[0m. Повторите ввод.\";\n   break;\n  }\n }\n\n return false;\n}\n\nbool checkNumberRange(short userInputNumber) {\n if (userInputNumber \u003c 1) {\n  cout \u003c\u003c \"Введённое число \\x1b[91mне может быть меньше 1\\x1b[0m. Повторите ввод.\";\n  return false;\n }\n else if (userInputNumber \u003e 15) {\n  cout \u003c\u003c \"Введённое число \\x1b[91mне может быть больше 15\\x1b[0m. Повторите ввод.\";\n  return false;\n }\n\n return true;\n}\n```\n\n### Дополнительные сведения\n\n* Программа использует цветной вывод для лучшей визуализации.\n* Функция system(\"cls\") очищает консоль перед каждым вводом.\n* Программа поддерживает ввод символов \"+\" и \"-\" для продолжения или завершения программы.\n* При неправильном вводе пользователем программа выводит сообщение об ошибке и просит повторить ввод.\n\n### Задачи для самостоятельного решения\n\n* Добавить возможность выбора диапазона значений для ввода числа.\n* Добавить возможность изменения шага счетчика.\n* Добавить возможность выбора режима работы цикла (до тех пор, пока не будет выполнено условие или пока не будет достигнуто определенное значение).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkontsertkishlaka%2Fpracticalwork9","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkontsertkishlaka%2Fpracticalwork9","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkontsertkishlaka%2Fpracticalwork9/lists"}