Avatar billede tortuga Nybegynder
22. november 2001 - 13:58 Der er 4 kommentarer og
2 løsninger

sløring af password

Jeg er ved at lave at lille program der kræver at man logger på. Man skal derfor taste sit brugernavn og password ind. spørgsmålet er så hvordan man får den til at skrive stjerner (eller intet) når man skriver password\'et.

Det skal nok lige siges at jeg er ret ny til c++ og at programmet skal afvikles i dos. Jeg bruger MS VC++ 6 til at skrive det i.

På forhånd tak.
Avatar billede mickni33 Nybegynder
22. november 2001 - 14:10 #1
prøv dette

int c=0;
char a[20];
while(a != \'\\n\'){
a[c]=getch();
cout<<\"*\";
c++;
}

cout<<a;
Avatar billede mickni33 Nybegynder
22. november 2001 - 14:15 #2
sorry der var problemer med at komme igennem
det skal se sådan ud

int c=0;
char buffer[20];
char a;

while(a != \'\\n\'){
a=getch();
buffer[c]=a;
cout<<\"*\";
c++;
}

cout<<buffer;
Avatar billede tortuga Nybegynder
22. november 2001 - 15:25 #3
Jeg har lige fiddlet noget med det, men det vil ikke rigtig gøre det alligevel. Skal jeg sætte min cin <<..... inde i while løkken??
her er min kode:

#include <iostream.h>
#include <conio.h>
main ()
{
int c=0;
char buffer[20];
char a;
char n[11];

cout << \"navn: \";
cin >> n;
cout << \"pass: \";
cin >> a;

while(a != \'\\n\')
{
a=getch();
buffer[c]=a;
cout<<\"*\";
c++;
}

cout<<buffer;
return 0;
}


og dette virker desværre ikke...den skriver det man selv skriver, og efter man trykker enter sker der bare intet...

er der en anden input end cin??
Avatar billede mickni33 Nybegynder
22. november 2001 - 18:46 #4
Undskyld jeg forklarede mig ikke ordentlig.
men getch() skulle gøre det istedet for cin>> så
prøv denne version

#include <iostream.h>
#include <conio.h>
main ()
{
int c=0;
char buffer[20];
char a;

while(a != \'\\n\')
{
a=getch();
buffer[c]=a;
cout<<\"*\";
c++;
}

cout<<buffer;
return 0;
}
Avatar billede zero-hero Nybegynder
25. november 2001 - 23:57 #5
øhh min dev c++ siger der er en fejl!!

\\Zero-Hero
Avatar billede tortuga Nybegynder
26. november 2001 - 09:15 #6
sådan her virker det:#include <stdio.h>
#include <conio.h>

main ()
{
  int c=0;
  char buffer[20];
  char a;
  char n[11];
  bool Continue = 1;

  printf(\"Name: \");
  scanf(\"%s\",&n);
  printf(\"Password: \");

  while (Continue)
  {
    a=getch();
    if (a == 13)
    {
      Continue = 0;
      buffer[c] = 0;
    }
    else
    {
      buffer[c]=a;
      printf(\"*\");
      c++;
    }
  };
  printf(\"\\n%s\\n\",buffer);

  return 0;
}

Denne linie:  printf(\"\\n%s\\n\",buffer); er bare for at se hvad der bliver skrevet ind og skal kun bruges til at teste at det virker. Den skal selvfølgelig ikke være med når det skal sættes sammen med \"resten af ens program\".

Jeg takker for hjælpen, du får ikke fuld points men da du hjalp med at sige jeg skulle bruge getch får du noget.

Hilsen TortugA
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester