Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rysuje ramkę z kratek na środku ekranu i nie przekraczając 80 jednostek

Ostatnio zmodyfikowano 2012-01-11 00:52
Autor Wiadomość
Franck
Temat założony przez niniejszego użytkownika
Rysuje ramkę z kratek na środku ekranu i nie przekraczając 80 jednostek
» 2012-01-10 19:15:28
Witam próbuje uporać się z jednym problemem ponieważ dopiero wkraczam w swiat c++ i na zaliczenie musze narysować ramke na srodku ekranu ,co nieco już program działa ale niewiem jaką petle zastosować i jak użyć spacji aby była ta ramka na środku no i żeby program nie akceptował 1 jako wymiaru ramki ,nie może tez ona przekraczać 80 jednostek z faktu że tyle ma ekran.

narazie jestem na tym etapie ,


C/C++
#include <iostream>
#include <conio.h>


using namespace std;

int main()
{
    int x, y;
    cout << "dlugosc: ";
    cin >> x;
    cout << "szerokosc: ";
    cin >> y;
    cout << "\n\n";
    for( int i = 0; i < x; i++ )
    {
        cout << "# ";
        for( int l = 1; l < y - 1; l++ )
        {
            if( i >= 1 & i < x - 1 )
            {
                cout << "  ";
            }
            else
                 cout << "# ";
           
        }
        cout << "#\n";
       
       
    }
    cout << endl;
    cout << "nacisnij dowolny Klawisz";
   
    getch();
   
    return 0;
}



Pozdrawiam i czekam na waszą pomoc
P-47880
MrMB
» 2012-01-10 21:59:06
Z tego co zrozumiałem to chcesz zrobić program, który "narysuje" "ramkę" na samym środku konsoli (konsoli?). Jeżeli chodzi o ten środek to o ile się nie mylę wystarczą 3 tabulatory (\t) i ewentualnie tab. wertykalny.
P-47903
jsc
» 2012-01-10 22:01:28
Spróbuj skorzystać z bibliotek New Curses, wiedzę jak ją wykorzystać znajdziesz w zakładce Kursy.
P-47904
MrMB
» 2012-01-10 22:05:16
A do czego by mu się przydała w tym przypadku?
P-47905
draculeq
» 2012-01-10 22:06:16
@jsc przeczytaj pytanie... -.-
Kolega ma problem z if'ami :D

na początku daj

C/C++
int x, y;
cout << "dlugosc: ";
cin >> x;

if( x < 2 || x > 80 ) return 0;

cout << "szerokosc: ";
cin >> y;
cout << "\n\n";

A co do środkowania...

C/C++
cin >> y;
cout << "\n\n";
for( int i = 0; i < x; i++ )
{
   
    for( int j = 0; j < 40 - x; j++ )
         cout << " ";
   
    cout << "# ";
    for( int l = 1; l < y - 1; l++ )
}


@EDIT:
for (int j=0; j<40-y; j++)  nie x tylko y, nie zwróciłem uwagi na to co jest szerokoscia
P-47906
jsc
» 2012-01-10 22:15:21
Zobacz http://cpp0x.pl/aktualnosci/#/kursy/?nro=89Program wyświetlający tekst na środku konsoli - kod[/a]. Tu można znaleźć "wzór" na środek konsoli. W innych rozdziałach jest opisane jak można uzyskać SWOBODNY dostęp do konsoli.
P-47908
MrMB
» 2012-01-11 00:06:42
Ja myślę że nie ma sensu zagłębiać się New Curses, bo żaden programista (nawet ten bardzo początkujący) nie będzie cały czas siedział w aplikacjach konsolowych.
P-47918
jsc
» 2012-01-11 00:52:36
Może tak, a może nie. Ale tworzonych nawet teraz wiele aplikacji korzysta z konsoli, że nie wspomnę o Vimie, który jest nadal rozwijany. Przy pisaniu skryptów powłoki wizualna kontrola wykonania (np. czerwone błędy i żółte ostrzeżenia) też jest godna rozpatrzenia.
P-47919
« 1 »
  Strona 1 z 1