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

[C++] Analiza i wytłumaczenie kodu

–3 głosów
96 wizyt
pytanie zadane 2 kwietnia w C i C++ przez Teslum_369 Gaduła (3,110 p.)

Witam,

Przeglądałem sobie dzisiaj trochę zawartości internetu i na trafiłem na bardzo ciekawy kod. Niestety, nie jestem jeszcze wtajemniczony w to co zostało w nim napisane.

Bardzo prosiłbym o krótkie wyjaśnienie co odpowiada za co (np w formie znanych programistom komentarzy "//")

Tutaj przedstawiam kod:

#include <iostream>
#include <windows.h>
#include <string>
using namespace std;

void Display(string [], const int);
int main()
{
  const int arr_size=10;
  string myInfo[arr_size] = {"This is a presentation about many things",
                              " That's was joke haha",
                              "          Trzy",
                              "         Cztery",
                              "Five",
                              "Six",
                              "Seven",
                              "Eight",
                              "Nine",
                              "And finally Ten",
                            };


  Display(myInfo, arr_size);


    std::cin.ignore();
    getchar();
    return 0;
}
//********************************************
void Display(string arr_string[], int arr_size)
{

  HANDLE screen = GetStdHandle(STD_OUTPUT_HANDLE);

  COORD pos[18] = {
                    {0,5}, {0,7}, {0,9}, {0,11},{0,13},{0,15},
                    {0,17}, {0,19},{0,21},{0,23},{0,26},{0,27},
                    {0,29},{0,31},{0,33},{0,36},{0,37},{0,39}
                  };

  for(int k=0; k<arr_size; k++)
  {
      for(int j=arr_string[k].size(); j>=0; j--)
      {
          for(int i=0; i<=j; i++)
          {
            SetConsoleCursorPosition(screen,pos[k]);
            cout << "  " << endl;
            pos[k].X++;

            SetConsoleCursorPosition(screen,pos[k]);
            cout << arr_string[k][j] << endl;
            Sleep(1);

          }
          pos[k] = {0,k+1};

      }

  }

}

Jeśli ktoś podjąłby się próby wytłumaczenia kodu, nie trzeba tego robić dla sekcji int main, tam wszystko jest dla mnie jasne, bardziej interesuje mnie zawartość funkcji "Display"

Z góry bardzo bardzo dziękuję smiley.

1
komentarz 3 kwietnia przez Criss Mędrzec (172,320 p.)
Nie ma co tłumaczyć, wystarczy przeczytać dokumentację funkcji. Wszystkie zawierają się w API Windowsa.

1 odpowiedź

0 głosów
odpowiedź 2 kwietnia przez Hiskiel Pasjonat (22,990 p.)

Kurczę no naprawdę, wiele szukania z tym nie ma.
HANDLE <- pierwszy link wyjaśnia, już tej pierwszej odpowiedzi można szukać dalej po docsach windowsa

GetStdHandle(STD_OUTPUT_HANDLE) <- first one

COORD <- znowu pierwszy link wyjaśnia, ofc można scrollować dalej, u góry to samo

SetConsoleCurrentPosition <- pierwszy i drugi link.

 

Ogólnie cały kod to jedna wielka mieszanina i bablanina, ale co tam.

Podobne pytania

0 głosów
2 odpowiedzi 72 wizyt
0 głosów
1 odpowiedź 186 wizyt
0 głosów
1 odpowiedź 79 wizyt
pytanie zadane 30 kwietnia 2016 w C i C++ przez niezalogowany
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

64,898 zapytań

111,368 odpowiedzi

234,329 komentarzy

46,744 pasjonatów

Przeglądających: 205
Pasjonatów: 8 Gości: 197

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...