• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Znak większości kod ASCII

Object Storage Arubacloud
0 głosów
169 wizyt
pytanie zadane 14 stycznia 2018 w C i C++ przez fil1313 Nowicjusz (120 p.)

Cześć mam pytanie jak przekształcić rysowanie tego kodu z prostokąta na znak ">" ? Bardzo prosiłbym o pomoc wcześniej próbowałem, ale cały czas nie wychodziło. Kod umieszczam poniżej:

 

#include "iostream"
#include <conio.h>
#include <Windows.h>
#include <cstdio>
#include <cstdlib>
#include <string>
#include <iomanip>  
using namespace std;

void gotoxy(int x, int y);
int wherex();
int wherey();
void clreol();
void HideCursor();

/*-------------------------------------------------------------------*/
const int Esq = 27;

int main()
{
	int x, y, x1, y1, bok, bok2, znak;
	char klawisz;
	cout << "Podaj znak ASCII" << endl;
	cin >> znak;
	x = 20; y = 20; bok = 4;
	bok2 = bok;
	do
	{
		system("cls");
		x1 = x; y1 = y;
		gotoxy(x1, y1);
		or (int i = 1; i <= bok; i++)      // gorna krawedz
			cout << '*';
		for (int i = 1; i <= bok - 2; i++)    // boki
		{
			y1++;
			gotoxy(x1, y1);
			cout << (char)znak;
			x1 = x + bok - 1;
			gotoxy(x1, y1);
			cout << (char)znak;
			x1 = x;
		}
		y1++;
		gotoxy(x1, y1);
		for (int i = 1; i <= bok; i++)     // dolna krawedz
			cout << (char)znak;
		HideCursor();
		bool koniec = false;
		klawisz = _getch();
		switch (klawisz)
		{
		case '+': { bok = bok + 1;
			bok2 = bok2 - 1;
			x--; y--;
			break; }
		case '-': { bok = bok - 1;    // zmniejszenie
			x++; y++;
			break; }
		case 75: 
		{ koniec = true;
			x--; 
			break; }  // przesuniecie w lewo
		case 77: 
		{ koniec = true;
			x++; 
			break; }  // przesuniecie w prawo
		case 72: 
		{ koniec = true;
			y--; 
			break; }  // przesuniecie do gory
		case 80: 
		{ koniec = true;
			y++; 
			break; }  // przesuniecie do dolu
		case Esq: { break; }       // wyjscie  
		}
	} while (klawisz != Esq);
	return 0;
}
//----------------------------------------------------------------------------
void gotoxy(int x, int y)
{
	COORD c;
	c.X = x;
	c.Y = y;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
//----------------------------------------------------------------------------
int wherex()
{

	CONSOLE_SCREEN_BUFFER_INFO csbi;
	GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
	return csbi.dwCursorPosition.X;
}
//---------------------------------------------------------------------------- 
int wherey()
{
	CONSOLE_SCREEN_BUFFER_INFO csbi;
	GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
	return csbi.dwCursorPosition.Y;
}
//----------------------------------------------------------------------------  
void HideCursor()
{
	::HANDLE hConsoleOut = ::GetStdHandle(STD_OUTPUT_HANDLE);
	::CONSOLE_CURSOR_INFO hCCI;
	::GetConsoleCursorInfo(hConsoleOut, &hCCI);
	hCCI.bVisible = FALSE;
	::SetConsoleCursorInfo(hConsoleOut, &hCCI);
}
//----------------------------------------------------------------------------
void clreol()
{
	int x, y;
	x = wherex();
	y = wherey();
	gotoxy(x, y);
	for (int i = x; i <= 79; i++)
		cout << " ";
	gotoxy(x, y);
}

void up(unsigned x, unsigned y, int znak) // zadeklarowanie funkcji rysującej górną część figury z wartościami nieujemnymi
{
	for (unsigned i = y - 1; i <= y; --i)
	{
		for (unsigned j = 0; j <= x + i; ++j) cout << ' ';
		cout << (char)znak;
	}
}
void down(unsigned x, unsigned y, int znak) // zadeklarowanie funkcji rysującej górną część figury z wartościami nieujemnymi
{
	for (unsigned i = 0; i < y; ++i) 
	{
		for (unsigned j = 0; j <= x + i; ++j) cout << ' '; 
		cout << (char)znak;
	}
}

 

komentarz 14 stycznia 2018 przez 10kw10 Pasjonat (22,880 p.)
sprobuj narysowac trojkat tylko bez podstawy

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 1,784 wizyt
pytanie zadane 26 maja 2016 w C i C++ przez Ciri Gaduła (3,380 p.)
0 głosów
1 odpowiedź 823 wizyt
pytanie zadane 25 lipca 2018 w C i C++ przez MatZyN Początkujący (350 p.)
0 głosów
0 odpowiedzi 748 wizyt
pytanie zadane 16 listopada 2019 w C i C++ przez Hubertius Bywalec (2,970 p.)

92,551 zapytań

141,393 odpowiedzi

319,524 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...