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

Jak na bieżąco gwiazdkować hasło

Cloud VPS
0 głosów
290 wizyt
pytanie zadane 7 lutego 2016 w C i C++ przez Jonki Dyskutant (8,180 p.)

Tak jak w temacie. Znalazłem to: https://forum.pasja-informatyki.pl/6352/zamiana-tekstu-w-locie?show=6365#a6365

#include <iostream>
#include <conio.h>
#include <string>
 
int main()
{
    unsigned char znak;
    std::cout << "klawisz [ESC] wychodzi z programu." << std::endl;
    std::string tekst = "";
 
    do
    {
 
        znak = getch();
        if(znak == 13) //Enter
        {
            std::cout << "\n" << tekst << "\n";
            tekst = "";
        }
        else
        {
            tekst += znak;
            std::cout << "*";
        }
 
    } while( znak != 27 ); //ESC
 
    return( 0 );
}

ale ten kod umożliwia wpisywanie znaków specjalny no i nie można wymazywać.

Sam spróbowałem napisać coś takiego, ale nie wiem jak zrobić kasowanie znaków.

             char character;

            cout << "Password: ";
            do
            {
                character = getch();

                if(isalnum(character) && character != 75 && character != 72 && character != 77 && character != 80)
                {
                    cout << "*";
                    user->password += character;
                }
                else if(character == 8)
                {
                    // jakieś działanie
                }
            }while(character != 13);

 

1 odpowiedź

0 głosów
odpowiedź 7 lutego 2016 przez jpacanowski VIP (101,940 p.)
#include <iostream>
#include <string>
#include <conio.h>

using namespace std;

int main(){
   string pass ="";
   char ch;
   cout << "Enter pass\n";
   ch = _getch();
   while(ch != 13){//character 13 is enter
      pass.push_back(ch);
      cout << '*';
      ch = _getch();
   }
   if(pass == "Mitsakos"){
      cout << "\nAccess granted :P\n";
   }else{
      cout << "\nAccess aborted...\n";
   }
}
komentarz 7 lutego 2016 przez Jonki Dyskutant (8,180 p.)
Nie zabezpieczyłeś programu na wypadek wpisania znaku specjalnego.

Podobne pytania

0 głosów
3 odpowiedzi 390 wizyt
pytanie zadane 4 marca 2016 w C i C++ przez Kogigogi Nowicjusz (150 p.)
0 głosów
3 odpowiedzi 1,255 wizyt
pytanie zadane 13 grudnia 2015 w Inne języki przez Shiro Stary wyjadacz (10,300 p.)
0 głosów
2 odpowiedzi 1,261 wizyt

93,460 zapytań

142,454 odpowiedzi

322,724 komentarzy

62,837 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

Kursy INF.02 i INF.03
...