Программа по реализации вывода информации о работниках организации

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    832,96 Кб
  • Опубликовано:
    2014-03-06
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Программа по реализации вывода информации о работниках организации

Содержание

. ВВЕДЕНИЕ

.1 Цель курсовой работы

.2 Постановка задачи

. МЕТОДЫ И ПУТИ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ

.1 Общее понятие класса на языке Java

.2 Решение задачи

. ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ

.1 Оценка работы программы

Заключение

Список использованных источников

Приложение

I1 Введение

.1 Цель курсовой работы

Целью курсовой работы является закрепление и углубление знаний, полученных при изучении дисциплины в ходе лекционных и практических занятий, получение практических навыков создания программ с использованием объектно-ориентированной технологии в современных средах проектирования. Выполнение курсовой работы предусматривает: создание классов, полей и методов класса. А так же получение практических навыков программирования алгоритмов обработки данных.

.2 Постановка задачи.

Техническое задание данной курсовой работы состоит в следующем:

Определить класс с именем WORKER, содержащий следующие поля:

фамилия и инициалы работника;

название занимаемой должности;

год поступления на работу.

Определить методы доступа к этим полям для объектов типа WORKER.

Написать программу, выполняющую следующие действия:

Ввод с клавиатуры данных в массив, состоящий из десяти объектов типа WORKER;

Вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;

Если таких работников нет, вывести на дисплей соответствующее сообщение.

Программа, выполняющая вышеуказанные действия, разработана на основании варианта №6 (стр.175), четвертого раздела учебного пособия Павловская Т.А., Щупак Ю.А. П12 C++.Объектно-ориентированное программирование: Практикум.-СПб.: Питер,2006.-265с :ил.

2. МЕТОДЫ И ПУТИ РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ

.1 Понятие класса на языке Java

Общая форма класса .­При определении класса объявляют его конкретную форму и сущность. Это выполняется путем указания данных, которые он содержит, и кода, воздействующего на эти данные. Хотя очень простые классы могут содержать только код или только данные, большинство классов, применяемых в реальных программах, содержит оба эти компонента.

Как будет показано в дальнейшем, код класса определяет интерфейс к его данным. Для объявления класса служит ключевое слово c1ass.

Классы могут быть (и обычно являются) значительно более сложными. Упрощенная общая форма определения класса имеет следующий вид:


Данные, или переменные, определенные внутри класса, называются переменными экземпляра. Код содержится внутри методов. Определенные внутри класса методы и переменные вместе называют членами класса. В большинстве классов действия с пере­менными экземпляров и доступ к ним выполняются через методы, определенные в этом классе. Таким образом, в общем случае именно методы определяют способ использования данных класса. Определенные внутри класса переменные называют переменными экземпляра, по­скольку каждый экземпляр класса (т.е. каждый объект класса) содержит собственные копии этих переменных. Таким образом, данные одного объекта отделены и отличаются от данных другого объекта. Вскоре мы вернемся к рассмотрению этой концепции, но она слишком важна, чтобы можно было обойтись без хотя бы предварительного ознакомле­ния с нею.

Все методы имеют ту же общую форму, что и метод main ( ) , который мы использова­ли до сих пор. Однако большинство методов не будут указаны как static или public.

Обратите внимание, что общая форма класса не содержит определения метода main ( ) . Классы java могут и не содержать этот метод. Eгo обязательно указывать только в тех случаях, когда данный класс служит начальной точкой программы.

Простой класс. ­Изучение классов начнем с простого примера. Ниже приведен код класса Вох (Паралле­лепипед), который определяет три переменных экземпляра: width (ширина), height (высота) и depth (глубина). В настоящий момент Вох не содержит никаких методов (но вскоре мы добавим в негo метод).


Как уже было сказано, класс определяет новый тип данных. В данном случае новый тип данных назван Вох. Это имя будет использоваться для объявления объектов типа Вох. Важно помнить, что объявление c1ass создает только шаблон, но не действитель­ный объект. Таким образом, приведенный код не приводит к появлению никаких объек­тов типа Вох.

Чтобы действительно создать объект Вох, нужно использовать оператор, подобный следующему:

­Вох mуВох new Вох(); // создание объекта mуВох типа Вох

После выполнения этого оператора mуВох станет экземпляром класса Вох. То есть он обретет "физическое" существование.

Повторим еще раз: при каждом создании экземпляра класса мы создаем объект, который содержит собственную копию каждой переменной экземпляра, определенной классом. Таким образом, каждый объект Вох будет содержать собственные копии переменных экземпляра width, height и depth. Для получения доступа к этим переменным приме­няется операция точки ( .). Эта операция связывает имя объекта с именем переменной

экземпляра. Например, чтобы присвоить переменной width объекта mybох значение 100, нужно было бы использовать следующий оператор: .width 100;

Этот оператор указывает компилятору, что копии переменной width, хранящейся внутри объекта mybox, нужно присвоить значение, равное 100. В общем случае операцию точки используют для доступа как к переменным экземпляра, так и к методам внутри объекта.

