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

Wyśrodkowanie tesktu c++

0 głosów
491 wizyt
pytanie zadane 31 grudnia 2017 w C i C++ przez ciamciam Początkujący (330 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 (186,570 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

+1 głos
1 odpowiedź 727 wizyt
pytanie zadane 1 września 2017 w HTML i CSS przez niko404 Użytkownik (950 p.)
0 głosów
2 odpowiedzi 88 wizyt
pytanie zadane 1 września 2017 w HTML i CSS przez jankowa1ski Gaduła (3,560 p.)
0 głosów
1 odpowiedź 82 wizyt
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

65,755 zapytań

112,393 odpowiedzi

237,320 komentarzy

46,700 pasjonatów

Przeglądających: 160
Pasjonatów: 3 Gości: 157

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.

...