diff --git a/src/main.cpp b/src/main.cpp index a46866d..2d04dcd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,4 +1,31 @@ -int main() +#include +#include +#include "SimpleMarkov.hpp" + +int main(int argc, char* argv[]) { + if (argc > 5 || argc < 3) { + std::cout << "Usage: " << argv[0] << " [s] [...]" << std::endl; + std::cout << " s: [ []] -> SimpleMarkov" << std::endl; + return 1; + } + + std::string filename = argv[1]; + std::string mode = argv[2]; + + if (mode == "s") { + int paragraphs = 1; + if (argc >= 4) paragraphs = std::stoi(argv[3]); + int length = 10; + if (argc >= 5) length = std::stoi(argv[4]); + + SimpleMarkov m(length); + m.eat(filename); + std::cout << m.regurgitate(paragraphs); + } else { + std::cout << "Error: Incorrect mode." << std::endl; + return 2; + } + return 0; }