на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Программа "Система обучения"
p align="left">Метод public boolean Authorisation(String path , String toCompare) реализует авторизацию пользователя( то есть проверяют есть ли такой пользователь и правильный ли он ввёл пароль).

public class Enter

{

public Enter(){}

public boolean Registration(String info,String name){

File f1;

f1=new File(name);

if(!f1.exists()){

try {

f1.createNewFile();

PrintWriter writer = null;

writer = new PrintWriter(

new OutputStreamWriter(

new FileOutputStream(name)));

writer.write(info);

writer.close();

return true;

}

catch (Exception ex) { return true;}

}

else {

return false;}

}

public boolean Authorisation(String path,String toCompare){

File F = new File(path);

String ArrOfFile[] = F.list();

boolean b;

for ( int k= 0;k<ArrOfFile.length;k++){

try {

Scanner in = new Scanner(new File(path+"\\"+ArrOfFile[k]));

StringBuffer data = new StringBuffer();

while (in.hasNext()) {

data.append(in.nextLine()).append("\n");

String s = data.toString();

int i = s.indexOf("#");

int r = s.indexOf("~");

int t = s.indexOf("%");

int u = s.indexOf("&");

int h = s.indexOf("\n");

String L1 = s.substring(0, i);

String L2 = s.substring((i+1), r);

String L3 = s.substring((r+1), t);

String L4 = s.substring((t+1), u);

String L5 = s.substring((u+1), h);

if((L3+L4).equals(toCompare)){

Main.this_path ="User_stud\\"+ArrOfFile[k];

Main.this_time = L5;

Main.this_name = L1;

Main.this_group = L2;

return true;

}

}

}

catch (FileNotFoundException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

return false;

}

}

return false;

}

}

3.2 Класс Check

Класс реализует 3 проверки: проверку на использование в полях для регистрации и авторизации "служебных символов"(тех символов которые я использую в качестве разделителей в файлах), проверку на то что такой пользователь уже существует и проверку на то что пользователь прошел контроль и получил результаты. Метод public boolean Chek_on_Symbol(String s1, String s2, String s3) выполняет проверку на использование в полях для регистрации и авторизации служебных символов.

Метод public boolean Check_on_Reg(String name, String path) реализует проверку на то, что в папке, где хранятся зарегистрированные пользователи уже существует такой пользователь.

Метод public boolean Check_on_Rez(String fullpath) реализует проверку на то, что пользователь прошел контроль и его итоговый результат записан в файл, в следствии чего он становится видимым для преподавателя когда преподаватель хочет просмотреть результаты обучения

public class Check

{

public Check(){}

public boolean Chek_on_Symbol(String s1, String s2, String s3)

{

for (int i = 0;i<s1.length();i++)

{

if(s1.charAt(i)=='~' || s1.charAt(i)=='#' || s1.charAt(i)=='%' ||s1.charAt(i)=='&')

{

return false;

}

}

for (int i = 0;i<s2.length();i++)

{

if(s2.charAt(i)=='~' || s2.charAt(i)=='#' || s2.charAt(i)=='%' ||s2.charAt(i)=='&')

{

return false;

}

}

for (int i = 0;i<s3.length();i++)

{

if(s3.charAt(i)=='~' || s3.charAt(i)=='#' || s3.charAt(i)=='%' ||s3.charAt(i)=='&')

{

return false;

}

}

return true;

}

public boolean Check_on_Reg(String name, String path)

{

File F = new File(path);

String toCompare = name+".txt";

String ArrOfFile[] = F.list();

for(int i = 0;i<ArrOfFile.length;i++)

{

if(toCompare.equals(ArrOfFile[i]))

{

return false;

}

}

return true;

}

public boolean Check_on_Rez(String fullpath)

{

try {

Scanner in = new Scanner(new File(fullpath));

StringBuffer data = new StringBuffer();

while (in.hasNext()) {

data.append(in.nextLine()).append("\n");

}

String s = data.toString();

if(s.equals(""))

{

return false;

}

return true;

} catch (FileNotFoundException ex) {

Logger.getLogger(Check.class.getName()).log(Level.SEVERE, null, ex);

return false;

}

}

}

3.3 Класс ShowFile

Класс реализует следующие методы: чтение лекционного материала из файла и запись его в текстовое поле, чтение вопросов/ответов из файла и запись их в текстовое поле, и просто чтение текста из файла.

Метод public String SetLek(String s,JTextArea t) читает лекционный материал из файла и записывает в текстовое поле.

Метод public String ShowAQ(String s,JTextField t) читает вопросы или ответы(взависимости от того, что требуется), и записывает в текстовое поле.

Метод public String GetTextFromFile(String s) читает текст из файла.

public class ShowFile

