diff --git a/CMakeLists.txt b/CMakeLists.txt index 318f46a..44a6853 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,7 @@ project(Astral-codex) set(CMAKE_CXX_STANDARD 20) -add_executable(Astral-codex main.cpp) +add_executable(Astral-codex main.cpp + translator.cpp) target_link_libraries(Astral-codex -static) diff --git a/main.cpp b/main.cpp index f014245..3142b9a 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,7 @@ #include #include #include "Errorseal.h" +#include "translator.h" /* * Coder: TheSkyWinds @@ -15,111 +16,6 @@ // Sky's translations: // A=; B=@ C=* D=< E=& F=( G=" H=) I=[ J=x K=x L=| M=x N=/ O=? P=+ Q=x R=] S={ T=} U=. V=x W=- X=x Y=x Z=x -std::string translateInput(const std::string& input) { - std::string translatedText{}; - - for (std::size_t i = 0; i < input.length(); i++) { - switch (input[i]) { - case ';': - translatedText.push_back('a'); - break; - - case '@': - translatedText.push_back('b'); - break; - - case '*': - translatedText.push_back('c'); - break; - - case '<': - translatedText.push_back('d'); - break; - - case '&': - translatedText.push_back('e'); - break; - - case '(': - translatedText.push_back('f'); - break; - - case '"': - translatedText.push_back('g'); - break; - - case ')': - translatedText.push_back('h'); - break; - - case '[': - translatedText.push_back('i'); - break; - - // MISSING J - - // MISSING K - - case '|': - translatedText.push_back('l'); - break; - - // MISSING M - - case '/': - translatedText.push_back('n'); - break; - - case '?': - translatedText.push_back('o'); - break; - - case '+': - translatedText.push_back('p'); - break; - - // MISSING Q - - case ']': - translatedText.push_back('r'); - break; - - case '{': - translatedText.push_back('s'); - break; - - case '}': - translatedText.push_back('t'); - break; - - case '.': - translatedText.push_back('u'); - break; - - // MISSING V - - case 'w': - translatedText.push_back('w'); - break; - - // MISSING X - - // MISSING Y - - // MISSING Z - - case ' ': - translatedText.push_back(' '); - break; - - default: - translatedText.push_back('?'); - break; - } - } - return translatedText; -} - std::string usrInput() { std::string input{}; @@ -146,6 +42,6 @@ int main() { break; } - std::cout << "Translation: " << translateInput(untranslatedText) << std::endl; + std::cout << "Translation: " << translation::translateInput(untranslatedText) << std::endl; } } \ No newline at end of file diff --git a/translator.cpp b/translator.cpp new file mode 100644 index 0000000..2385961 --- /dev/null +++ b/translator.cpp @@ -0,0 +1,107 @@ +#include +#include "translator.h" + +std::string translateInput(const std::string& input) { + std::string translatedText{}; + + for (std::size_t i = 0; i < input.length(); i++) { + switch (input[i]) { + case ';': + translatedText.push_back('a'); + break; + + case '@': + translatedText.push_back('b'); + break; + + case '*': + translatedText.push_back('c'); + break; + + case '<': + translatedText.push_back('d'); + break; + + case '&': + translatedText.push_back('e'); + break; + + case '(': + translatedText.push_back('f'); + break; + + case '"': + translatedText.push_back('g'); + break; + + case ')': + translatedText.push_back('h'); + break; + + case '[': + translatedText.push_back('i'); + break; + + // MISSING J + + // MISSING K + + case '|': + translatedText.push_back('l'); + break; + + // MISSING M + + case '/': + translatedText.push_back('n'); + break; + + case '?': + translatedText.push_back('o'); + break; + + case '+': + translatedText.push_back('p'); + break; + + // MISSING Q + + case ']': + translatedText.push_back('r'); + break; + + case '{': + translatedText.push_back('s'); + break; + + case '}': + translatedText.push_back('t'); + break; + + case '.': + translatedText.push_back('u'); + break; + + // MISSING V + + case 'w': + translatedText.push_back('w'); + break; + + // MISSING X + + // MISSING Y + + // MISSING Z + + case ' ': + translatedText.push_back(' '); + break; + + default: + translatedText.push_back('?'); + break; + } + } + return translatedText; +} \ No newline at end of file diff --git a/translator.h b/translator.h new file mode 100644 index 0000000..c8b2b07 --- /dev/null +++ b/translator.h @@ -0,0 +1,9 @@ +#ifndef TRANSLATOR_H +#define TRANSLATOR_H +#include "translator.h" + +namespace translation { + std::string translateInput(const std::string& i); +} + +#endif //TRANSLATOR_H