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

Wyśrodkowanie tesktu c++

42 Warsaw Coding Academy
0 głosów
2,994 wizyt
pytanie zadane 31 grudnia 2017 w C i C++ przez ciamciam Początkujący (350 p.)

Napisałem aplikacje logowanie.exe i chciałbym aby tekst wyświetlany w konsoli nie był przyklejony do lewej krawędzi okna aplikacji tylko był zawsze na środku niezależnie od rozmiaru okna.

Co muszę jeszcze dopisać i gdzie w tym kodzie poniżej, aby tekst był na środku ?

 

#include <windows.h>
#include <iostream>
#include <stdlib.h>


using namespace std;

 string login, haslo;

int main()


{
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    const SMALL_RECT rectangle = {0, 0, 200, 100};

    SetConsoleWindowInfo(handle, TRUE, &rectangle);


    HANDLE uchwyt;
    uchwyt = GetStdHandle(STD_OUTPUT_HANDLE);

    SetConsoleTextAttribute(uchwyt,11);
    cout << "--------------------------------------------------" << endl;
    cout << "||         Witaj w ekranie logowania            ||" << endl;
    cout << "--------------------------------------------------" << endl << endl;
    Sleep(800);
    SetConsoleTextAttribute(uchwyt,14);
    cout << "Podaj login: ";
    SetConsoleTextAttribute(uchwyt,12); cin >> login;

    Sleep(800);
    SetConsoleTextAttribute(uchwyt,14);
    cout<< endl << "Podaj haslo: ";
    SetConsoleTextAttribute(uchwyt,12); cin >> haslo;
system("cls");Sleep(1000);



    if ((login=="1")&&(haslo=="1"))
   {

       SetConsoleTextAttribute(uchwyt,14); cout << endl << " Sprawdzanie danych " ;
       Sleep(500); cout << ".." ; Sleep(500); cout << ".." ; Sleep(500); cout << "." ; Sleep(500);
       cout << "." ; Sleep(500); cout << "." << endl << endl;

        SetConsoleTextAttribute(uchwyt,10);
        cout << endl << " Dostep zostal przyznany  :)" << endl;
        Sleep(2000);
        system("cls");


   }

   else
   {
       cout << endl << "ODMOWA DOSTEPU" << endl;
       Sleep(500);
       cout << endl << "Zamykanie"; Sleep(500); cout << "." ; Sleep(500); cout << "." ; Sleep(500); cout << "." ;
        system("cls");
        cout << "---> Nacisnij dowolny klawisz aby zamknac program! <---" << endl;Sleep(800);

return 0;




   }
SetConsoleTextAttribute(uchwyt,15);
   cout << " #################################################################################### " << endl;



    cin.ignore();
    cin.get();
    return 0;

}

 

1 odpowiedź

0 głosów
odpowiedź 1 stycznia 2018 przez Patrycjerz Mędrzec (192,320 p.)
wybrane 2 stycznia 2018 przez ciamciam
 
Najlepsza

Wątpię, aby samo Windows API oferowało takie możliwości, ale możesz wykorzystać proste działanie matematyczne, aby obliczyć początkową współrzędną tekstu. Masz tutaj rozwiązanie dla C#, ale jestem przekonany, że wystarczy kilka zmian, aby je zmodyfikować na potrzeby twojego programu.

Podobne pytania

0 głosów
1 odpowiedź 643 wizyt
pytanie zadane 23 września 2021 w HTML i CSS przez KFC Użytkownik (610 p.)
0 głosów
3 odpowiedzi 958 wizyt
pytanie zadane 20 grudnia 2020 w C i C++ przez Code_ Użytkownik (520 p.)
+1 głos
1 odpowiedź 6,759 wizyt
pytanie zadane 1 września 2017 w HTML i CSS przez niko404 Użytkownik (910 p.)

93,377 zapytań

142,379 odpowiedzi

322,526 komentarzy

62,724 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...