Guest User

Untitled

a guest
Jan 20th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.85 KB | None | 0 0
  1. package baza0;
  2. import javax.swing.*;
  3. import java.util.*;
  4.  
  5. class Osoba
  6.  { String nazwisko;
  7.    float srednia;
  8.    String uwagi;
  9.    
  10.    public  void Nadaj_nazwisko(String lan)
  11.     { nazwisko=lan;}
  12.    public String Podaj_nazwisko()
  13.     { return nazwisko;}
  14.    public  void Nadaj_uwagi(String lan)
  15.     { uwagi=lan;}
  16.    public String Podaj_uwagi()
  17.      { return uwagi;}
  18.    public  void Nadaj_srednia(float srednia_)
  19.     { srednia=srednia_;}
  20.   public float Podaj_srednia()
  21.      {return srednia;}
  22.  
  23.     @Override
  24.   public String toString()
  25.    {String napis="";
  26.     napis+="Nazwisko: "+nazwisko;
  27.     napis+=" srednia: "+srednia;
  28.     napis+=" uwagi: "+uwagi;
  29.     return napis;
  30.    }
  31.    
  32.   public boolean Szukaj(String s, String s2, boolean n1, boolean s1, boolean u1)
  33.    {
  34.        if (n1) {
  35.            if (s1){
  36.                float pom = Float.parseFloat(s2);
  37.                return nazwisko.equals(s) && srednia==pom; //nazw i srednia
  38.            }
  39.            else if (u1){
  40.                return nazwisko.equals(s) && uwagi.equals(s2); //nazw i uwagi
  41.            }
  42.            else{
  43.                return nazwisko.equals(s);  //jak jest podane tylko 1 kryterium
  44.            }                          
  45.        }
  46.        else if(s1 == true &&  n1==false){
  47.          if(u1){
  48.               float pom = Float.parseFloat(s);
  49.               return uwagi.equals(s2) && srednia==pom;
  50.          }
  51.          else{
  52.               float pom = Float.parseFloat(s);
  53.               return srednia==pom;
  54.          }
  55.        }
  56.        else
  57.        if (u1 == true && n1 ==false && s1 ==false) { return uwagi.equals(s); }
  58.        else return false;
  59.    }
  60.  }  
  61.  
  62. class  Tablica
  63. {    
  64.   Osoba Dane[]=null;
  65.   int ile=0;  
  66.  
  67.   public boolean Pusta()
  68.     {
  69.       return ile==0;
  70.     }
  71.  
  72.   public boolean Pelna()
  73.     {
  74.       return ile==Dane.length;
  75.     }
  76.  public int Podaj_ile()
  77.    {
  78.      return ile;
  79.    }
  80.  
  81.   public void Wykonaj_tablice(int N)
  82.    {
  83.       ile=0;
  84.       Dane=new Osoba[N]; //utworzenie tablicy
  85.    }
  86.  
  87.   public void Wstaw (String nazwisko_, float srednia, String uwagi_)
  88.    {
  89.       Osoba dana=new Osoba();
  90.       dana.Nadaj_nazwisko(nazwisko_);
  91.       dana.Nadaj_srednia(srednia);
  92.       dana.Nadaj_uwagi(uwagi_);
  93.       Dane[ile]=dana;
  94.       ile++;
  95.    }
  96.  
  97.    public Osoba Wyszukaj(String s, String s2, boolean n1, boolean s1, boolean u1)
  98.     {
  99.       for (int i=0; i<ile;i++)
  100.        if (Dane[i].Szukaj(s, s2, n1, s1, u1))
  101.         return   Dane[i];
  102.       return null;
  103.     }
  104.    
  105.    public String toString()
  106.    {
  107.        String s="";
  108.        for (int i=0; i<ile; i++)
  109.          s+=Dane[i].toString()+"\n";
  110.        return s;
  111.    }
  112. }
  113.  
  114. public class Baza0
  115. {
  116.   protected Tablica tablica=new Tablica();
  117.  
  118.   public void Wyswietl()
  119.      {
  120.       if (tablica.Pusta())//jesli tablica istnieje, to mo�na wyswietlac
  121.            JOptionPane.showMessageDialog(null,"Brak danych");
  122.       else
  123.         JOptionPane.showMessageDialog(null,tablica.toString());
  124.     }
  125.  
  126.   public void Wypelnij()
  127.     { String S;
  128.       S=JOptionPane.showInputDialog(null,"Podaj rozmiar tablicy");
  129.       int N=Integer.parseInt(S);
  130.       tablica.Wykonaj_tablice(N); //utworzenie tablicy
  131.       String S1,S2,S3;
  132.       while(!tablica.Pelna()) //jeśli tablica jes zapełniona, tak jest równe false
  133.        {
  134.          S1 = JOptionPane.showInputDialog(null, "Podaj nazwisko");
  135.          S2 = JOptionPane.showInputDialog(null, "Podaj srednia");
  136.          S3 =JOptionPane.showInputDialog(null, "Podaj uwagi");
  137.          tablica.Wstaw(S1, Float.parseFloat(S2), S3);//dopisanie danych na końcu danych
  138.        }  
  139.     }
  140.  
  141.    public void Wyszukaj()
  142.    {
  143.      if (tablica.Pusta())//jesli tablica istnieje, to mo�na wyswietlac
  144.            JOptionPane.showMessageDialog(null,"Brak danych");
  145.      else
  146.      {
  147.          char ch1;
  148.          boolean n1, s1, u1;
  149.       String AA = JOptionPane.showInputDialog(null,"Wg jakiego kryterium chcesz wyszukac?\n"
  150.               + "n - nazwisko\n"
  151.               + "N - nazwisko i srednia\n"
  152.               + "U - nazwisko i uwagi\n"
  153.               + "s - srednia\n"
  154.               + "S - srednia i uwagi\n"
  155.               + "u - uwagi");
  156.      
  157.       ch1 = AA.charAt(0);
  158.       n1= s1= u1=false;
  159.       switch(ch1)
  160.       {
  161.           case 'n': n1=true; break;
  162.           case 'N': n1=true; s1=true; break;
  163.           case 'U': n1=true; u1=true; break;
  164.           case 's': s1=true; break;
  165.           case 'S': s1=true; u1=true; break;
  166.           case 'u': u1=true; break;
  167.           default: JOptionPane.showMessageDialog(null,"BLAD!"); break;  
  168.       }
  169.       String S = JOptionPane.showInputDialog(null,"Szukaj:");
  170.       String S2 = JOptionPane.showInputDialog(null,"Szukaj:");
  171.       Object osoba=tablica.Wyszukaj(S,S2, n1, s1, u1);  
  172.       if(osoba!=null)
  173.        JOptionPane.showMessageDialog(null,osoba.toString());
  174.      }
  175.    }
  176.    
  177.    static public  void main(String args[])
  178.    {  Baza0 baza1=new Baza0(); //referencja do tablicy, kt�ra jest tworzona w opcji 1
  179.       char ch;
  180.       String s;
  181.       do
  182.       { s=JOptionPane.showInputDialog(null, "Progam nie jest zabezpieczony przed\n" +
  183.                 "złym formatem danych\n i naciskaniem Cancel w okienkach dialogowych\n"+
  184.                 "Podaj wybor"
  185.         +"\n1 - Wypelnij tablice,"
  186.         +"\n2 - Wyswietl dane osob"
  187.         +"\n3 - Wyszukaj osobe i wyswietl jej dane"
  188.         +"\nk - Koniec programu");
  189.       ch = s.charAt(0);  //pobranie opcji
  190.       switch(ch)
  191.        {case '1' : baza1.Wypelnij();
  192.                    break;
  193.         case '2' : baza1.Wyswietl();      
  194.                    break;
  195.         case '3' : baza1.Wyszukaj();
  196.                    break;  
  197.         case 'k' : JOptionPane.showMessageDialog(null, "Koniec programu");
  198.                    break;
  199.         default  : JOptionPane.showMessageDialog(null,"Zla opcja");      
  200.     }
  201.  }while (ch != 'k') ;
  202.  System.exit(0);
  203.   }
  204. }
Add Comment
Please, Sign In to add comment