En estos días me dio la curiosidad de querer hacer una función para la captura de contraseñas, y pues quiero compartir con ustedes lo que he hecho.
Bueno primeramente les pondré el prototipo de la función que he hecho. void cPass(char *pass, int longitud);
A la función la llame cPass y el primer parámetro que recibe es el array de caracteres, el segundo parámetro es un numero entero en el cual le enviamos el tamaño del array esto se hace para evitar un desbordamiento, es decir por ejemplo le mandamos 10 entonces la función al capturar el carácter numero 10 va a dejar de capturar sin necesidad de presionar enter.
Como se puede observar en la imagen esta función imprime asteriscos en ves de las teclas que presionamos ademas esta función permite el uso de la tecla backspace para borrar algún carácter.
Nota: La contraseña se almacena directamente en el array de caracteres que se le envia en el primer parámetro.
A continuación les muestro el código fuente de la función: #include <stdio.h> #include <string.h> #include <conio.h> #include <stdlib.h>
void cPass(char *pass, int longitud){ int cont=0; char cla;
Por aquí les dejo 2 enlaces para que descarguen el archivo .h que contiene la función y el archivo .cpp para que vean un ejemplo de como utilizar esta función.
GO es un lenguaje de programación moderno y de código abierto, el cual combina potencia, desempeño y seguridad de lenguajes como C++ y C#, también con la versatilidad de otros lenguajes más dinámicos como Python.
Aunque dicho lenguaje todavía está en fase beta pero eso ya es algo que Google nos tiene acostumbrados, dicho lenguaje combina lo mejor de los lenguajes más antiguos como C++ entre otros, con lo cual promete lograr una herramienta que revolucione la forma en la que actualmente programamos.
Con el lanzamiento de este nuevo lenguaje de programación, los voceros de la compañía aseguran que la programación de aplicaciones con este lenguaje será más productivo, rápido y divertido.
Una de las características de GO, es simple: Por ejemplo según la web oficial de GO, para programar el típico programa Hola Mundo, el código necesario seria el siguiente:
package main import "fmt" func main() { fmt.Printf("Hola mundo\n"); }
A continuación les dejo la conferencia impartida por Rob Pike sobre GO ( 30 de Octubre de 2009 ).
La librería winbgim cumple la misma función que la librería winbgi para Visual C++ 6.0. La única diferencia es que en Dev-C++ la incluimos así #include <winbgim.h> y en Visual C++ 6.0 la incluimos así #include <winbgi.h> como observaran la diferencia es una 'm' que se le agrega al final de winbgi en Dev-C++.
Para utilizar esta librería haremos lo siguiente: 1. Descargamos el siguiente instalador: winbgim
2. Luego de descargar el instalador lo instalamos.
3. Luego abrimos Dev-C++, click en Archivo colocamos el puntero del ratón en ->Nuevo y por ultimo hacemos click en ->Proyecto.
4. A continuación se visualizara una ventana con el titulo "Nuevo Proyecto", seleccionamos Console Graphics Application, ingresamos el nombre del proyecto y click en Aceptar.
5. Ahora copiamos el siguiente código: #include <winbgim.h>
#pragma comment(lib,"WinBGI.lib")
main(){ initwindow(400,400);
outtextxy(150,50,"Hola mundo xD"); outtextxy(60,70,"Presione una tecla para continuar...");
getch(); closegraph();
return 0; }
6. Y por ultimo click en Compilar y Ejecutar (F9).
En este tutorial se supone que has descargado el siguiente archivo:
Librería winbgi Visual C++ 6.0 (winbgiVisualCpp.zip)
Si aun no has descargado este archivo, lo puedes descargar desde |> aquí <|
Instalación de winbgi
1. Primero hay que descomprimir el archivo en cualquier directorio y luego observaremos que hay 3 carpetas
>EXAMPLE (Contiene ejemplos de la librería)
>EXE (Contiene los archivos que necesitamos para instalar esta librería)
>SOURCE (Contiene el código fuente de la librería)
2. Ahora haremos lo siguiente entramos en la carpeta EXE y copiamos el archivo winbgi.h de la carpeta EXE a la carpeta Include del compilador, que por lo general la ruta de acceso es C:\Archivos de programa\Microsoft Visual Studio\VC98\Include
3. Ahora volvemos a entrar en la carpeta EXE y copiamos el archivo WinBGI.lib de la carpeta EXE a la carpeta Lib del compilador, que por lo general la ruta de acceso es C:\Archivos de programa\Microsoft Visual Studio\VC98\Lib
Bueno con esto ya hemos terminado de instalar winbgi ahora solo nos falta probarla.
4. Creamos un nuevo documento en Visual C++ 6.0. Nota: El proyecto debe ser Win32 Console Application Files debe ser C++ Source File
5. Ahora copiamos el siguiente código: #include <winbgi.h>
#pragma comment(lib,"WinBGI.lib")
main(){ initwindow(400,400);
outtextxy(150,50,"Hola mundo xD"); outtextxy(60,70,"Presione una tecla para continuar...");
getch(); closegraph();
return 0; }
6. Ahora compilamos y ejecutamos y nos tendrá que aparecer la siguiente ventana.
Listo ya tenemos winbgi en Visual C++ 6.0 xD, espero que les sea de mucha ayuda este tutorial y pronto publicare como instalarla en DEV-C++.
La librería winbgi es una emulación de graphics.h que normalmente esta disponible para compiladores borland. Esta librería se trata de una versión para el compilador Visual C++ 6.0
Windows BGI (o WinBGI) es una versión de la BGI (Borland Graphics Interface) con capacidad para crear gráficos en pantalla.
Las funciones que contiene esta librería permiten, escribir en modo gráfico en la pantalla punto a punto también como figuras geométricas, etc.
El siguiente programa multiplica 2 números por medio de recursividad.
En dicho programa se analizan algunos aspectos:
1. Cuando el segundo numero ingresado es 0 entonces el programa deberá de retornar 0.
2. Cuando el segundo numero ingresado es 1 entonces se deberá retorna el valor del primer numero ingresado.
3. Si el segundo numero ingresado es distinto de 0 y 1 entonces hay que evaluar lo siguiente:
3.1 Si el segundo numero es mayor que 1 entonces retornaremos lo siguiente a+multiplicar(a, b-1); "Donde a es el primer numero ingresado y b es el segundo" y para llegar al caso base vamos a decrementar a b en 1.
3.2 Si el segundo numero no es mayor que 1 y su valor no es 1 y tampoco es 0 entonces retornaremos -a+multiplicar(a, b+1); y incrementaremos a b en 1 para que llegue a un caso base.
Código en C: |>Descargar<| #include<stdio.h> #include<stdlib.h>
int multiplicar(int a, int b);
main(){ int a, b; printf("Ingrese el primer numero:"); scanf("%d", &a); printf("\nIngrese el segundo numero:"); scanf("%d", &b);
La función strcmp(); pertenece a la librería string.h
El prototipo de la función es: int strcmp(const char *s1, const char *s2);
Esta función compara la cadena apuntada por s1 con la cadena apuntada por s2, la función retorna 0 si las 2 cadenas son iguales, si s1 es mayor que s2 entonces retorna un valor mayor que 0 y si s1 es menor que s2 retorna un valor menor que 0.
Nota: La función strcmp al comparar estas dos cadenas "HOLA" y "hola" el resultado es que son diferentes debido a que esta función encuentra diferencias por las mayúsculas y minúsculas
Un ejemplo de como utilizar esta función en C: #include<stdio.h> #include<string.h> #include<stdlib.h>
main(){ char c1[15]="HOLA", c2[15]="hola"; int n;
n = strcmp(c1,c2);
if(n==0){ printf("Las dos cadenas \"%s\" y \"%s\" son iguales.\n", c1, c2); } else{ if(n>0){ printf("La cadena \"%s\" es mayor que \"%s\".\n",c1,c2); } else{ printf("La cadena \"%s\" es menor que \"%s\".\n",c1,c2); } }
FreeDFD 1.1 es un editor de diagramas de flujo con el que podemos dar forma gráfica a nuestros algoritmos y también nos permite ejecutar y depurar en caso de que encontremos algún error.