Do znających język "C"


(sniper00) #1

ten programik:

/* program kwadrat */

include

include

include

void main ()

{

int x1=10,y1=2,x2=x1+60,y2=y1+20,i;

char c, cc;

clrscr();

gotoxy(10,10); cout<<"podaj znak:";

c=getch ();

_setcursortype (0);

do{

clrscr();

for(i=x1;i<=x2;i++);

{gotoxy(i,y1); cout<

gotoxy(i,y2); cout<

clrscr();

for(i=x1;i<=x2;i++)

{gotoxy(i,y1);cout<

gotoxy(i,y2);cout<

for(i=y1;i<=y2;i++)

{gotoxy(x1,i);cout<

gotoxy(x2,i);cout<

cc=getch();

switch(cc)

{case '+': x1-=3; y1--;x2; x2+=3; y2++; break;

case '-': x1+=3; y1++; x2-=3; y2--; break;}

}while (cc!=27);

getch();}

musze mieć tak przerobiony, żeby zamiast kwadracika zmniejszała się i powiększała po naciśnięciu "+" i "-" literka "P" i musi to być w trybie tekstowym

Za pomoc z góry dziękuje:)


(Robert083) #2

Jeśli dobrze zrozumiałem Twój post (czyli zamiast samego kwadratu ma być skalowany mniejszy kwadrat i linia, które razem przypominają literkę “P”), to program mógłby wyglądać na przykład tak:

#include

#include



int main()

{

  int x1=30, y1=2, x2=x1+15, y2=y1+8, i, k=8;

  char c, cc;

  clrscr();

  gotoxy(10,10); cout << "podaj znak:";

  c=getch();

  _setcursortype(0);


  do

  {

    clrscr();

    for(i=x1; i<=x2; ++i)

    {

      gotoxy(i, y1); cout << c;

      gotoxy(i, y2); cout << c;

    }


    for(i=y1; i<=y2; ++i)

    {

      gotoxy(x1, i); cout << c;

      gotoxy(x2, i); cout << c;

    }


    for (i=y2; i<=y2+k; ++i)

    {

      gotoxy(x1, i); cout << c;

    }


    cc=getch();                 

    switch (cc)

    {

      case '=': x1-=2; --y1; x2+=2; ++y2; k+=2; break;

      case '-': x1+=2; ++y1; x2-=2; --y2; k-=2; break;

    }

  }

  while (cc!=27);


  clrscr();

  cout << "koniec programu, nacisnij dowolny klawisz...";

  getch();

  return 0;

}

Wystarczyło dodać jedną zmienną, jedną pętelkę, no i zmienić trochę parametry :P.

Oczywiście jeśli za dużo razy klikniesz „+” lub „-„ to będą błędy, ponieważ nie ma tam żadnego sprawdzania czy obrazek (w tym przypadku „P”) mieści się na ekranie, to samo działo się zresztą podczas zwiększania i zmniejszania Twojego „kwadratu”. A tak w ogóle, to w kodzie, który podałeś są małe błędy. Sam go pisałeś? :stuck_out_tongue:

Program przed chwilką sprawdzałem w Builderze – działa.

PS. Możesz oczywiście sam pozmieniać wartości parametrów, jeśli coś Ci nie będzie pasowało.


(sniper00) #3

Ślicznie dziękuje… co do programu to był na podstawach programowania i psor stwierdził że mamy zrobić z literkami to samo co z tym przeklętym kwadratem… i każdemu dał inną literkę…a że ja jestem zielony z “C” to poprosiłem forumowiczów o pomoc:)

Jeszcze raz wielkie dzięki…