Resultados 1 al 11 de 11

Tema: ayuda en c++

  1. #1 ayuda en c++ 
    Iniciado
    Fecha de ingreso
    Oct 2006
    Mensajes
    8
    Descargas
    0
    Uploads
    0
    bueno kisiera saber si alguien sabe como aser un programa q pida contraseñas y esto guardarlo en una cadena de caracteres por favor responder con el codigo fuente
    Citar  
     

  2. #2  
    Iniciado
    Fecha de ingreso
    Oct 2006
    Mensajes
    8
    Descargas
    0
    Uploads
    0
    a me olvide pero al pedir contraseña no aparesca lo q se digita sino asteriscos o puntos
    Citar  
     

  3. #3  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.155
    Descargas
    4
    Uploads
    0
    Este programa es demasiado fácil, haría mal en darte el código y evitar que pienses por tí mismo (además me da hueva hacerlo).
    Entra a c.conclase.net para que vayas aprendiendo a programar.
    Unas pistas:
    Para que ponga asteriscos en lugar de las letras, simplemente con con cout<<"*" en un ciclo cada vez que reciba una letra, hasta que presione enter, o con un strlen() para saber cuantos asteriscos debe poner.
    La cadena de caracteres es simplemente así:
    char cadena[longitud]; en donde longitud es un numero entero para la longitud máxima de la cadena.
    Un saludo
    Última edición por Giskard; 18-10-2006 a las 06:11
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  4. #4  
    Iniciado
    Fecha de ingreso
    Oct 2006
    Mensajes
    8
    Descargas
    0
    Uploads
    0
    bueno disculpen por no especificarme bien en mi pregunta yo busco una funcion o procedimiento para aser un programa donde te pide una contraseña como la de esta pagina cuando te registras te piden una contraseña y en el lugar donde se tiene q digitar no aparece lo q digitas sino q aparecen asteriscos o en otros casos puntos y estos datos son almacenados por favor si saben sobre alguna funcion q aga esto por favor escribirla en c++ o en asm........
    Citar  
     

  5. #5  
    Iniciado
    Fecha de ingreso
    Oct 2006
    Mensajes
    8
    Descargas
    0
    Uploads
    0
    este es mipequeño programa:
    #include <fstream.h>
    main()
    {fstream a;//esto es para crear un texto q almacene la contraseña
    char p[256];//esto la cadena q almacenara la contraseña
    a.open("micontraseña",io::app);
    cout<<"ingrese su contraseña: \n";*/aqui es el problema que despues q salga esto aparesca asteriscos cuando se digite/*
    cin>>p;
    a<<p;
    a.close();
    system("pause");
    }
    Citar  
     

  6. #6  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.155
    Descargas
    4
    Uploads
    0
    despues del mensaje "ingrese su contraseña" escribes un codigo como esto:
    Código:
    i=0;
        do{
        p[i]=getch();
        cout<<"*";
        i++;
    }while(p[i-1] != ENTER);
    Donde ENTER es el valor ascii de la tecla ENTER, cuando esta sea presionada, se indicará que ha terminado de escribir la contraseña. Es un valor entero que ahora no recuerdo, pero trabajando un poquito lo encontrarás.

    Suerte
    Última edición por Giskard; 19-10-2006 a las 04:49
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  7. #7  
    Medio
    Fecha de ingreso
    Jan 2006
    Mensajes
    98
    Descargas
    0
    Uploads
    0
    Creo que lo que quiere hacer spxm no es lo que tu le dices Giskard.

    Primero el valor de ENTER en C/C++ puedes ponerlo como salto de linea o sea '\n' y no es necesario asi usar el codigo numerico de la tecla.

    Segundo si haces lo que te dice Giskard, despues de leer cada letra imprimiras un asterisco pero eso no te quita de que la contraseña se vea.

    Creo que este problema es mas dificil de lo que parece ya que creo que hay que hacer un programa aparte que controle la pantalla del flujo de entrada y es necesario "esconder" lo introducido pero la verdad es que yo no tengo ni idea de como se haria. Si alguien sabe algo sobre el tema se agradeceria porque a mi tambien me interesa ahora. Saludos
    Citar  
     

  8. #8  
    Iniciado
    Fecha de ingreso
    Oct 2006
    Mensajes
    8
    Descargas
    0
    Uploads
    0
    bueno lo pude haser me abia olbidado de las funciones de getch y de getche donde el primero recoge lo digitado sin mostrarlo y el otro lo recoge con visualisacion lo malo de estas funciones es q la probe en un compilador antiguo y las letras igual se mostraban pero en el nuevo compilador si resultaban.......grasias GisKard
    pero lo ise de esta forma:
    #include <fstream.h>
    main()
    {fstream a;//esto es para crear un texto q almacene la contraseña
    char p[256];//esto la cadena q almacenara la contraseña
    a.open("c:\\micontraseña.txt",ios::app);//aca se puede crear cualquier tipo de archivo yo elegi txt
    cout<<"ingrese su contraseña: ";
    p[i]=getch();
    while(p[i]!=ENTER)
    {cout<<"*";
    a<<p[i];
    i++;
    }
    a.close();
    system("pause");
    }
    bueno creo q tendre q repasar mis lecturas de c++................
    grasias por las ayudas
    Saludos
    Citar  
     

  9. #9  
    Avanzado
    Fecha de ingreso
    Sep 2006
    Mensajes
    200
    Descargas
    1
    Uploads
    0
    Ese código funciona? Donde esta inicializado "i"? Además el while ese es totalmente inútil, que se supone que tiene que hacer?
    Citar  
     

  10. #10  
    Iniciado
    Fecha de ingreso
    Oct 2006
    Mensajes
    8
    Descargas
    0
    Uploads
    0
    bueno la variavle i me lo olvide ponerlo pero se supone que se inicialisa en int i=0;y char enter='\n';
    lo q realisa este pequeño programa es pedir una simple contraseña asta q se presione enter y esta contraseña guardarlo en un archibo de texto q al correr el programa se crea en la direccion especificada.
    saludos..
    Citar  
     

  11. #11  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.155
    Descargas
    4
    Uploads
    0
    Cita Iniciado por Polimeron
    Creo que lo que quiere hacer spxm no es lo que tu le dices Giskard.
    Estoy seguro de haber interpretado bien su pregunta, no sé entonces que crees que quería.

    Cita Iniciado por Polimeron
    Segundo si haces lo que te dice Giskard, despues de leer cada letra imprimiras un asterisco pero eso no te quita de que la contraseña se vea.
    Para tu información existen dos funciones distintas en la libreria conio.h:

    getch(). La función getch retorna el carácter leído desde el teclado. (sin ponerlo en pantalla)
    getche(). Lee un solo carácter directamente desde el teclado, mostrando tal carácter en pantalla, a través de la BIOS o por directamente a vídeo.

    Por supuesto, también está la función getpass() pero esta no muestra asteriscos en la pantalla, que era lo que quería spxm.

    Para más información puedes visitar el siguiente enlace:
    http://www.conclase.net/c/Borland/li....php?lib=conio
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

Marcadores

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •