Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Programa en C++ que simule un activador de licencias.

Estas en el tema de Programa en C++ que simule un activador de licencias. en el foro de C/C++ en Foros del Web. La licencia consiste en un archivo de texto de nombre licencia.txt que se almacenará en el mismo directorio que el programa a controlar. Cada licencia ...
  #1 (permalink)  
Antiguo 23/03/2015, 06:14
 
Fecha de Ingreso: marzo-2015
Ubicación: Oviedo
Mensajes: 1
Antigüedad: 9 años, 1 mes
Puntos: 0
Programa en C++ que simule un activador de licencias.

La licencia consiste en un archivo de texto de nombre licencia.txt que se almacenará en el mismo
directorio que el programa a controlar. Cada licencia está identificada mediante 6 números hexadecimales
de 32 bits sobre los cuales se lleva a cabo una función de validación para comprobar si la licencia es
correcta o no. El formato del archivo de licencia es el siguiente:
LLLLLLLL-LLLLLLLL-LLLLLLLL-LLLLLLLL-LLLLLLLL-LLLLLLLL
Donde LLLLLLLL es un número hexadecimal arbitrario de 32 bits.
Por ejemplo, un archivo de licencia podría contener el siguiente texto:
AC12378F-D324B1FF-9CD3197F-343BBD76-452DDF48-11F243AD
Para comprobar la validez de una licencia se llevarán a cabo una serie de operaciones aritméticas y lógicas
sobre los 5 primeros números hexadecimales, obteniendo un número hexadecimal de 32 bits que debe
coincidir con el sexto número de la licencia.
A. El programa debe tener las siguientes características:
 La función principal, main(), debe escribir un mensaje por pantalla que indique si la
comprobación de la licencia ha tenido éxito o no. Para llevar a cabo esta tarea debe llamar a
dos funciones: CargaLicencia() y EsLicenciaValida ().
 Una función CargaLicencia() con el siguiente prototipo:
void CargaLicencia(bool& existe, unsigned int longLicencia,
unsigned int licencia[]);
Esta función lee el archivo de licencia llamado licencia.txt y lleva al array licencia[] los
números de 32 bits de la licencia. Si el archivo de licencia no existe devuelve false en la 2
variable existe. En caso contrario devuelve true.
 Una función EsLicenciaValida () con el siguiente prototipo:
bool EsLicenciaValida(unsigned int licencia[]);
Esta función comprueba la licencia que recibe como parámetro. Si es correcta devuelve true y
en caso contrario false. En esta primera fase el algoritmo de comprobación de la licencia
consistirá en sumar los 5 primeros enteros de la licencia y comprobar si la suma coincide con el
último entero.
B. Para comprobar el funcionamiento del programa deben generarse dos archivos de
licencia: uno correcto de nombre licencia-correcta.txt y otro incorrecto de nombre licenciaincorrecta.txt.
Los 5 primeros números de la licencia contenidos deben ser aleatorios en ambos
casos, esto es, no deben emplearse números como 00000000 o FFFFFFFF. Simplemente copiando
cada uno de los archivos anteriores con el nombre licencia.txt y ejecutando el programa puede
probarse su correcto funcionamiento.
C. Finalmente, empleando la licencia correcta anterior debe ejecutarse el programa con
el depurador del Visual Studio y detener la ejecución del programa nada más ejecutar la primera
instrucción de la función CargaLicencia(). Una vez se ha detenido la ejecución en ese punto
deben mostrarse en memoria los parámetros de la función y llevar a cabo una captura de pantalla.
En la memoria del trabajo debe incluirse la captura de pantalla resaltando sobre la misma los
parámetros de la función CargaLicencia().
  #2 (permalink)  
Antiguo 23/03/2015, 06:20
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Programa en C++ que simule un activador de licencias.

¿Nos estás pidiendo que te hagamos el ejercicio?

-> Lo siento, no se hacen tareas. Otra cosa es que decidas pagar a alguien para que te haga el trabajo... pero no creo que sea el caso.

¿Nos estás mandando tarea para casa?

-> Lo siento, esto no es la universidad y tu no eres el profesor

¿Necesitas ayuda?

-> Has venido al lugar adecuado. Comenta tus dudas (por favor, que no sea algo en plan... no se cómo empezar) y pon fragmentos de código que ayuden a entender tu problema o donde se encuentre el fallo que no te permite avanzar.

Un saludo.

Etiquetas: funcion, int, memoria, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 05:09.