• 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
438 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 (182,610 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ź 527 wizyt
pytanie zadane 1 września 2017 w HTML i CSS przez niko404 Użytkownik (950 p.)
0 głosów
2 odpowiedzi 82 wizyt
pytanie zadane 1 września 2017 w HTML i CSS przez jankowa1ski Gaduła (3,560 p.)
0 głosów
1 odpowiedź 80 wizyt
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

63,304 zapytań

109,563 odpowiedzi

228,872 komentarzy

43,896 pasjonatów

Przeglądających: 184
Pasjonatów: 7 Gości: 177

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.

...