Написать функцию, которая выводит на экран рамку. В качестве параметров должны передаваться координаты верхнего левого угла (оси x, y) и размер (ширина и высота).
Решение:
Может, на глаз размеры имеют погрешность в точности, но по «клеткам» все OK.
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include «stdafx.h»
#include <iostream> #include <windows.h> using namespace std; void gotoxy(int x, int y) //в Windows { COORD k; HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE); k.X=x; k.Y = y; SetConsoleCursorPosition(hOuput, k); } void fun_symbol(int _x, int _y, int sh, int v) { int j, i; char mas[255][255]; for (i=0; i<v; i++) {gotoxy(_x, _y); mas[i][i]=176; cout<<mas[i][i]; for (j=1; j<sh—1; j++) { if (i==0 || i==(v—1)) {mas[i][j]=176; cout<<mas[i][j];} else cout<<» «; } mas[i][j]=176; cout<<mas[i][j]; cout<<endl; _y++; }} int main() {SetConsoleCP(1251); SetConsoleOutputCP(1251); int sh, v, x, y; cout<<» Введите координату x >> «; cin>>x; cout<<» Введите координату y >> «; cin>>y; cout<<» Введите ширину >> «; cin>>sh; cout<<» Введите высоту >> «; cin>>v; system(«cls»); fun_symbol(x, y, sh, v); system(«pause>>void»); return 0; } |