{

public ShowFile(){}

public String zap(String s,JTextArea t){

try {

Scanner in = new Scanner(new File(s));

StringBuffer data = new StringBuffer();

while (in.hasNext())

data.append(in.nextLine()).append("\n");

t.setText(data.toString());

return data.toString();

} catch ( Exception ex ) {

ex.printStackTrace();

return "";

}

}

public String ShowAQ(String s,JTextField t){

try {

Scanner in = new Scanner(new File(s));

StringBuffer data = new StringBuffer();

while (in.hasNext())

data.append(in.nextLine()).append("\n");

t.setText(data.toString());

return data.toString();

} catch ( Exception ex ) {

ex.printStackTrace();

return "";

}

}

public String GetTextFromFile(String s)

{

try {

Scanner in = new Scanner(new File(s));

StringBuffer data = new StringBuffer();

while (in.hasNext())

data.append(in.nextLine()).append("\n");

return data.toString();

} catch ( Exception ex ) {

ex.printStackTrace();

return "";

} }}

3.4 Класс WorkWithQuestion

Класс реализует оценивание ответа на вопрос. Если в диалоговое окно предназначенное для ответа введена пустая строка то выдается соответствующее предупреждение. Если ответ совпал с эталонном или не совпал с эталонном ответа то соответственно увеличивается или не увеличивается счетчик ответов верных, но в том и другом случае, кнопка предназначенная для ответа на этот вопрос становится нерабочей, что бы пользователь не мог ответить на него второй раз. Так же, если студент ответил на 15 вопросов, делается рабочей кнопка "Результат".

public class WorkWithQuestion

{

WorkWithQuestion(){}

public void Answer(String s,JButton B )

{

String answ = JOptionPane.showInputDialog("Введите ваш ответ");

String answ1=answ+"\n";

char ch2[] = answ1.toCharArray();

try {

Scanner in = new Scanner(new File(s));

StringBuffer data = new StringBuffer();

while (in.hasNext())

{ data.append(in.nextLine()).append("\n");}

char ch[] =data.toString().toCharArray();

boolean b = Arrays.equals(ch, ch2);

if(answ.equals(""))

{

JOptionPane.showMessageDialog(Main.F4,"Вы не ответили на етот вопрос");

return;

}

if(b)

{

Main.i++;

if(Main.i==10)

{

Main.F4.R.setEnabled(true);

}

JOptionPane.showMessageDialog(Main.F4,"Верно");

Main.t++;

B.setEnabled(false);

System.out.println(Main.i);

}

else

{

Main.i++;

if(Main.i==10)

{

Main.F4.R.setEnabled(true);

}

JOptionPane.showMessageDialog(Main.F4,"Неверно");

B.setEnabled(false);

}

}

catch ( Exception ex ) {

ex.printStackTrace();

} } }

3.5 Класс TimeInSystem

Класс, реализует подсчет времени, в течение которого студент находился в системе обучения. Метод этого класса создает счетчик времени и увеличивает его на единицу после каждой минуты пребывания в системе, и останавливает таймер и записывает в файл время студента которое он провел в системе. В случае повторного захода студента в систему берется значение времени из файла этого студента и к нему уже прибавляется новое время пребывания.

public class TimeInSystem

{

public static Integer c;

public static Integer i =0;

public static java.util.Timer timer = new java.util.Timer();

public TimeInSystem(){}

public void time( String T1,int flag,String path)

{

if(flag==1)

{

Main.T.c = Main.T.c.parseInt(T1);

TimerTask task = new TimerTask() {

public void run()

{ Main.T.i++; }

};

timer.schedule( task,30000, 60000 );

}

if(flag==2)

{

Main.T.timer.cancel();

Main.T.timer.purge();

try {

Scanner in = new Scanner(new File(path));

StringBuffer data = new StringBuffer();

while (in.hasNext()) {

data.append(in.nextLine()).append("\n");

}

String s = data.toString();

int i = s.indexOf("#");

int r = s.indexOf("~");

int t = s.indexOf("%");

int u = s.indexOf("&");

int h = s.indexOf("\n");

String L1 = s.substring(0, i);

String L2 = s.substring(i + 1, r);

String L3 = s.substring(r + 1, t);

String L4 = s.substring(t + 1, u);

String L5 = s.substring(u + 1, h);

Integer y = Main.T.i+Main.T.c;

String Rez = y.toString();

String F = L1 + "#" + L2 + "~" + L3 + "%" + L4 + "&" +Rez ;

File f1;

f1 = new File(path);

PrintWriter writer = null;

writer = new PrintWriter(new OutputStreamWriter(new FileOutputStream(path)));

writer.write(F);

writer.close();

} catch (FileNotFoundException ex) {

Logger.getLogger(TimeInSystem.class.getName()).log(Level.SEVERE, null, ex);

} } }}

3.6 Класс ShowResult

Релизует демонстрацию студенту его конечного результата обучения, тесть его оценок. Методы класса записывают в текстовые поля окна, в котором будут отображться результаты обучения, ФИО студента, группу, количесвто верных ответов, баллы, и текстовый эквивалент.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.