Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2011, 10:21
pacoman
 
Fecha de Ingreso: septiembre-2011
Mensajes: 22
Antigüedad: 12 años, 7 meses
Puntos: 1
Busqueda Contraseña oculta

Hola, estoy buscando un código o más bien arreglar este código para introducir una consaseña que no se vea al escribirla y que luego la compare con otra variable.

(Este codigo lo he encontrado [URL="http://mx.answers.yahoo.com/question/index?qid=20080524110513AAfFtP4"]aquí[/URL])

Código C++:
Ver original
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4. #include<conio.h>
  5. #define H 100
  6. int main(){
  7.  
  8.  
  9. char contr[H],vec2[H]
  10. int a;
  11. char c;
  12.  
  13. printf("\nDime cual quieres q sea tu contraseña: ");
  14. gets(contr);
  15. system("cls");//limpia pantalla
  16. a=1;
  17. do {
  18.  
  19. system("cls");
  20. printf("\n\t...:::Dame la contraseña:::...\n\n ");
  21. a=0;
  22.  
  23. do
  24. {
  25. c=getch();
  26. printf("*");
  27. vec2[a]=c;
  28. a++;
  29. }while(c!=13);//mientras no de enter
  30.  
  31. vec2[a-1]='\0';/* le pone un caracter de fin para q no de error al comparar en el siguiente if*/
  32.  
  33. if(strcmp(contr,vec2)==0){
  34. printf("\n\n\tContraseña Correcta");
  35. a=1;}
  36. else{
  37. printf("\n\n\tContraseña invalida");
  38. a=0;}
  39. printf("\n\n");
  40. system("pause");
  41. }while (a!=1);
  42.  
  43.  
  44. return 0;
  45. }//fin del main

Mi problema es que no quiero que me pida la primera contraseña, sino que ya esta en una variable. Lo he editado y me ha quedado así:

Código C++:
Ver original
  1. #include<stdlib.h>
  2. #include<stdio.h>
  3. #include<string.h>
  4. #include<conio.h>
  5. #define H 100
  6. int main(){
  7.  
  8.  
  9. char contr[H];
  10. char vec2[H];
  11. int a;
  12. char c;
  13.  
  14.  
  15. contr[0]='p';
  16. contr[1]='\0';
  17.  
  18. do {
  19.  
  20. system("cls");
  21. printf("\n\t...:::Dame la contraseña:::...\n\n ");
  22. a=0;
  23.  
  24. do
  25. {
  26. char contr[H],vec2[H];
  27. int a;
  28. char c;
  29.  
  30. c=getch();
  31. printf("*");
  32. vec2[a]=c;
  33. a++;
  34. }
  35. while(c!=13);
  36.  
  37. vec2[a-1]='\0';
  38.  
  39. if(strcmp(contr,vec2)==0){
  40. printf("\n\n\tContraseña Correcta");
  41. a=1;}
  42. else{
  43. printf("\n\n\tContraseña invalida");
  44. a=0;}
  45. printf("\n\n");
  46. system("pause");
  47. }while (a!=1);
  48.  
  49.  
  50. }

Lo único es que al ejecutar el programa con mi código, se bloquea y se cierra.