hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
05 de ſeptiembre de 2008, 11:05:22
Noticias: Participa en el batch lab de CPH
Para ver este enlace Registrate o Inicia Sesion
aqui

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  C / C++
| | | |-+  Código Abierto (Moderadores: mycrox, TxShAcK)
| | | | |-+  Ingreso Sesiones
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Ingreso Sesiones  (Leído 178 veces)
Grib_Jr.
NZ2
**
Desconectado Desconectado

Mensajes: 153


Querer es poder


Ver Perfil
« : 15 de Marzo de 2008, 05:43:50 »

Ingreso Sesiones
Bueno este code lo que hace es que abre un menu, con dos opciones, ingresar o crear cuenta, si pones crear cuenta guarda en un fichero los datos ID, PASS, NICK y con la opcion ingresar, ingresas tu cuenta (ID PASS) y dira bienvenido "NICK".

La verdad este programa podria ser mucho mejor, por ejemplo cifrar los datos para que no se pueda ingresar directamente a ellos, y bueno, cuando sepa un poco mas de sockets, vere si puedo hacer un chat usando de base este code



Code:
Código:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
     
// Inicio del Programa
main ()
{
     char posID[10], posPASS[10], posNICK[10];
     char Fname[]="Datos.txt";
     int X,i, opc, comp, NUM=0;
     FILE* folder;
     
// Menu Inicio
     MENU:
     system("cls");
     system("color 07");
     printf("Elija una opcion: \n");
     printf("1.- Ingreso\n");
     printf("2.- Crear Cuenta\n");
     printf("3.- Salir\n\n");
     printf("Opcion Nro: ");
     scanf ("%i", &opc);
     system("cls");     
     folder = fopen(Fname,"a+");
     if (!folder)
     {
     printf("Error, no se pueden iniciar los ficheros\n\n");
     system("pause");
     exit(1);
     }
     fseek(folder, -4,SEEK_END);
     fscanf(folder,"%i",&NUM);
       
     char ID[NUM][10], PASS[NUM][10], RePASS[10], NICK[NUM][10];
     
     switch(opc)
     {               
// Opcion 1: Ingreso
// Abriendo Archivo (Solo lectura)
     case 1:
     INGRESO:
     rewind(folder);   
     for(i=1;i<=NUM;i++)
     {
     fscanf(folder,"ID: %s PASS: %s NICK: %s NUM: %i\n", &ID[i], &PASS[i], &NICK[i], &X);
     }     
     X=-1;     
     printf("Ingreso\n");
     printf("Acontinuacion ingrese sus datos:\n");
     printf("\n\tID  : ");
     scanf ("%s", &posID);
     printf("\tPass: ");
     scanf ("%s", &posPASS);
     
     for(i=1;i<=NUM;i++)
     {
          if (0 == strcmp(posID,ID[i]))
          {     X=i;
                    i+=NUM;
          }
     }
     if (X == -1)
     {     
           system("cls");
           printf("La cuenta no existe\n\n");
           system("pause");
           system("cls");
           goto INGRESO;
     }
     
     if (0 != strcmp(posPASS,PASS[X]))
     {
           system("cls");
           printf("Password incorrecto\n\n");
           system("pause");
           system("cls");
           goto INGRESO;
     }     
     
     system("cls");
     system("color 0e");
     printf("Sesion Iniciada\n");
     printf("Bienvenido %s, presiona una tecla para continuar.", NICK[X]);
     system("pause>NULL");
     goto MENU;
     break;
       
// Opcion 2: Crear Cuenta
// Abriendo Archivo (Modificable)
     case 2:
     FORMU:
     
     if (NULL == freopen(Fname,"a",folder))
     {
     printf("Error, no se pueden iniciar los ficheros\n\n");
     system("pause");
     exit(1);
     }
         
     system("cls");
     printf("Crear Cuenta\n");
     printf("Porfavor complete los siguientes datos:\n\n");
     printf("ID   (max. 10): ");
     scanf ("%s", &ID);
     printf("Nick (max. 10): ");
     scanf ("%s", &NICK);
     printf("Pass (max. 10): ");
     scanf ("%s", &PASS);
     printf("Repita Pass   : ");
     scanf ("%s", &RePASS);
     system("cls");
     comp = strcmp(PASS[0],RePASS);
     if (comp!=0)
     {
     printf("Has ingresado contraseñas diferentes\n\n");
     system("pause");
     goto FORMU;
     }
     system("color 0a");
     NUM++;
     fprintf(folder,"ID: %s PASS: %s NICK: %s NUM: %i\n", ID, PASS, NICK, NUM);
     printf("Los siguientes datos han sido guardados: \n\n");
     printf("ID  : %s\t\t", ID);
     printf("Nick: %s\n", NICK);
     printf("Pass: %s\n\n", PASS);
     printf("Pulse una tecla para volver al menu inicio...");
     system("pause>NULL");
     if (fclose(folder)!=0)
{
     printf("Error, no se pueden cerrar los ficheros\n\n");
     system("pause");
     exit(1);
}   
     goto MENU;
     break;

// Opcion 3: Salir
     case 3:
     printf("Saliendo del programa...\n\n");
     system("pause");
     return 0;
     break;
     
// Opcion X: No existe
     default:
     printf("La opcion ingresada no existe\n\n");
     system("pause");
     goto MENU;
     break;
     }
}

PD: Me fue mui dificil hacer ese "simple" codigo, por que permite muchas MUCHAS cuentas, y las lee todas.
« Última modificación: 16 de Marzo de 2008, 06:40:34 por Grib_Jr. » En línea


Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online