Ниже приведена полная программа, в которой используется класс Вох.


Файлу этой проrpаммы нужно присвоить имя ВохDеmо. java, поскольку метод main () определен в классе, названном ВохDеmо, а не Вох. Выполнив компиляцию этой программы, вы убедитесь в создании двух файлов class: одного для Вох и одного для ВохDеmо.

Компилятор java автоматически помещает каждый класс в отдельный файл с расшире­нием c1ass. В действительности классы Вох и ВохDеmо не обязательно должны быть объявлены в одном и том же исходном файле. Каждый класс можно было бы поместить в отдельный файл, названный соответстыенно Вох. java и ВохDеmо. java.

Чтобы запустить эту проrрамму, нужно выполнить файл ВохDеmо. c1ass. В результа­те будет получен следующий вывод:

Объем равен 3000.0

.2 Решение задачи

По условию задания на м требуется объявить класс Worker у которого имеется три поля. Это будет выглядеть следующим образом:

Worker{ //ОБЪЯВЛЕНИЕ КЛАССАskan=new Scanner(System.in);

public String Familiya []=new String[3]; //ПОЛЕ ДЛЯ ФАМИЛИЙString Doljnost[]=new String[3]; //ПОЛЕ ДЛЯ ДОЛЖНОСТИint god_postupleniya[]=new int [3]; //ПОЛЕ ДЛЯ ГОДА ОСТУПЛЕНИЯ

Также там говорится о том, что необходимо определить методы доступ к этим полям. Здесь мы создадим метод Vvod_dannih() в классе Worker.

При помощи этого метода мы сможем без труда инициализировать в дальнейшем используемые поля класса.

public void Vvod_dannih(){ //ОБЪЯВЛЯЕМ МЕТОДЫ ДОСТУПА К ПОЛЯМ КЛАССА Worker .out.println("Введите данные о работниках ");

for(int i=0;i<3;i++){.out.println("Введите фамилию "+(i+1)+"-го работника:" );[i]=skan.next();

System.out.println("Введите должность "+(i+1)+"-го работника:" );[i]=skan.next();.out.println("Введите год поступления на работу "+(i+1)+"-го работника:" );

god_postupleniya[i]=skan.nextInt();

}}}

Нам также надо создать метод «vich_staj» который будет вычислять стаж работников и выведет на экран фамилии работников со стажем который мы введем. Для этого :

Первая часть метода будет состоять из кода который запрашивает пользователя ввести интересующий его стаж.

nov[]=new String[3];//этот массив будет использоваться позднее для сохранения //фамилий работников, чей стаж равен либо превышает интересующий нас стаж.out.println("Введите искомый стаж: "); //ЭТУ И СЛЕДУЮЩУЮ СТРОКУ //ИСПОЛЬЗУЕМ ДЛЯ ВВОДА ИНТЕРЕСУЮЩЕГО НАС СТАЖАpoisk=skan.nextInt();

Еще нам надо выяснить какой стаж имеется у каждого работника. Поскольку нам лишь известен год поступления работника на работу, то для выявления стажа работы этого работника в организации мы от нынешнего года отнимем год его поступления. Затем, поскольку у нас работников несколько, запишем стаж работы каждого в массив staj:

staj[]= new int[3]; //ОБЪЯВЛЯЕМ МАССИВ В КОТОРОМ БУДУТ ХРАНИТЬСЯ СТАЖ //РАБОТНИКОВ

for(int i=0; i<Familiya.length; i++){[i]=2013- god_postupleniya[i];

Далее следует самое интересное. Нам необходимо определить существуют ли работники со стажем равным или превышающим тот стаж, который нас интересует. Для этого:

else t[i]=false; / /ИНАЧЕ ЛОЖНЫМ

}

Теперь дело за малым, то есть нам остается только вывести сообщение либо с именами работников, стаж которых равен или превышает интересующий нас стаж, либо, если таковых нет вывести соответствующее сообщение.

f=false; // ВСПОМОГАТЕЛЬНАЯ ПЕРЕМЕННАЯ КОТОРУЮ БУДЕМ ИСПОЛЬЗОВАТЬ ДЛЯ ВЫВОДА НЕООБХОДИМЫХ СООБЩЕНИЙ.out.println( "В нашей организации более "+poisk+"-ти лет работают : ");

for(int i=0; i<3;i++)(t[i])

{=true;.out.println(nov[i]= Familiya[i] );}

if(!f)System.out.println("Извените, но в нашей организации работников с таким стажем нет !");

}}

На этом тело нашего класса Worker2 завершается.

В теле основного класса мы лишь будем вызывать методы созданного выше класса Worker2, то есть:

public class rabotnik_2 {static void main(String[] args) {skan=new Scanner(System.in);rabotnik=new Worker2(); //ОБЪЯВЛЯЕМ ПЕРЕМЕННУЮ "rabotnik" ТИПА "staj"

rabotnik.Vvod_dannih(); //ВЫЗЫВАЕМ МЕТОД КЛАССА ДЛЯ ЗАПИСИ ДАННЫХ О РАБОТНИКАХ.vich_staj(); //ВЫЗЫВАЕМ МЕТОД КЛАССА ДЛЯ ВЫВОДА ФАМИЛИЙ СООТВЕТСТВУЮЩИХ ИСКОМОМУ СТАЖУ

}}

