diff --git a/.gitignore b/.gitignore index 8e4ec46..154feca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ -lab03.cbp +lab04.cbp +/curl /bin /obj -lab03.depend +lab04.depend +lab04.layout unittest.depend unittest.cbp diff --git a/main.cpp b/main.cpp index 104bbcb..387baf4 100644 --- a/main.cpp +++ b/main.cpp @@ -3,6 +3,7 @@ #include "histogram.h" #include "svg.h" #include "show_svg.h" +#include using namespace std; @@ -14,31 +15,39 @@ struct Input { }; Input -input_data() { +input_data(istream& stream, bool prompt) { + size_t number_count; + if (prompt) { + cerr << "Enter number count: "; + } + stream >> number_count; + Input in; - cerr << "Enter number count: "; - cin >> in.number_count; + in.numbers.resize(number_count); - vector numbers(in.number_count); - in.numbers.resize(in.number_count); - for (size_t i = 0; i < in.number_count; i++) { - cin >> in.numbers[i]; + if (prompt){ + cerr << "Enter numbers: "; + } + for (size_t i = 0; i < number_count; i++) + { + stream >> in.numbers[i]; } - size_t bin_count; - cerr << "Enter bin count: "; - cin >> in.bin_count; + if (prompt){ + cerr << "Enter number of bins: "; + } + stream >> in.bin_count; - size_t max_count; - in.max_count = 0; return in; } int main() { - Input in = input_data(); + curl_global_init(CURL_GLOBAL_ALL); + bool prompt = true; + auto in = input_data(cin, prompt); vector bins = make_histogram(in.numbers, in.bin_count, in.number_count, in.max_count); show_histogram_svg(bins); return 0;