«

»

C++. Функции. Задача 12

Написать функцию, которая выводит на экран рамку. В качестве параметров должны передаваться координаты верхнего левого угла (оси 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;
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Проверка на человечность *