ďťż
 
 
   literka R, w napisanym programie w C++
 
 

Tematy

 
    
 

 

 

 

literka R, w napisanym programie w C++





kamaemili78 - 16-12-2009 11:45
Mam problem z uruchomieniem tego programu i poprawnym jego działaniem. Otóż literka r ma być na zielonym tle oraz napisy początkowe, a nie wiem jak to zrobić. Nie potrafię ograniczyć dobrze zmniejszania - zwiększania i przesuwania tej literki (w prawo, w lewo, do góry i na dół).

Po odczytaniu tekstu powitalnego napis: ,,podaj znak'' powinien pojawić się w nowym oknie. Pilnie potrzebuję pomocy. Z góry dziękuję za zainteresowanie tym co zechcą udzielić mi porad i poprawić błędy.
#include<conio.h>
#include<fstream.h>
#include<dos.h>
#include<tform1.h>
void main()

{ //definicja funkcji
  int xm=20,xM=60,ym=4,yM=22, zm=20,zM=40,am=15,aM=41,
  XMin=1,XMax=78,YMin=2,YMax=24,i,j;
  char c,cc,znak;

  clrscr();
  void  _fastcall TForm1::Button1Click(TObject*Sender)

  {
  Canvas->Brush->Color=clGreen;
  }
  gotoxy(23,5);cout<<"Witam Pana.Przedstawiam literke R.";
  gotoxy(33,15);cout<<"Literka R";
    gotoxy(45,25);cout<<"Emilia Windorpska";
    gotoxy(45,27);cout<<"Informatyka IIIa projekt";

    getch();

  cout<<"podaj znak ->";znak=getch();  //wyswietlanie znaku

  _setcursortype(0);                  //wylaczanie kursora
do{

      clrscr();                      //czyszczenie ekranu

    for(i=yM;i<=zM;i++)                //lewa noga
  { gotoxy(zm,i);cout<<znak;}

  for(i=yM; i<=aM; i++)              //linia ukosna drugiej nogi
  {gotoxy(am+i,i);
  cout<<znak;}

  for(i=xm;i<=xM;i++)                //linie poziome
  {gotoxy(i,ym);cout<<znak;
  gotoxy(i,yM);cout<<znak;}

  for(i=ym;i<=yM;i++)                //linie pionowe
  {gotoxy(xm,i);cout<<znak;
  gotoxy(xM,i);cout<<znak;}

c=getch();                            //zwiekszanie i zmniejszanie
switch(c)
  {case'+':ym--;xm-=2;yM++;xM+=2;am--;zM+=4;
break;

case'-':ym++;xm+=2;ym++;yM--;xM-=2;zM-=4;am++;
break;

case 0:cc=getch();                        //przesuwanie
    switch(cc)

    {case 75:  xm--;xM--;zm--;zM--;break;                        //w lewo
    case 72:    ym--;yM--;am--;aM--;break;                    //w gore
    case 80:    ym++;yM++;am++;aM++;break;                  //w dol
    case 77:    xm++;xM++;zm++;zM++;break;                  //w prawo
    }

  if(c=='+'||c=='-'){
                                        //||-lub

  if(xm<XMin||ym<YMin||xM>XMax||yM>YMax)
                                          //OGRANICZANIE w gore dol
    {ym++;xm+=2; yM--;xM-=2;zm++;}

    if(xm>xM-2||ym>yM-2)      //ograniczenie na boki
    {ym--;xm-=2;zm--;yM++;xM+=2;}

    }

  if(c==0)

  {if(xm<XMin){xm++;xM++;am++;aM++;}          //lewo
  if(ym<YMin){ym++;yM++;zm++;zM++;}        //do gory
  if(xM>XMax) {xm--;xM--;am--;aM--;}      //na prawo
  if(yM>YMax){ym--;yM--;zm--;zM--;}        //w dol

  }

}  }while(c!=27);
}



giaur - 17-12-2009 23:01
Chłopcze, a może chociaż zadasz sobie minimum trudu i poczytasz o tym jak się programuje gui w Borlandzie? Ten kod jest tak bezsensowny że nie ma tu co poprawiać - wez dowolny tutorial do C++ Buildera a dowiesz się jak się wziąć za to zadanie

Co tu w ogóle robią odwołania do metod komponentów VCL skoro piszesz aplikację konsolową?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis