Autor
|
Tema: ayuda en trabajos de clase (Leído 2,920 veces)
|
ivan rios
Desconectado
Mensajes: 7
|
Buen dia, soy estudianrt de ing primer semestre y el docente para trabajo final nos pide hacer lo que esta a continuacion, no necesito que me lo hagan, solo quisiera que me guiaran como ir desarrollando este proyecto, ya que se me dificultad el manejo de archivos, ya que este tema el no lo enseño. pdt: muchas gracias
Se pide hacer un aplicativo en lenguaje C, tal que administre un programa que permita primero acceso con un modulo de usuarios con “username” y “password” para cada usuario, registrando el “log” de acceso a todos los usuarios y luego permita manejar un modulo que permita graficar una función polinómica del tipo f(x). Requerimientos para todo el aplicativo: - La función main(), no puede tener mas de quince(15) líneas. - Se deben utilizar funciones - No se pueden definir variables globales MODULO USUARIOS Al ejecutar la aplicación, deberá aparecer la siguiente pantalla: Aplicativo – Graficador - UTP Username:
La primera vez que se ejecute el programa, si el usuario es root debe pedir que registre un “password” y salir del aplicativo Aplicativo – Graficador - UTP Username: root Password: ********
El password es de un mínimo de cuatro (4) caracteres alfanúmericos. Debe enmascararse con asteriscos “****”, debe encriptarse por desplazamiento y palabra clave., ambos definidos por el programador y previamente guardados en el archivo “seguridad.gra”. Este archivo tiene un registro de dos(2) campos. 1)Valor de desplazamiento. 2) Palabra Clave. Si al validar el password, este es incorrecto, debe volver a pedir el “username”. A la tercera oportunidad de password incorrecto, debe terminar el aplicativo. SI el password es correcto, debe presentar el siguiente menú para usuario root Aplicativo – Graficador – UTP Menú principal para usuario: root 0. Salir del aplicativo 1. Crear nuevo usuario 2. Borrar usuario 3. Listar accesos por usuario 4. Listar accesos todos los usuarios 5. Imprimir gráfico por referencia 6. Cambiar password del usuario root 7. Cambiar password de un usuario Para la opción seis(6). “Cambiar password del usuario root”, debe pedir el password anterior y validar si es el correcto. Si el password es incorrecto, debe informarlo y regresar al menú principal para usuario: root. Si el password es el correcto, debe pedir dos veces el nuevo password y validar si las dos veces entro el mismo. Se debe enmacarar con asteriscos(*) los password, si no coinciden debe informarlo y regresar al menú principal para usuario: root. Para la opción siete(7) Cambiar password de un usuario, debe preguntar el “Username” del usuario al que le desea cambiar el password. Debe validar que este. Si no esta debe informarlo y regresar al menú principal para usuario: root. Si existe, debe pedir dos veces el nuevo password y validar si las dos veces entro el mismo. Se debe enmacarar con asteriscos(*) los password, si no coinciden debe informarlo y regresar al menú principal para usuario: root
Ahora, si al entrar al aplicativo el usuario no es “root”, debe validar que el usuario exista. Si no esta este usuario, debe informarlo y volver a pedir un nuevo “username”. A la tercera oportunidad de “username” inexistente, debe terminar el aplicativo. Luego debe pedir el “password”. Si al validar el password, este es incorrecto, debe volver a pedir el “password”. A la tercera oportunidad de password incorrecto, debe terminar el aplicativo. Si el usuario existe y el password es correcto, debe presentar el siguiente menú: Aplicativo – Graficador – UTP Menú principal para usuario: XXXXXX 0. Salir del aplicativo 1. Crear un nuevo gráfico 2. Borrar un gráfico existente 3. Listar accesos 4. Imprimir gráfico por referencia(si es suyo) 6. Cambiar password del usuario XXXXX Para la opción seis(6). “Cambiar password del usuario XXX”, debe pedir el password anterior y validar si es el correcto. Si el password es incorrecto, debe informarlo y regresar al menú principal para usuario: XXXXX Si el password es el correcto, debe pedir dos veces el nuevo password y validar si las dos veces entro el mismo. Se debe enmacarar con asteriscos(*) los password, si no coinciden debe informarlo y regresar al menú principal para usuario: XXXXX. Para la opción 3(Listar accesos) debe ordenarlo por fecha
MODULO DEL GRÁFICADOR A este modulo del aplicativo no se puede ingresar, si hubo problemas en el modulo de usuarios. Se pide opere en modo gráfico, con funciones. Tal que lea una función polinómica del tipo f(x). f(x)= A1Xn+ A2Xn-1+ ...AnX1+ b Donde: A1, A2...An son los coeficientes y b el termino independiente. Ejemplo: f(x) = 348 X5 – 784 X2 + 6. Consideraciones: - En cualquier caso la ecuación, debe leerse como una cadena de caracteres (Vgr: char *u). - El usuario entra el rango (dominio) de datos a gráficar y el incremento(para los puntos). - Los puntos en la pantalla se mostrarán con una “x” y se unirán con líneas en modo gráfico. - Se debe escalar en el eje X y el eje Y - Los ejes de las coordenadas deben ajustarse solo a los cuadrantes que se van a utilizar. - Los coeficientes son enteros.
|
|
|
En línea
|
|
|
|
engel lex
|
realmente nunca aclaraste tu problema realmente, por favor, explica detalladamente tus dudas, muestra los errores que te dan tus codigos... con eso podemos ayudarte
el otro tema fue borrado está prohibido hacer doble post
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
ivan rios
Desconectado
Mensajes: 7
|
a gracias, la verdad tengo muchas dificultades, pero mi promblema esta al abrir un archivo ya que lo ejecuto la primera vez y guardo la contraseña, pero luego como podria saber que el usuario ya esta registrado y comparar si su clave es la correcta? no escribo el codigo ya que es demasiado largo con mas 300 -400 lineaas.
|
|
|
En línea
|
|
|
|
calantra
Desconectado
Mensajes: 6
|
a gracias, la verdad tengo muchas dificultades, pero mi promblema esta al abrir un archivo ya que lo ejecuto la primera vez y guardo la contraseña, pero luego como podria saber que el usuario ya esta registrado y comparar si su clave es la correcta? no escribo el codigo ya que es demasiado largo con mas 300 -400 lineaas.
Usa struct para los datos Usario y password. Crea el fichero "seguridad.gra" conteniendo esos datos, lo cascas en binario tal cual. Luego lo cargas haciendo lo opuesto a lo anterior. Para comprobar nombres, recorre la matriz de tipo struct y vas comparando nombre de usuario para identificar si es nuevo y luego password para ver si es correcto. Un saludo.
|
|
|
En línea
|
|
|
|
ivan rios
Desconectado
Mensajes: 7
|
hola buen dia, llevo esta parte; me podrias guiar con lo otro, ya lee el usuario root y guarda su contraseña pero no se como compararla la segunda vez. (soy un poco nuevo en programacion)
#include <stdlib.h> #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream> #include <string.h> #include <conio.h>
void menuppal(); int recibeusuario(); int usuarioroot(); int otrousuario(); int funcionroot(); int compruebausuario(); int funcionclave(); int segundavezroot(); ///////////////////DEFINICIONES DE VARIABLES A UTILIZAR///// char usuario[32]; char root[]="root"; int i; FILE *archivo; char clave[8]; /////////////////////FUNCION MAIN////////////////////////////////////////////////////////// int main() {menuppal(); return 0;}
void menuppal(){ printf ("\t\tAPLICATIVO-GRAFICADOR-UTP\n"); printf("USERNAME:"); recibeusuario(); getch;
}
int recibeusuario(){
archivo=fopen ("seguridad.gra", "r"); if(archivo) ///////COMPRUEBA SI CONTIENE ALGO EL ARCHIVO { compruebausuario(); } else {funcionroot();} //////llama a la funcionroot fclose(archivo); } int funcionroot(){ ///////SI ES LA PRIMERA VEZ SE EJECUTA ESTA FUNCION/////////// archivo=fopen("seguridad.gra", "w"); /////CREAMOS ARCHIVO Y GUARDAREMOS NOMBRE Y CONTRASEÑA////// printf("root"); fwrite(root,sizeof(char),sizeof(root),archivo); fclose(archivo); funcionclave(); /////LLAMADO A LA FUNCION CLAVE PARA ENCRITAR////// } compruebausuario(){segundavezroot(); } /////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////INICIO DE LA FUNCION CLAVE///////////////// int funcionclave() {
char clave[8];
printf("\nPOR FAVOR INGRESE LA CLAVE: "); int conta=0; int i=0; int intent=3; //Se piden caracteres hasta que se introduca enter while(clave!=13) {
//Capturamos carácter clave=getch();////cifrado por desplazamiento //Si es un carácter válido y no se ha sobrepasado el límite de 20 caracteres se imprime un asterisco if(clave>32 && i<24) { printf("*"); i++; } //Si se pulsa la tecla RETROCESO, se retrocede un carácter, se imprime un espacio para eliminar el asterisco y se vuelve a retroceder para que el siguiente asterisco se coloque a continuación del anterior. else if(clave==8 && i>0) { printf("%c",8); printf(" "); printf("%c",8); i--; } } clave='\0'; archivo = fopen("seguridad.gra", "a");////abre el archivo en modo de agregar escritura////// for(i=0;i<24;i++); /////funcion que escribe la clave en el archivo////////// {fwrite(clave,sizeof(char),sizeof(clave),archivo);} fclose(archivo);
system("cls"); menuppal(); }
/////////////////FUNCION SEGUNDA VEZ ROOT///////////////// ///////////////////////////////////////////////////// int segundavezroot(){ char *compruebaroot; gets(compruebaroot); printf("%s",compruebaroot);
}
muchas gracias.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema de interacion entre una clase Interfaz y la clase que la llama
Java
|
yeah69
|
4
|
4,531
|
21 Mayo 2010, 06:30 am
por we4rt
|
|
|
[Ayuda]Programa para hacer trabajos de textos
Software
|
Senior++
|
1
|
1,523
|
1 Junio 2013, 04:41 am
por simorg
|
|
|
Como sobre-escribir un método de una clase base en una clase heredada?
Programación C/C++
|
julian21931500
|
5
|
3,858
|
25 Febrero 2015, 23:49 pm
por ivancea96
|
|
|
Ayuda llamar a una clase y sus métodos dentro de otra clase (Android)
Java
|
LikeVodka
|
1
|
6,248
|
19 Abril 2015, 11:22 am
por MNicolas
|
|
|
[Ayuda] Auditar detalles trabajos impresión en Windows
Programación General
|
duke3d
|
0
|
1,934
|
17 Mayo 2015, 01:23 am
por duke3d
|
|