From 4620adf4c7a60cf4e40dacb804e5d4e27bb29a87 Mon Sep 17 00:00:00 2001 From: KapitonovMikA Date: Mon, 20 May 2024 04:01:03 +0300 Subject: [PATCH] =?UTF-8?q?code:=20=D0=BF=D0=B5=D1=80=D1=81=D0=BE=D0=BD?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20=D0=B2=D0=B0=D1=80=D0=B8?= =?UTF-8?q?=D0=B0=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- svg01.cpp | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/svg01.cpp b/svg01.cpp index f0714c1..42afd40 100644 --- a/svg01.cpp +++ b/svg01.cpp @@ -1,6 +1,7 @@ #include "svg01.h" #include #include +#include using namespace std; @@ -25,13 +26,33 @@ svg_text(double left, double baseline, string text) { } void -svg_rect(double x, double y, double width, double height, string stroke = "midnightblue", string fill = "deeppink"){ - cout << ""; +svg_rect(double x, double y, double width, double height, string colors_stroke, string colors_fill){ + cout << ""; } +void +input_colors(string &colors_stroke, string &colors_fill){ + string color_personal; + cerr << "Do you want to change colors? Yes/No" << endl; + cin >> color_personal; + while ((color_personal != "No") && (color_personal != "Yes")){ + cerr << "WRONG ANSWER! Try again!" << endl; + cin >> color_personal; + } + if (color_personal == "No"){ + return; + } + else { + cerr << "What color for a stroke do you want?" << endl; + cin >> colors_stroke; + cerr << "What color to fill do you want?" << endl; + cin >> colors_fill; + } + return; +} void -show_histogram_svg(const vector& bins) { +show_histogram_svg(const vector& bins, string colors_stroke, string colors_fill) { const auto IMAGE_WIDTH = 400; const auto IMAGE_HEIGHT = 300; const auto TEXT_LEFT = 20; @@ -51,7 +72,7 @@ show_histogram_svg(const vector& bins) { for (size_t bin : bins) { const double bin_width = (( IMAGE_WIDTH - TEXT_WIDTH ) / BLOCK_WIDTH ) * ( bin / maxel ); svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); - svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT); + svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, colors_stroke, colors_fill); top += BIN_HEIGHT; } svg_end();