Programación General > C/C++
Textboxes y Login's en C
(1/1)
CrimsonHeartX:
Ermm ... Hola,
Soy nuevo por aqui.... Pero no lo soy en C, bueno, la razon por que posteo esto, es porque hace unas semanas tube una practica en C y uno de los ejercicios (el primero, y quizas, mas dificil) me pedia que disenhiara un algoritmo que imprimiese *****'s en vez de caracteres cuando se leian por teclado (ej: Francis = *******), lo hice y funciono, pero un error del que me percate fue que cuando presiona cualquier tecla imprime un *, ya sea la tecla un caracter, un comando, o cualquier otro tipo de tecla, tambien repare ese error, sin embargo me tope con una tecla en especifico que me tiene apunto de volverme loco! ( :hitcomp:), es el "Backspace"(<_<), pense que solo tendria que hacer que, cuando presionaran esa tecla, volviera un caracter atras y lo reemplazase con un '' (Null, que en un string simboliza el final de la cadena), pero entonces, surgio otro problema (:(), como borrar el * que ya fue impreso?
/*NOTA: Si te aburre todo el blablabla de aya arriba, saltate aca*/
Mi pregunta es: Como hace un Login que funcione como un Textbox en C?
Aqui les pongo mi algoritmo:
--- Código: C ---#include <conio.h>#include <stdio.h>#include <string.h>#define ENTER 'r'#define BACKSPACE 'b'int astr(char x[]);char a[40];main(){ printf("tttt Passwordnn"); printf(" Password:"); astr(a); getch(); return 0; }int astr(char x[]){ int register cont=0; for(cont=0;cont<=40;cont++){ x[cont]=getch(); switch(x[cont]){ case ENTER: goto Out; break; case BACKSPACE: x[cont-1]=''; break; default: printf("*"); } } Out: printf("n El Password fue: %sn ",x); } Aproposito, La puse como funcion para que fuese mas entendible, ah, y otra cosa, no soy muy bueno en C++ (no me he acostumbrado aun ....) por favor expliquenme como funciona si me sugieren algun codigo en C++
betopin:
Yo en cada ciclo borraria la pantalla e imprimiria los asteriscos que representen la cantidad de caracteres ingresados...luego si solicitaria caracter
Saludos!
Navegación
Ir a la versión completa