From 703c4a9b54429ebc956926155dd631578b9f6bdb Mon Sep 17 00:00:00 2001 From: Joscha Date: Thu, 3 Nov 2016 23:05:23 +0000 Subject: [PATCH] Interpret command-line arguments --- src/main.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) 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; }