From 6e021a4b71e3da607d1f4fed234ed9d3568c958c Mon Sep 17 00:00:00 2001 From: grudininyk Date: Mon, 29 Apr 2024 12:25:49 +0300 Subject: [PATCH] =?UTF-8?q?code:=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B7=D0=BC=D0=B5=D1=80=D0=B0=20=D1=88=D1=80=D0=B8=D1=84?= =?UTF-8?q?=D1=82=D0=B0=20svg?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- svg.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/svg.cpp b/svg.cpp index f0b699d..657b3aa 100644 --- a/svg.cpp +++ b/svg.cpp @@ -14,8 +14,8 @@ const auto BLOCK_WIDTH = 10; const auto MAX_WIDTH = IMAGE_WIDTH - TEXT_WIDTH; void -svg_text(double left, double baseline, string text) { - cout << "" << text << ""; +svg_text(double left, double baseline, int font_size, string text) { + cout << "" << text << ""; } void @@ -40,6 +40,20 @@ svg_end() { void show_histogram_svg(const vector& bins) { + int font_size = 12; + bool flag = true; + while(flag) { + cerr << "Enter font size (8-32): "; + cin >> font_size; + + if (font_size < 8) { + cerr << "Font size is too small. Please enter a value between 8 and 32." << endl; + } else if (font_size > 32) { + cerr << "Font size is too large. Please enter a value between 8 and 32." << endl; + } else { + flag = false; + } + } const auto MAX_WIDTH = IMAGE_WIDTH - TEXT_WIDTH; size_t max_count = 0; for (size_t x : bins) { @@ -58,10 +72,9 @@ show_histogram_svg(const vector& bins) { double top = 0; for (size_t bin : bins) { double bin_width = BLOCK_WIDTH * bin * scale_factor; - svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); + svg_text(TEXT_LEFT, top + TEXT_BASELINE, font_size, to_string(bin)); svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT); top += BIN_HEIGHT; } svg_end(); } -