#include #include #include #include using namespace std; // Du ska få huvudprogrammet att fungera som specificerat i uppgiften. // Du får skriva dina klasser och all kod direkt här (ingen filuppdelning krävs). // Du får naturligtvis även göra korrekt filuppdelning som du är van vid. // Nedan finns given kod. // Du kommer att behöva justera den givna koden enligt de datatyper/klasser du väljer att använda. // Se TODO eller YOUR_TYPE_HERE för de rader vi förutser du kommer behöva justera // hämta symbolen som täcker (x,y) genom att fråga varje form char get_symbol_for(float x, float y, vector< YOUR_TYPE_HERE > const& shape_list) { char to_print {' '}; // TODO för varje form i listan { // TODO om formen täcker koordinat (x,y) { to_print = // TODO hämta formens symbol } } return to_print; } // utritning av alla former i en vektor void draw(vector< YOUR_TYPE_HERE > const& shapes) { const int h {70}, w{80}; // Skriv ut övre linjal cout << " |"; for (int i{}; i < w/10; ++i) cout << " . . . . |"; cout << endl; for(int i {}; i < h; ++i) { // vänster radnumrering cout << setfill('0') << setw(2) << i; // skriv tecken för varje kolumn på raden for(int j{}; j < w; ++j) { cout << get_symbol_for(j/2.0, i, shapes); } // höger radnumrering cout << ' ' << setw(2) << i << endl; } // Skriv ut undre linjal cout << " |"; for (int i{}; i < w/10; ++i) cout << " ' ' ' ' |"; cout << endl; } int main() { vector< YOUR_TYPE_HERE > train { // TODO skapa hela vectorns innehåll // Skapa en Circle{10.0,60.0, 'x', 5.0}, // Skapa en Circle{20.0,60.0, 'x', 5.0}, // Skapa en Circle{30.0,60.0, 'x', 5.0}, // Skapa en Rectangle{5.0,49.0, '#', 31.0,6.0}, // Skapa en Rectangle{25.0,40.0, '#', 10.0,10.0}, // Skapa en Rectangle{23.0,34.0, '#', 14.0,6.0}, // Skapa en Rectangle{10.0,43.0, '#', 4.0,6.0}, // Skapa en Circle{12.0,38.0, '%', 3.0}, // Skapa en Circle{16.0,26.0, ';', 6.0}, // Skapa en Circle{28.0,10.0, '.', 9.0}, }; draw( train ); return 0; }