Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2011, 12:25   #1
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию Тестирование сотрудников

Уважаемые форумчане.
Кто может посоветовать по поводу реализации следующей задачи:

В прикрепленном файле таблицы.
В первой:

Каждый сотрудник фирмы проходит тестирование. 3 параметра: лояльность, эффективность, инициатива.
По каждому параметру есть ряд тестов. Сотрудник тестируется по одному из тестов для каждого параметра.
Начисляются баллы. Например если по 1 тесту параметра лояльность сотрудник получил оценку 30 - это 100 баллов. В таблице даны соотношения оценок и баллов по каждому тесту каждого параметра.

Во второй таблице сотрудники разделены на возрастные группы и категории. Указано количество баллов, необходимое набрать сотруднику для итоговой оценки.


Работать программа должна примерно так:

1) Вводим (по запросу) возраст и категорию.
Выбираем из списка (наверное) тесты. по каждому параметру. Вводим оценку, полученную в каждом тесте.

2) Программа выдает: сколько баллов мы набрали всего, и какой оценке все это соответствует.


Пока мыслей мало:

Создаем класс сотрудник. Параметры: лояльность, эффективность, инициатива.
Класс тест. Или конструктор. Блин запутался в конец.

Но вот выкладываю код, первые попытки что то написать.
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 07.05.2011, 12:27   #2
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

Таблица начисления баллов и таблица разделения сотрудников и их оценки
Вложения
Тип файла: rar Таблица начисления баллов.rar (20.5 Кб, 21 просмотров)
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 07.05.2011, 12:28   #3
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace sotrudmik
{
    class Sotrudnik// класс сотрудник
    {
        private int Vozrast;//возраст сотрудника
        private int Kategoria;// категория сотрудника
        private string Loyal;//лояльность
        private string Effect;//эффективность
        private string Iniz;//инициатива
        private double OzenTest;//оценка за каждый тест
        private double SumBall;//общее количество баллов (со всех пройденных тестов)
        private double ObOzen;//общая оценка исходя из набранного количества баллов
        //конструктор
        private Sotrudnik(int V, int K, string L, string E, string I, double OzT,
            double SuB, double ObO)
        {
            Vozrast = V;
            Kategoria = K;
            Loyal = L;
            Effect = E;
            Iniz = I;
            OzenTest = OzT;
            SumBall = SuB;
            ObOzen = ObO;
        }
 
    }
    class Test
    {
        public double ball;//для подсчета баллов. Во всех тестах.
        public double ozenka;//для подсчета оценки. Во всех тестах.
    }
    class test1 : Test//создаю 13 тестов наследников. 
                       //В каждом тесте своя зависимость оценок и баллов
                       //нужно в каждом наследнике описать эту свою зависимость
                       //пыьаюсь в первом
    {
        test1 = new Test();
        /*совершенно не могу понять, 
         * как описать тут зависимость
балл оценка
100     30
99      
98      29
97      
96      28
95      
94      27
93      
92      26
91      
90      25
89      
88      24
87      
86      23
85      
84      22
83      
82      21
81      
80      20
79      
78      19
77      
76      18
75      
74      17
73      
72      16
71      
70      15
69      
68      
67      
66      14
65      
64      
63      
62      13
61      
60      
59      
58      12
57      
56      
55      
54      11
53      
52      
51      
50      10
49      
48      
47      
46      9
45      
44      
43      
42      8
41      
40      
39      
38      7
37      
36      
35      
34      6
33      
32      
31      
30      5
29      
28      
27      
26      4
25      
24      
23      
22      3
21      
20      
19      
18      2
17      
16      
15      
14      1
13      
12      
11      
10      
9       
8       
7       
6       
5       
4       
3       
2       
*/
 
    }
    class test2 : Test
    {
    }
    class test3 : Test
    {
    }
    class test4 : Test
    {
    }
    class test5 : Test
    {
    }
    class test6 : Test
    {
    }
    class test7 : Test
    {
    }
    class test8 : Test
    {
    }
    class test9 : Test
    {
    }
    class test10 : Test
    {
    }
    class test11 : Test
    {
    }
    class test12 : Test
    {
    }
    class test13 : Test
    {
    }
 
 
 
 
 
 
 
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 07.05.2011, 12:29   #4
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace sotrudmik
{
    class Sotrudnik// класс сотрудник
    {
        private int Vozrast;//возраст сотрудника
        private int Kategoria;// категория сотрудника
        private string Loyal;//лояльность
        private string Effect;//эффективность
        private string Iniz;//инициатива
        private double OzenTest;//оценка за каждый тест
        private double SumBall;//общее количество баллов (со всех пройденных тестов)
        private double ObOzen;//общая оценка исходя из набранного количества баллов
        //конструктор
        private Sotrudnik(int V, int K, string L, string E, string I, double OzT,
            double SuB, double ObO)
        {
            Vozrast = V;
            Kategoria = K;
            Loyal = L;
            Effect = E;
            Iniz = I;
            OzenTest = OzT;
            SumBall = SuB;
            ObOzen = ObO;
        }
 
    }
    class Test
    {
        private double ball;//для подсчета баллов. Во всех тестах.
        private double ozenka;//для подсчета оценки. Во всех тестах.
 
    }
    class nomerTesta : Test
    {
        private int Nachislenie_Balov(int _nomerTesta, float _ocenka)
        {
            if (_nomerTesta == 1)
            {
                if (_ocenka == 1) return 14;
                if (_ocenka == 2) return 18;
                if (_ocenka == 3) return 22;
                if (_ocenka == 4) return 26;
                if (_ocenka == 5) return 30;
                if (_ocenka == 6) return 34;
                if (_ocenka == 7) return 38;
                if (_ocenka == 8) return 42;
                if (_ocenka == 9) return 46;
                if (_ocenka == 10) return 50;
                if (_ocenka == 11) return 54;
                if (_ocenka == 12) return 58;
                if (_ocenka == 13) return 62;
                if (_ocenka == 14) return 66;
                if (_ocenka == 15) return 70;
                if (_ocenka == 16) return 72;
                if (_ocenka == 17) return 74;
                if (_ocenka == 18) return 76;
                if (_ocenka == 19) return 78;
                if (_ocenka == 20) return 80;
                if (_ocenka == 21) return 82;
                if (_ocenka == 22) return 84;
                if (_ocenka == 23) return 86;
                if (_ocenka == 24) return 88;
                if (_ocenka == 25) return 90;
                if (_ocenka == 26) return 92;
                if (_ocenka == 27) return 94;
                if (_ocenka == 28) return 96;
                if (_ocenka == 29) return 98;
                if (_ocenka == 30) return 100;
 
                
            }
            if (_nomerTesta == 2) 
            {
                if (_ocenka == 10) return 62;
                if (_ocenka == 11) return 63;
                if (_ocenka == 12) return 64;
                if (_ocenka == 13) return 65;
                if (_ocenka == 14) return 66;
                if (_ocenka == 15) return 67;
                if (_ocenka == 16) return 68;
                if (_ocenka == 17) return 69;
                if (_ocenka == 18) return 70;
                if (_ocenka == 19) return 71;
                if (_ocenka == 20) return 72;
                if (_ocenka == 21) return 73;
                if (_ocenka == 22) return 74;
                if (_ocenka == 23) return 75;
                if (_ocenka == 24) return 76;
                if (_ocenka == 25) return 77;
                if (_ocenka == 26) return 78;
                if (_ocenka == 27) return 79;
                if (_ocenka == 28) return 80;
                if (_ocenka == 30) return 81;
                if (_ocenka == 32) return 82;
                if (_ocenka == 34) return 83;
                if (_ocenka == 36) return 84;
                if (_ocenka == 38) return 85;
                if (_ocenka == 40) return 86;
                if (_ocenka == 42) return 87;
                if (_ocenka == 44) return 88;
                if (_ocenka == 46) return 89;
                if (_ocenka == 48) return 90;
                if (_ocenka == 50) return 91;
                 if (_ocenka == 52) return 92;
                if (_ocenka == 54) return 93;
                if (_ocenka == 56) return 94;
                if (_ocenka == 58) return 95;
                if (_ocenka == 60) return 96;
                if (_ocenka == 62) return 97;
                if (_ocenka == 64) return 98;
                if (_ocenka == 68) return 99;
                if (_ocenka == 70) return 100;
 
 
            } if (_nomerTesta == 3) return _ocenka;
        }
 
 
 
 
 
 
 
 
 
        class Program
        {
            static void Main(string[] args)
            {
            }
        }
    }
}
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 07.05.2011, 12:55   #5
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Цитата:
В прикрепленном файле таблицы.
Параметры можно хранить в бд.
Цитата:
Работать программа должна примерно так:

1) Вводим (по запросу) возраст и категорию.
Выбираем из списка (наверное) тесты. по каждому параметру. Вводим оценку, полученную в каждом тесте.

2) Программа выдает: сколько баллов мы набрали всего, и какой оценке все это соответствует.
Вы хотите написать систему тестирования?
Можно выделить модули:
1. Редактор баз вопрос.
2. Администратор.
3. Программа для проведения тестирования.
4. Возможно, выделить сервер тестирования.
Как проводить тестирование: через свое winform приложение или браузер?

Довольно объемно получается.
Вы смотрели существующие программы для проведения тестирования?
Может, взять что-то с открытым исходных кодом и доделать под себя.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Старый 07.05.2011, 13:03   #6
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

Нет, не программу для проведения тестирования. проще.
И для начала в консольном варианте.

1) Программа запрашивает: введите возраст Юзер, вводит
2) Программа запрашивает: введите категорию Юзер, вводит.

Дальше. Юзер знает свои оценки за тесты. Допустим первый тест из предложенных на лояльность - оценка 30 - 100 баллов.

3) Программа спрашивает: выберете тест (номер теста) и введите полученный балл
4) Юзер вводит по каждому тесту известный ему балл
5) программа считает сколько всего баллов, и в соответствии с таблицей, зная категорию и возраст юзера:

Вы (32 года - 3 группа, 2 категория) набрали 200 баллов (в 4 тестах), это соответствует оценки 4.

Все.
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 07.05.2011, 13:07   #7
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Судя по заданию, всё упирается в адекватное написание системы проверки соответствия, остальное - диалог с пользователем...
Spawn™Production® вне форума Ответить с цитированием
Старый 07.05.2011, 14:28   #8
nikozavr
Форумчанин
 
Регистрация: 11.02.2011
Сообщений: 140
По умолчанию

Ну да, вся проблема в таблицах.
Хочу шарить как Daramant!!!
nikozavr вне форума Ответить с цитированием
Старый 07.05.2011, 15:05   #9
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Если некое математическое соответствие удастся найти между оценкой и количеством баллов, то таблица не будет сильно навороченной, в противном случае switch'а не избежать... ну или Enum'а.
Spawn™Production® вне форума Ответить с цитированием
Старый 07.05.2011, 15:41   #10
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Храните данные в бд.
На вскидку, можно выделить следующие таблицы:

1. Тесты
1) id
2) наименование
3) макс. оценка

2. Тестовые баллы
1) id
2) id теста
3) балл
4) оценка

3. Возрастные группы
1) id
2) название
3) возраст от
4) возраст до

4. Категории
1) id
2) id возростной группы
3) номер
4) пороговый уровень

5. Оценки
1) id
2) id категории
3) кол-во тестов
4) оценка
5) балл

6. Квалификационные уровни
1) id
2) id категории
3) номер уровня
4) балл
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приход уход сотрудников ray_kh Microsoft Office Excel 10 22.02.2012 11:46
База сотрудников Syltan Общие вопросы по Java, Java SE, Kotlin 3 20.05.2010 18:47
Тестирование сотрудников ProKsimus Microsoft Office Access 3 08.01.2009 18:01
Личные дела сотрудников asale БД в Delphi 3 05.11.2007 21:33