Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

xinoj

registo e gravar para ficheiro

Recommended Posts

xinoj

Boa tarde

Eu tenho uma pequena duvida se me podessem ajudar agradecia, é o seguinte tenho 3 utilizadores, 3 classes: Docente, aluno e funcionario e uma outra classe com o nome de utilizadores que apenas tem o tipo o user e a pass, eu quero fazer um metodo numa classe diferente que implemente o registo do utilizador em que vai ser pedido o username, a pass e o tipo de utilizador e queria gravar para um ficheiro essa informação que depois quando chama-se o login ele devolvesse o user (uma dos 3 utilizadores) com a sua password e depois o menu era consoante o utilizador, o que fiz ate agora foi estas classes:

import java.io.*;
import java.util.*;
public class Aluno extends Utilizadores implements Serializable
{
   private String nome;
   private int numero;
   private int BI;
   private int NIF;
   private String data_nasc;
   /**
    * Constructor for objects of class Funcionario
    */
   public Aluno()
   {
       super();
       nome="";
       numero=0;
       BI=0;
       NIF=0;
       data_nasc="";
   }

   public Aluno(String nome, int numero, String data_nasc, int BI, int NIF, String user, String pass, int tipo)
   {
       super(user,pass,tipo);
       this.nome=nome;
       this.numero=numero;
       this.BI=BI;
       this.NIF=NIF;
       this.data_nasc=data_nasc;
   }
   // setters
   public void setNome() { this.nome=nome;}
   public void setNumero() { this.numero=numero;}
   public void setBi(int BI) { this.BI=BI;}
   public void setNif(int NIF) { this.NIF=NIF;}
   public void setData_Nasc(String data_nasc) { this.data_nasc=data_nasc;}
   // getters
   public String getNome() { return nome;}
   public int getNumero() { return numero;}
   public int getBi() { return BI;}
   public int getNif() { return NIF;}
   public String getData_Nasc() { return data_nasc;}

   public void mostra_aluno()
   {
       System.out.println("*************ALUNO**************");
       System.out.println("NOME:"+nome);
       System.out.println("IDADE:"+data_nasc);
       System.out.println("NIF:"+NIF);
       System.out.println("BI:"+BI);
   }

}

import java.io.*;
import java.util.*;
public class Funcionario extends Utilizadores
{
   private String nome, data_nasc;
   private int NIF, BI;

   /**
    * Constructor for objects of class Funcionario
    */
   public Funcionario()
   {
       super();
       nome="";
       data_nasc="";
       NIF=0;
       BI=0;
   }

   public Funcionario(String nome, String data_nasc, int BI, int NIF, String user, String pass, int tipo)
   {
       super(user,pass,tipo);
       this.nome=nome;
       this.data_nasc=data_nasc;
       this.NIF=NIF;
       this.BI=BI;
   }
   // setters
   public void setNome(String nome) { this.nome=nome;}
   public void setData_Nasc(String data_nasc) { this.data_nasc=data_nasc;}
   public void setNIF(int NIF) { this.NIF=NIF;}
   public void setBI(int BI) { this.BI=BI;}

   // getters
   public String getNome() { return nome;}
   public String getData_Nasc() { return data_nasc;}
   public int getNIF() { return NIF;}
   public int getBI() { return BI;}

   public void mostra_funcionario()
   {
       System.out.println("*************Funcionarios**************");
       System.out.println("Nome:"+nome);
       System.out.println("Idade:"+data_nasc);
       System.out.println("NIF:"+NIF);
       System.out.println("BI:"+BI);
   } 
}

import java.io.*;
import java.util.*;
public class Docente extends Utilizadores
{
   private String nome;
   private String data_nasc;
   private String disciplina;
   private int BI;
   private int NIF;
   /**
    * Constructor for objects of class Funcionario
    */
   public Docente()
   {
       super();
       nome="";
       data_nasc="";
       BI=0;
       NIF=0;
   }

