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

[C++] zmiana rozmiaru i przesunięcie figury

Ostatnio zmodyfikowano 2013-11-21 20:48
Autor Wiadomość
lewica2
Temat założony przez niniejszego użytkownika
[C++] zmiana rozmiaru i przesunięcie figury
» 2013-11-20 21:15:27
Cześć,
mam taki kod:
C/C++
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <Windows.h>
#include <locale>

#define WYSOKOSC_KONSOLI 25 // wysokość ekranu
#define SZEROKOSC_KONSOLI 80 // szerokość ekranu

using namespace std;

void polskie_litery()
{
    locale locpl( "Polish_Poland" );
    locale::global( locpl );
    cout.imbue( locpl );
    cin.imbue( locpl );
}
//-------------------------------------------------------------
void Prostokat();
const int Esq = 27;
int main()
{
    polskie_litery();
    std::cout << "Witam w programie nr 57 \nNapisz program rysowania znakami ASCII figury."
    "Sam program powinien umożliwić:\n-wybór znaku kodu początkowego,\n-wszytanie
   
    wymiar ó w "
    "początkowych figury,\n-przesuwanie figury kursorami,\n-powiększanie oraz zmniejszanie figury
   
    za "
    "pomocą '+' oraz '-',\n-ogranicenie przesuwania figury oraz jej rozmiarów.\n\n \n\n\n";
    //-------------------------------------------------------------
    int a, b;
    cout << "Podaj szerokość: [A]: ";
    cin >> a;
    if( a % 2 == 0 )
    {
        do
        {
            cout << "\nLiczba " << a << " jest parzysta!" << endl;
            cout << "Wprowadź liczbę nieparzystą!" << endl;
            cout << "Podaj szerokość [A]: ";
            cin >> a;
        }
        while( a % 2 == 0 );
       
    }
    cout << "Podaj wysokość [B]: ";
    cin >> b;
    system( "cls" );
    cout << "Wybrałeś następujące wartości: " << endl;
    cout << "Szerokość: " << a << endl;
    cout << "Wysokość: " << b << endl;
    system( "PAUSE" );
    system( "cls" );
    //-------------------------------------------------------------
    int kod;
    while( true ) // pozornie
   
    niesko ń czona p ę tla
    {
        cout << "Podaj kod znaku ASCII od 0 do 127: ";
        cin >> kod; //
       
        wczytanie kodu znaku
        if( kod < 0 || kod > 127 ) // jeśli jest poza
       
        zakresem
             cout << "Bledna wartosc.\n\n"; // komunikat
        else //
       
        inaczej
             break; //
       
        przerwanie p ę tli
    }
    //-------------------------------------------------------------
    {
        system( "PAUSE" );
        system( "cls" );
    }
    //-------------------------------------------------------------
    {
        int i, j, x, y, x1, y1;
        char klawisz;
        x = 38; y = 10;
        do
        for( i = 1; i <= a; i++ )
             cout <<( char ) kod;
       
        cout << endl; //górna krawędź
        //-------------------------------------------------------------
        for( i = 1; i <= b - 2; i++ )
        {
            cout <<( char ) kod;
            for( j = 1; j <= a - 2; j++ )
                 cout << " ";
           
            cout <<( char ) kod;
            cout << endl;
        } //boki krawędź
        //-------------------------------------------------------------
        {
            for( i = 1; i <= a; i++ )
                 cout <<( char ) kod;
           
            cout << endl; //dolna krawędź
        }
    }
    //-------------------------------------------------------------
    switch( klawisz )
    {
    case '+':
        {
            a = a + 2;
            b = b + 1;
            x--; y--;
            break;
        }
    case '-':
        {
            a = a - 2;
            b = b - 1;
            x++; y++;
            break;
        }
    case 75: { x--; break; } // przesuniecie w lewo
    case 77: { x++; break; } // przesuniecie w prawo
    case 72: { y--; break; } // przesuniecie do gory
    case 80: { y++; break; } // przesuniecie do dolu
    case Esq: { break; } // wyjscie 
    }
    while( klawisz != Esq );
    //-------------------------------------------------------------
    return 0;
}

I pojęcia nie mam dlaczego nie chce mi działać powiększenie i zmieniejszenie figury oraz jej przesunięcie. Mógłbym prosić o jakieś wskazówki?
P-96860
MrPoxipol
» 2013-11-20 21:25:44
Cześć,
mam taki kod:
i?

Zedytowałeś, ok.

Jak możesz to odchudź program, aby były w nim tylko te funkcje, które sprawiają kłopoty, tzn. stwórz przykładowy program.
P-96863
lewica2
Temat założony przez niniejszego użytkownika
» 2013-11-21 11:26:08
Nie wiem gdzie robie błąd... nie mogę ani zmieniać rozmiarów + i - ani przesuwać...

C/C++
switch( klawisz )
{
case '+':
    {
        a = a + 2;
        b = b + 1;
        x--; y--;
        break;
    }
case '-':
    {
        a = a - 2;
        b = b - 1;
        x++; y++;
        break;
    }
case 75: { x--; break; } // przesuniecie w lewo
case 77: { x++; break; } // przesuniecie w prawo
case 72: { y--; break; } // przesuniecie do gory
case 80: { y++; break; } // przesuniecie do dolu
case Esq: { break; } // wyjscie
}
while( klawisz != Esq );

Właśnie jakoś to mi się nie zgadza....
P-96901
MrPoxipol
» 2013-11-21 18:19:29
Zrób z tego jakiś mini program, czy coś, żeby można było skompilować i odpalić.
P-96940
lewica2
Temat założony przez niniejszego użytkownika
» 2013-11-21 19:31:24
No własnie z tym mam problem bo nie da się tego skompilować i za diabła nie wiem czemu
P-96961
pekfos
» 2013-11-21 19:45:14
I dopiero teraz o tym piszesz..? Podaj treść błędów.
P-96965
lewica2
Temat założony przez niniejszego użytkownika
» 2013-11-21 20:48:15
To inaczej:
to co zamieściłem w I poście da sie skompilować, nie wyświetla błędów, ale nie ma możliwości przesuwania figury skalowania etc...
P-96990
« 1 »
  Strona 1 z 1