[Source]School Management System

JackV

Administrator
Staff member
Chỉ nên dùng để tham khảo
Trích dẫn từ http://www.java.happycodings.com/Beginners_Lab_Assignments/code11.html:
School Management System

PHP:
import java.awt.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;

public class ProjectX extends JFrame implements ChangeListener,
ActionListener
{
                static int choice = 0;
                static String line = "--------------------------------
";
                DataInputStream inputData = new DataInputStream(System.in);
                private Registration studentDetails = new Registration();
                int topScore = studentDetails.getTopScore();
                int passMarks = studentDetails.getPassMarks();
                int firstClass = studentDetails.getFirstClass();
                int secondClass = studentDetails.getSecondClass();

                JTabbedPane tabbedPane = new JTabbedPane();
                JLabel statusLabel = new JLabel();
                JLabel titleLabel = new JLabel("Student Software Beta Edition");
                JPanel addStudentPanel = new JPanel();
                                 JTextField studentName = new JTextField();
                                 JTextField physicsMarks = new JTextField();
                                 JTextField biologyMarks = new JTextField();
                                 JTextField mathsMarks = new JTextField();
                                 JButton submitDetails = new JButton("Submit Details");
                JPanel studentDetailsPanel = new JPanel();
                                 JTextField studentID1 = new JTextField();
                                 JTextArea studentInfo = new JTextArea();
                                 JButton submitID1 = new JButton("Submit ID");
                JPanel studentGradePanel = new JPanel();
                                 JTextField studentID2 = new JTextField();
                                 JTextArea studentGrade = new JTextArea();
                                 JButton submitID2 = new JButton("Submit ID");
                JPanel numberPassedPanel = new JPanel();
                                 JTextArea studentPassed = new JTextArea();
                JPanel classTopperPanel = new JPanel();
                                 JTextArea studentTopper = new JTextArea();

                public ProjectX(String frameTitle)
                {
                                 super(frameTitle);
                                 setResizable(true);
                                 setSize(400,400);
                                 submitDetails.addActionListener(this);
                                 submitID1.addActionListener(this);
                                 submitID2.addActionListener(this);

                                 getContentPane().setLayout(new BorderLayout());

                                 getContentPane().add(titleLabel,"North");

                                 tabbedPane.addTab("Add Student",addStudentPanel);
                                 addStudentPanel.setLayout(new GridLayout(8,2,5,5));
                                 addStudentPanel.add(new JLabel("Student Name: "));
                                 addStudentPanel.add(studentName);
                                 addStudentPanel.add(new JLabel("Physics Marks: "));
                                 addStudentPanel.add(physicsMarks);
                                 addStudentPanel.add(new JLabel("Biology Marks: "));
                                 addStudentPanel.add(biologyMarks);
                                 addStudentPanel.add(new JLabel("Maths Marks: "));
                                 addStudentPanel.add(mathsMarks);
                                 addStudentPanel.add(submitDetails);

                                 tabbedPane.addTab("Student Details",studentDetailsPanel);
                                 studentDetailsPanel.add(new JLabel("Enter Student ID: "));
                                 studentDetailsPanel.add(studentID1);
                                 studentDetailsPanel.add(submitID1);
                                 studentDetailsPanel.add(new JLabel("Student Details:"));
                                 studentDetailsPanel.add(studentInfo);

                                 tabbedPane.addTab("Student Grade",studentGradePanel);
                                 studentGradePanel.setLayout(new GridLayout(5,2,5,5));
                                 studentGradePanel.add(new JLabel("Enter Student ID: "));
                                 studentGradePanel.add(studentID2);
                                 studentGradePanel.add(submitID2);
                                 studentGradePanel.add(new JLabel("Student Grade:"));
                                 studentGradePanel.add(studentGrade);

                                 tabbedPane.addTab("Passed Student",numberPassedPanel);
                                 numberPassedPanel.setLayout(new GridLayout(2,2,5,5));
                                 numberPassedPanel.add(new JLabel("Number of Student Passed: "));
                                 numberPassedPanel.add(studentPassed);

                                 tabbedPane.addTab("Class Topper",classTopperPanel);
                                 classTopperPanel.setLayout(new GridLayout(2,2,5,5));
                                 classTopperPanel.add(new JLabel("Here are the class Toppers: "));
                                 classTopperPanel.add(studentTopper);

                                 tabbedPane.addChangeListener(this);
                                 getContentPane().add(tabbedPane,"Center");

                                 statusLabel.setText("Status: Normal");
                                 getContentPane().add(statusLabel,"South");

                                 setVisible(true);

                }

                public static void main(String args[])
                {
     ProjectX outputScreen = new ProjectX("Case Study");
                }

                public String setStudentInfo()
                {
                                 int id = studentDetails.addStudent(studentName.getText(),
Integer.parseInt(physicsMarks.getText()),
Integer.parseInt(biologyMarks.getText()),
Integer.parseInt(mathsMarks.getText()));
                                 return                                                                    ("
"                                                                                                                                                                              +
                                                                                                                                        line                                                                                                                                                                            +
                                                                                                                                        "Record Created For " + studentName +
                                                                                                                                        "
"                                                                                                                                                                            +
                                                                                                              "Student ID: " + id                                                                                       +
                                                                                                                                        "
"                                                                                                                                                                                            +
                                                                                                                                        line                                                                                                                                                                                            );
                }

                public String getStudentInfo()
                {
                                 int id = Integer.parseInt(studentID1.getText());
                                 if(studentDetails.getStudentDetails(id))
                                 return                                                                    ("
"                                                                                                                                                                            +
                                                                                                                                        line                                                                                                                                                            +
                                                                                                                                        "Student Details
"                                                                                                                                 +
                                                                                                              line                                                                                                                                                               +
                                                                                                                                        "Student ID:" + "	" + id + "
"                                                                                      +
                                                                                                                                        "Student Name:" + "	" + studentDetails.studentName + "
"   +
                                                                                                                                        "Physics Marks:" + "	" + studentDetails.physicsMarks + "
" +
                                                                                                                                        "Biology Marks:" + "	" + studentDetails.biologyMarks + "
" +
                                                                                                                                        "Maths Marks:" + "	" + studentDetails.mathsMarks + "
"                    +
                                                                                                                                        line                                                                                                                                                                                                                                                                                                          );
                                 else
                                 return("
 Records Not Found for ID " + id);
                }

                public String getStudentGrade()
                {
                                 int id = Integer.parseInt(studentID2.getText());
                                 studentDetails.getStudentDetails(id);
                                 String grade;
                                 if(studentDetails.studentName == null)
                                 {
                                                  System.out.println("
 Records Not Found for ID " + id);
                                                  return null;
                                 }
                                 if(studentDetails.physicsMarks < passMarks ||
studentDetails.biologyMarks < passMarks || studentDetails.mathsMarks <
passMarks)
                                 {
                                                  grade = "Failed";
                                 }
                                 else
                                 {
                                                  int avgMarks = (studentDetails.physicsMarks +
studentDetails.biologyMarks + studentDetails.mathsMarks)/3;
                                                  if(avgMarks >= passMarks && avgMarks < secondClass) grade = "Pass
Class";
                                                  else if(avgMarks >= secondClass && avgMarks < firstClass) grade =
"Second Class";
                                                  else if(avgMarks >= firstClass && avgMarks < topScore) grade = "First
Class";
                                                  else grade = "Distinction";
                                 }
                                 return(line + "Grade For " + studentDetails.studentName + " is " + grade
+ "
" + line);
                }

                public String getNumberPasses()
                {
                                 int lastID = Registration.getNextID() -1;
                                 boolean passed = true;
                                 int numberPassed = 0;
                                 for(int id = 1; id <= lastID; id++)
                                 {
                                                  studentDetails.getStudentDetails(id);
                                                  if(studentDetails.physicsMarks >= passMarks &&
studentDetails.biologyMarks >= passMarks && studentDetails.mathsMarks >=
passMarks) numberPassed++;
                                 }
                                 return(line + "Number of Student Passed: " + numberPassed + "
" +
line);
                }

                public String getClassTopper()
                {
                                 int lastID = Registration.getNextID() -1;
                                 String classTopper;
                                 StringBuffer buffer = new StringBuffer(500);
                                 int topMarks = 0;
                                 for(int id = 1; id <= lastID; id++)
                                 {
                                                  studentDetails.getStudentDetails(id);
                                                  int studentMarks = studentDetails.physicsMarks +
studentDetails.biologyMarks + studentDetails.mathsMarks;
                                                  if(studentMarks > topMarks) topMarks = studentMarks;
                                 }
                                 buffer.append(line + "Student Having Top Marks: 
");
                                 for(int id = 1; id <= lastID; id++)
                                 {
                                                  studentDetails.getStudentDetails(id);
                                                  int studentMarks = studentDetails.physicsMarks +
studentDetails.biologyMarks + studentDetails.mathsMarks;
                                                  if(studentMarks == topMarks)
                                                  {
                                                                   buffer.append(studentDetails.studentName + " Having Total Marks: " +
topMarks + "
");
                                                  }
                                 }
                                 buffer.append(line);
                                 return(buffer.toString());
                }

                public void stateChanged(ChangeEvent e)
                {
                                 switch(tabbedPane.getSelectedIndex())
                                 {
                                                  case 3: studentPassed.setText(getNumberPasses());
                                                                                      break;
                                                  case 4: studentTopper.setText(getClassTopper());
                                                                                      break;
                                 }
                }

                public void actionPerformed(ActionEvent e)
                {
                                 if(e.getSource() == submitID1)
                                 {
                                                  studentInfo.setText(getStudentInfo());
                                 }
                                 else if(e.getSource() == submitID2)
                                 {
                                                  studentGrade.setText(getStudentGrade());
                                 }
                                 if(e.getSource() == submitDetails)
                                 {
                                                  setStudentInfo();
                                 }
                }

}


//Registration Class
class Registration
{
                private int topScore = 90;
                private int passMarks = 35;
                private int firstClass = 65;
                private int secondClass = 45;
                private static String idFile = "id.dat";
                private static String studentFile = "studentfile.dat";

                public int id;
                public String studentName;
                public int physicsMarks;
                public int biologyMarks;
                public int mathsMarks;

                public int addStudent(String studentName, int physicsMarks, int
biologyMarks, int mathsMarks)
                {
                                 int id = 0;
                                 try
                                 {
                                                  FileWriter fileOutput = new FileWriter(Registration.studentFile,true);
                                                  id = Registration.getNextID();
                                                  String buffer = id + "|" + studentName + "|" + physicsMarks + "|" +
biologyMarks + "|" + mathsMarks + "
";
                                                  fileOutput.write(buffer);
                                                  fileOutput.close();
                                                  Registration.setID(id);
                                 }
                                 catch(IOException e)
                                 {
                                                  System.err.println(e.toString());
                                                  System.exit(1);
                                 }
                                 return id;

                }

//Function to get the details of a student given the ID
                public boolean getStudentDetails(int id)
                {
                                 try
                                 {
                                                  FileReader fileInput = new FileReader(Registration.studentFile);
                                                  BufferedReader br = new BufferedReader(fileInput);
                                                  {

                                                                   String str;
                                                                   while((str = br.readLine()) != null)
                                                                   {
                                                                                    StringTokenizer fields = new StringTokenizer(str,"|");
                                                                                    if(Integer.parseInt(fields.nextToken()) == id)
                                                                                    {
                                                                                                     this.id = id;
                                                                                                     this.studentName = fields.nextToken();
                                                                                                     this.physicsMarks = Integer.parseInt(fields.nextToken());
                                                                                                     this.biologyMarks = Integer.parseInt(fields.nextToken());
                                                                                                     this.mathsMarks = Integer.parseInt(fields.nextToken());
                                                                                                     return true;
                                                                                    }
                                                                   }
                                                  }

                                 }

                                 catch(IOException e)
                                 {
                                                  System.err.println(e.toString());
                                                  System.exit(1);
                                 }

                                 return false;
                }

                public int getTopScore()
                {
                                 return topScore;
                }

                public int getPassMarks()
                {
                                 return passMarks;
                }

                public int getFirstClass()
                {
                                 return firstClass;
                }

                public int getSecondClass()
                {
                                 return secondClass;
                }

//Function to get the next ID available
                public static int getNextID()
                {
                                 int id = 0;
                                 try
                                 {
                                                  RandomAccessFile studentIDFile = new
RandomAccessFile(Registration.idFile,"rw");
                                                  if(studentIDFile.length() == 0)
                                                  {
                                                                   id = 0;
                                                  }
                                                  else id = studentIDFile.readInt();
                                                  id++;
                                                  studentIDFile.close();
                                 }

                                 catch(IOException e)
                                 {
                                                  System.err.println(e.toString());
                                                  System.exit(1);
                                 }
                                 return id;
                }

//Function to Store current ID in a file
                public static void setID(int id)
                {
                                 try
                                 {
                                                  RandomAccessFile studentIDFile = new
RandomAccessFile(Registration.idFile,"rw");
                                                  studentIDFile.seek(0);
                                                  studentIDFile.writeInt(id);
                                                  studentIDFile.close();
                                 }

                                 catch(IOException e)
                                 {
                                                  System.err.println(e.toString());
                                                  System.exit(1);
                                 }
                }
}
 

tjendat14

New Member
2/6/11
4
0
0
Ðề: [Source]School Management System

Hay quá, paste vào netbeans chạy liền 1 mạch. Nhìn lại thấy mình phải học hỏi nhiều quá. tks bác
 

chienthanmavn

New Member
29/3/11
10
0
1
Ðề: [Source]School Management System

Mọi người cho em hỏi, Em lưu thông tin vào trong CSDL roi, gio muốn mã hóa thông tin ở trong CSDl thi lam thế nào ạ, em lam Mã hóa MD5. Mong mọi người giúp em với. Cảm ơn mọi người
 

ninhc1010l

Member
14/1/12
170
16
18
Ðề: [Source]School Management System

Send cả Class đấy đi Jack. Copy code nó lỗi nhiều quá. Nhiều khoảng trống quá
 

ninhc1010l

Member
14/1/12
170
16
18
Ðề: [Source]School Management System

Khổ quá em copy patse rồi mà nó báo lỗi nên mới nhờ up cả File đấy lên để tham khảo :(
 

hoangtu8811

Member
10/9/11
126
4
18
đà nẵng
Cho xin cái code hoàn chỉnh đi anh JackV ơi...e đang học về cái này. tks a. Thông qua đây cho e hỏi vấn đề code của a đưa lên được k ạ?..do e cũng chưa học nhiều về csdl và làm csdl với swing nữa. theo như bài này thì yêu cầu nó là gì ạ? Nhập thông tin điểm sinh viên hả a?..với lại bài này nhập lỗi nó vẫn chưa bắt lỗi thì phải..a giải thick giùm...hi
 

lananhbg_1993

New Member
9/4/13
16
0
1
26
Anh Jack oi up cho em xin cái code hoàn chỉnh đi. Nhiều khoảng trắng quá , lỗi nhiều quá .