Zeichen bei Eingabe in *** verwandeln...

wedhead

Mitglied
Hi,


ich hab in borland c++ 6 ne konsolenanwendung gemacht, wo man einen pin eingeben muss um auf bestimmte funktionen inerhalb ner kalsse zugreifen zu können.


mal angenommen der code ist 1234

und ich habe: int pin; cout<<"code eingeben: ";cin>>pin;

dann erschein code eingeben: "hier cursor"

nun soll bei eingabe sofort das zeichen in der anzeige mit einem * ausgetauscht werden, aber der eingegeben wert soll als pin erhalten bleiben


könnt ihr mir da bei der umsetzung helfen ?



thx im voraus

Weedy
 

Kangaxx

Mitglied
Also ich habs so gemacht:


Code:
#include <iostream>
  #include "conio.h"
  using namespace std;
  
  //Variablen für Eingabe..
  int  i_Pressed_Key;
  char c_Password[4]; 
  
  int _tmain(int argc, _TCHAR* argv[])
  {
  
  //for-Schleife für die Größe des Passwords.. kannst du von der Länge abhängig machen..
  	for(int i  = 0;
  			i <= 3;
  			i++)
  	{
  //Zeichen als int speichern, getch() ist ungepuffert, d.h es wird nicht direkt ausgegeben.
  		i_Pressed_Key = getch();
  
  //Falls eingegebenes Zeichen kein *
  	if( i_Pressed_Key != 42 )
  	{
  //Password speichern und Stern anzeigen
  		c_Password[i] = (char)i_Pressed_Key;
  		cout << "*";
  
  	}
  	}
   system("Pause");
  	return 0;
  }