   public Docente( String nome, String disciplina, String data_nasc, int BI, int NIF, String user, String pass, int tipo)
   {
       super(user,pass,tipo);
       this.nome=nome;
       this.BI=BI;
       this.NIF=NIF;
       this.data_nasc=data_nasc;
       this.disciplina=disciplina;
   }
   // setters
   public void setBi(int BI) { this.BI=BI;}
   public void setNif(int NIF) { this.NIF=NIF;}
   public void setNome(String nome) {this.nome=nome;}
   public void setData_Nasc(String data_nasc) { this.data_nasc=data_nasc;}
   public void setDisciplina(String disciplina) { this.disciplina=disciplina;}
   // getters
   public String getNome() { return nome;}
   public int getBi() { return BI;}
   public int getNif() { return NIF;}
   public String getData_Nasc() { return data_nasc;}
   public String getdisciplina() { return disciplina;}

   public void mostra_docente()
   {
       System.out.println("*************DOCENTE**************");
       System.out.println("NOME:"+nome);
       System.out.println("IDADE:"+data_nasc);
       System.out.println("NIF:"+NIF);
       System.out.println("BI:"+BI);
   } 
}

public class Utilizadores
{
   private String user, pass;
   private int tipo;
   private Aluno al;
   private Docente doc;
   private Funcionario func;

   public Utilizadores()
   {
       user="";
       pass="";
       tipo=0;
   }
   public Utilizadores(String user, String pass, int tipo)
   {
       this.user=user;
       this.pass=pass;
       this.tipo=tipo;
   }

   public void setUser() { this.user=user;}
   public void setPass() { this.pass=pass;}  

   public String getUser() { return user;}
   public String getPass() { return pass;}

   public int gettipo() {
       return tipo;
   }
}

import java.io.*;
public class Leitura
{
   public static String LeString()
   {
       String str = "";
       boolean ok = false;

       InputStreamReader stdin = new InputStreamReader(System.in);
       BufferedReader linhastr = new BufferedReader(stdin);
       while (!ok){
       try{
           str = linhastr.readLine();
           ok=true;
       }catch(IOException eio){
           System.out.println("Dado invalido volte a introduzir por favor:");
       }catch(Exception e){
           System.out.println("Dado invalido volte a introduzir por favor:");
       }
   }        
       return str;
   }
   public static int LeInt()
   {
       int i=0;
       String str = "";
       boolean ok = false;
       InputStreamReader stdin = new InputStreamReader(System.in);
       BufferedReader linhastr = new BufferedReader(stdin);

       while (!ok){
       try{
           str = linhastr.readLine();
           i = Integer.parseInt(str);
           ok=true;
       }catch(IOException eio){
           System.out.println("Dado invalido volte a introduzir por favor:");
       }catch(Exception e){
           System.out.println("Dado invalido volte a introduzir por favor:");
       }
       }
       return i;
   }
}

public void registo() throws IOException
  {  
      String user, pass;
      int tipo,X;

      System.out.println("************* REGISTO **************");
      System.out.println("USERNAME: ");
      user= Leitura.LeString();
      System.out.println("PASSWORD: ");
      pass= Leitura.LeString();

      System.out.println("************* QUAL O TIPO DE UIILIZADOR **************");
      System.out.println("*********  Escolha uma das seguintes opções  *********");
      System.out.println("*********           1 - Docente              *********");
      System.out.println("*********           2 - Aluno                *********");
      System.out.println("*********           3 - Funcionario          *********");
      System.out.println("*********           4 - Voltar               *********");
      System.out.println("*                                                    *");
      System.out.println("******************************************************");
      x=Leitura.LeInt();
      switch (x) {

Isto foi o que fiz mas nesta ultima parte não sei como fazer e na classe utilizadores no metodo getTipo não sei se está bem, ou seja n sei como grava para um ficheiro com o user pass tipo

Obrigado

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.