Вот таким образом завершается код нашей программы.

3. ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ

.1 Оценка работы программы

Для разработки вышеуказанной программы я воспользовалась средой разработки приложений NetBeans IDE 6.9.1. После стандартных действий создания нового проекта и файла в этой среде я ввела программный код, находящийся в разделе Приложение данной курсовой работы.

При запуске созданной программы сначала появится запрос:


,где необходимо ввести данные в поля Фамилия, Должность и Год поступления на работу, причем первые два поля должны быть строкового типа, а третье(год поступления на работу) - целочисленного типа:


Точно так же заполняются данные и остальных работников, (в данном примере всего три работника):


После этого появится запрос о вводе стажа который нас интересует. При вводе, например, числа 3 появились следующие фамилии:


Действительно, стаж работника Nomozova составляет 3 года, а Kudratova - 4.

Если же ввести некое число, превышающее имеющиеся у работников, то есть если работников с таким стажем нет, то выводится соответствующее сообщение:

Заключение

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

Были решены следующие задачи:

. Изучены материалы, касающиеся темы классов на Java.

. Приобретены практические навыки по определению класса, созданию полей и методов, вызове созданных методов.

. Осуществлена программная реализация проекта.

Список использованных источников

Использованная литература

Блинов И.Н., Романчик В.С. Java 2. Практическое руководство. - Мн.: Универсалпресс, 2005.

Блинов И.Н., Романчик В.С. Java. Промышленное программирование: практ. пособие. - Мн: УниверсалПресс, 2007.

Павловская Т.А., Щупак Ю.А. C++. Объектно-ориентированное программирование: Практикум. - СПб.: Питер, 2004.

Вязовик Н.А. Программирование на Java <http://www.intiut.ru/department/pl/javapl>.

ресурсы

<http://onlinelibrary.wiley.com/> - научные журналы издательства Wiley&Sons

<http://www.sciencedirect.com/> - научные журналы издательства Elsevier.intuit.ru - национальный открытый университет.asu.tusu.ru - электронные курс по дисциплине Основы технологии Java 2.

Приложение

Программный код реализующий задание курсовой работы:kursovaya;java.util.*; //импортируем класс UTIL для ввода данных

class Worker2{ //объявление классаskan=new Scanner(System.in);String Familiya []=new String[3]; //поле для фамилийString Doljnost[]=new String[3]; //поле для должностейint god_postupleniya[]=new int [3]; //поле для года поступления

boolean t[]=new boolean[3]; //вспомогательный массив который мы используем позжеvoid Vvod_dannih(){ //объявляем методы доступа к полям класса staj.out.println("Введите данные о работниках ");

for(int i=0;i<3;i++){.out.println("Введите фамилию "+(i+1)+"-го работника:" );[i]=skan.next();

System.out.println("Введите должность "+(i+1)+"-го работника:" );[i]=skan.next();.out.println("Введите год поступления на работу "+(i+1)+"-го работника:" );

god_postupleniya[i]=skan.nextInt(); ///////////////////////////////////////////////////////////

} программа массив информация код

}void vich_staj(){ //объявляем метод который будет выводить фамилии //работников с искомым стажемnov[]=new String[3];.out.println("Введите искомый стаж : "); / /эту и следующую строку используем для ввода интересующего нас стажаpoisk=skan.nextInt(); staj[]= new int[3]; //объявляем массив в котором будут храниться данные о //стаже работников

for(int i=0; i<Familiya.length; i++){[i]=2013-god_postupleniya[i]; ///////////

//ОПРЕДЕЛИМ ЗНАЧЕНИЯ ЭЛЕМЕНТОВ ВСПОМОГАТЕЛЬНОГО МАССИВА "t"((staj[i])>=poisk){ // если в имеющемся наборе стажей существует такой, что больше либо равен тому который мы [i]=true;} // то значение соответствующего элемента в вспомогательном //массиве будет истинным

else t[i]=false;//иначе ложным

}f=false;// это вспомогательная переменная которую будем использовать для //ввода необходимых сообщений.out.println( "В нашей организации более "+poisk+"-ти лет работают : ");

for(int i=0; i<3;i++)(t[i])

{=true;.out.println(nov[i]=Familiya[i] );}

if(!f)System.out.println("Извените, но в нашей организации работников с таким стажем нет !");

}

}class rabotnik_2 {static void main(String[] args) {skan=new Scanner(System.in);rabotnik=new Worker2(); //объявляем переменную "rabotnik" типа "staj".Vvod_dannih(); // вызываем метод класса для записи данных о работниках .vich_staj(); //вызываем метод класса для вывода фамилий соответствующих искомому классу

}}

Похожие работы на - Программа по реализации вывода информации о работниках организации

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!