Advertisement
Guest User

Untitled

a guest
Oct 15th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.92 KB | None | 0 0
  1. Program Mensajeria;
  2.  
  3. Type
  4.     ArbUsuarios=^TipoNodoArbol;
  5.     TipoNodoArbol= record
  6.     TUser:string[8];
  7.     TPass:string[8];
  8.     MenoresIguales, Mayores:ArbUsuarios;
  9. end;
  10.  
  11.     {ListaConvers=^TipoNodoLista;
  12.     TipoNodoLista= record
  13.     Codigo:integer;
  14.     Usuario1, Usuario2:ArbUsuarios;
  15.     Chat:ListaMensajes;
  16.     Sig:ListaConvers;
  17. end;
  18.  
  19.     ListaMensajes=^TipoNodoMensajes;
  20.     TipoNodoMensajes = record
  21.     Fecha:string;
  22.     Hora:string;
  23.     Texto:string;
  24.     UsuarioE:ArbUsuarios;
  25.     Leido:boolean;
  26.     Sig:ListaMensajes;
  27. end; }
  28.  
  29. Procedure Menu1 (Var Arbol:ArbUsuarios; Usuario:TUser; Password:TPass);
  30. Var
  31.     Numero:integer;
  32. Begin
  33.     //abrir archivos
  34.     Writeln('1. Login:');
  35.     Writeln('2. Nuevo Usuario:');
  36.     Writeln('3. Ver Usuarios hiperconectados:');
  37.     Writeln('4. Salir:');
  38.     Readln(Numero);
  39.     //creo que iria un case of
  40.     IF (Numero = 1) then
  41.         Login(Arbol);
  42.         //Menu2 ();
  43.     else (Numero = 2)
  44.         NuevoUsuario(Arbol);
  45.     else (Numero = 3)
  46.         //UsuariosHiperconectados( );
  47.     else (Numero = 4)
  48.         //cerrar programa
  49. end;
  50.  
  51. Procedure Login (Var Arbol:ArbUsuarios);
  52. Begin
  53.     Writeln('Ingrese su nombre de usuario');
  54.     Readln(Usuario);
  55.     Writeln('Ingrese su password');
  56.     Readln(Password);
  57.     IF (BuscarUsuario(Arbol, NUsuario) = false) or (ComprobarPassword(Arbol, Password) = false) then
  58.         Writeln('Los datos ingresados son incorrectos');
  59.         //borrar lo escrito en la pantalla
  60.         Login(Arbol);
  61.     else (BuscarUsuario(Arbol, NUsuario) = true) or (ComprobarPassword(Arbol, Password) = true)
  62.         //Menu2();
  63.     end;
  64. end;
  65.  
  66. Procedure MostrarInformacion (Usuario
  67.  
  68.    
  69. Procedure Menu2 ( );
  70. Begin
  71.     //MostrarDatos();
  72.    
  73.  
  74. Function BuscarUsuario (Arbol:ArbUsuarios; NUsuario:string): boolean;
  75. Var
  76.     Encontrado: boolean;
  77. Begin
  78.     Encontrado:= false;
  79.     If Arbol <> nil then
  80.         Begin
  81.             If  NUsuario <> Arbol^.TUser then
  82.                 Begin
  83.                     BuscarUsuario (Arbol^.MenoresIguales, NUsuario);
  84.                     BuscarUsuario (Arbol^.Mayores, NUsuario);
  85.                 end
  86.             else
  87.                 Encontrado:= true;
  88.         end;
  89.     BuscarUsuario:= Encontrado;
  90. end;
  91.    
  92.  
  93. Procedure CargarArbol (Var Arbol:ArbUsuarios; Var NUsuario:string; Var NPassword:string);
  94.  
  95. Begin
  96.     IF (Arbol = nil) then
  97.         begin
  98.             New(Arbol);
  99.             Arbol^.Tuser:=NUsuario;
  100.             Arbol^.TPass:=NPassword;
  101.             Arbol^.Mayores:=nil;
  102.             Arbol^.MenoresIguales:=nil;
  103.         end
  104.     else
  105.         IF (NUsuario <= Arbol^.TUser) then
  106.             CargarArbol(Arbol^.MenoresIguales, NUsuario, NPassword)
  107.         else
  108.             CargarArbol(Arbol^.Mayores, NUsuario, NPassword);
  109. end;
  110.  
  111. Procedure RecibirDatos (Var Arbol:ArbUsuarios);
  112. Var
  113.     NUsuario:string;
  114.     NPassword:string;
  115.     Inicio:ArbUsuarios;
  116. Begin
  117.     Writeln('Ingrese el usuario (8 caracteres Maximo):');
  118.     Readln(NUsuario);
  119.     Inicio:=Arbol;
  120.     If Inicio <> Nil then
  121.         Writeln('entra');
  122.         Begin
  123.             While BuscarUsuario(Arbol, NUsuario) = true do
  124.                 Begin    
  125.                     Writeln('El usuario ingresado ya existe, utilize otro nombre de usuario');
  126.                     Readln(NUsuario);
  127.                     Arbol:=Inicio;
  128.                 end;
  129.         end;
  130.     writeln('Ingrese la contraseña (8 caracteres Maximo):');
  131.     Readln(NPassword);
  132.     CargarArbol(Arbol,NUsuario,NPassword);    
  133. end;
  134.  
  135.  
  136. Procedure MostrarArbol (Arbol:ArbUsuarios);
  137.  
  138. begin
  139.     IF Arbol <> nil then
  140.         begin
  141.             WriteLn(Arbol^.Tuser);
  142.             MostrarArbol(Arbol^.Mayores);
  143.             MostrarArbol(Arbol^.MenoresIguales);
  144.         end;
  145. end;
  146.  
  147. var
  148. arbol:ArbUsuarios;
  149.  
  150. Begin
  151.     //RecibirDatos(Arbol);
  152.     //RecibirDatos(Arbol);
  153.     RecibirDatos(Arbol);
  154.     WriteLn('Los usuarios ingresados son:');
  155.     MostrarArbol(Arbol);
  156. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement