Загрузка страницы..
2 часть создания дифференциально-диагностического опросника - Исходный код
2 часть создания дифференциально-диагностического опросника - Исходный код
2013-01-02T00:00 02 янв. 2013 00:00
Просмотров: 7078

Если вы еще не просмотрели 1 часть создания опроса - Создание формы, то лучше сначала просмотрите её, а затем заходите сюда ;)

А сейчас мы продолжим создание дифференциально-диагностического опросника в среде Visual Studio, на C#


Двойным щелчком по button_go создадим обработчик событий button_go_Click() и запишем в него код:

    private void button_go_Click(object sender, EventArgs e)
       {
           start();
       }


Напишем ф-ию start:

       void start()
       {
           button_go.Visible = labelresult.Visible = false;
           view(0);
           button_next.Visible = groupBox1.Visible = labelstatys.Visible = true;
           chp = 0; cht = 0; chch = 0; chz = 0; chh = 0; l = 0;
           radioButton1.Checked = radioButton2.Checked = false;
           button_next.Text = "Далее";
       }

И ф-ию view:

       void view(int i)
       {
           radioButton1.Text = smas[i, 0];
           radioButton2.Text = smas[i, 1];
           labelstatys.Text = (i + 1).ToString() + "/20";
       }


Объявим все переменные и массив, в котором будет содержаться вопросы.

       int chp, cht, chch, chz, chh;
       int l = 0;
       string[,] smas = new string[20, 2];

Инициализируем массив smas . Я это сделал в самом верху, после строки
public Form1()
{
InitializeComponent();

 //массив
           smas[0, 0] = "Ухаживать за животными";
           smas[0, 1] = "Обслуживать машины, приборы (следить, регулировать)";
           smas[1, 0] = "Помогать людям, лечить их";
           smas[1, 1] = "Составлять таблицы, схемы, программы вычислительных машин";
           smas[2, 0] = "Следить за качеством книжных иллюстраций, плакатов, художественных открыток";
           smas[2, 1] = "Следить за состоянием, развитием растений";
           smas[3, 0] = "Обрабатывать материалы (древесина, ткань, металл, пластмасса и др.)";
           smas[3, 1] = "Доводить товары до потребителя (рекламировать, продавать)";
           smas[4, 0] = "Обсуждать научно-популярные книги, статьи";
           smas[4, 1] = "Обсуждать художественную литературу (пьесы, концерты)";
           smas[5, 0] = "Выращивать молодняк (животных какой-либо породы)";
           smas[5, 1] = "Тренировать товарищей (или младших) в выполнении каких-либо действий (трудовых, учебных, спортивных)";
           smas[6, 0] = "Копировать рисунки, изображения (или настраивать музыкальные инструменты)";
           smas[6, 1] = "Управлять каким-либо грузовым (подъемным или транспортным) краном";
           smas[7, 0] = "Сообщать, разъяснять людям нужные им сведения (в справочном бюро, на экскурсии и т.д.) ";
           smas[7, 1] = "Художественно оформлять выставки, витрины (или участвовать в подготовке пьес, концертов)";
           smas[8, 0] = "Ремонтировать вещи, изделия (одежду, технику, жилище)";
           smas[8, 1] = "Искать и исправлять ошибки в текстах, таблицах, рисунках ";
           smas[9, 0] = "Лечить животных";
           smas[9, 1] = "Выполнять вычисления, расчеты";
           smas[10, 0] = "Выводить новые сорта растений";
           smas[10, 1] = "Конструировать, проектировать новые виды промышленных изделий (машины, одежду, дома, продукты питания и т.п.)";
           smas[11, 0] = "Разбирать споры, ссоры между людьми, убеждать, разъяснять, поощрять, наказывать";
           smas[11, 1] = "Разбираться в чертежах, схемах и таблицах (проверять, уточнять, приводить в порядок)";
           smas[12, 0] = "Наблюдать, изучать работу кружков художественной самодеятельности";
           smas[12, 1] = "Наблюдать, изучать жизнь микробов";
           smas[13, 0] = "Обслуживать, налаживать медицинские приборы, аппараты";
           smas[13, 1] = "Оказывать людям медицинскую помощь при ранениях, ушибах, ожогах и т.д.";
           smas[14, 0] = "Составлять точные описания-отчеты о наблюдениях, явлениях, событиях, измеряемых объектах и др.";
           smas[14, 1] = "Художественно описывать, изображать события (наблюдаемые или представляемые)  ";
           smas[15, 0] = "Делать лабораторные анализы в больнице";
           smas[15, 1] = "Принимать осматривать больных, беседовать с ними, назначать лечение";
           smas[16, 0] = "Красить и расписывать стены помещений, поверхность изделий";
           smas[16, 1] = "Осуществлять монтаж здания или сборку машин, приборов";
           smas[17, 0] = "Организовывать культпоходы сверстников или малышей в театры, музеи, на экскурсии, туристические походы";
           smas[17, 1] = " Играть на сцене, принимать участие в концертах  ";
           smas[18, 0] = "Изготовлять по чертежам детали, изделия (машины, одежду), строить здания";
           smas[18, 1] = "Заниматься черчением, копировать чертежи, карты ";
           smas[19, 0] = "Вести борьбу с болезнями растений, вредителями леса, сада";
           smas[19, 1] = "Работать на клавишных машинах";


И последнее обработчик события кнопки button_next

       private void button_next_Click(object sender, EventArgs e)
       {
           if (button_next.Text.Length < 13)
           {
               switch (l + 1)
               {
                   case 1:
                       if (radioButton1.Checked) chp++;
                       else cht++;
                       break;
                   case 2:
                       if (radioButton1.Checked) chch++;
                       else chz++;
                       break;
                   case 3:
                       if (radioButton1.Checked) chh++;
                       else chp++;
                       break;
                   case 4: if (radioButton1.Checked) cht++;
                       else chch++;
                       break;
                   case 5: if (radioButton1.Checked) chz++;
                       else chh++; break;
                   case 6: if (radioButton1.Checked) chp++;
                       else chch++; break;
                   case 7: if (radioButton1.Checked) chh++;
                       else cht++; break;
                   case 8: if (radioButton1.Checked) chch++;
                       else chh++; break;
                   case 9:
                       if (radioButton1.Checked) cht++;
                       else chz++; break;
                   case 10: if (radioButton1.Checked) chp++;
                       else chz++; break;
                   case 11: if (radioButton1.Checked) chp++;
                       else cht++; break;
                   case 12: if (radioButton1.Checked) chch++;
                       else chz++; break;
                   case 13: if (radioButton1.Checked) chh++;
                       else chp++; break;
                   case 14: if (radioButton1.Checked) cht++;
                       else chch++; break;
                   case 15: if (radioButton1.Checked) chz++;
                       else chh++; break;
                   case 16: if (radioButton1.Checked) chp++;
                       else chch++; break;
                   case 17: if (radioButton1.Checked) chh++;
                       else cht++; break;
                   case 18: if (radioButton1.Checked) chch++;
                       else chh++; break;
                   case 19: if (radioButton1.Checked) cht++;
                       else chz++; break;
                   case 20: if (radioButton1.Checked) chp++;
                       else chz++; break;
               }
               radioButton1.Checked = radioButton2.Checked = false;
               if (l < 19)
               {
                   l++;
                   view(l);
                   if (l == 19) button_next.Text = "Закончить";
               }
               else
               {
                   groupBox1.Visible = labelstatys.Visible = false;
                   labelresult.Visible = button_next.Enabled = true;
                   labelresult.Text = "Результат:\n" +
                       "Человек - природа: " + chp.ToString() + "\n" +
                       "Человек - техника: " + cht.ToString() + "\n" +
                       "Человек - человек: " + chch.ToString() + "\n" +
                       "Человек - знаковая система: " + chz.ToString() + "\n" +
                       "Человек - художественный образ: " + chh.ToString() + "\n\n";
                   int max = 0; int imax = 0;
                   string sm = "";
                   if (chp > max) { max = chp; imax = 1; sm = "Человек - природа"; }
                   if (cht > max) { max = cht; imax = 1; sm = "Человек - техника"; }
                   else if (cht == max) { max = cht; imax++; sm += ", Человек - техника"; }
                   if (chch > max) { max = chch; imax = 1; sm = "Человек - человек"; }
                   else if (chch == max) { max = chch; imax++; sm += ", Человек - человек"; }
                   if (chz > max) { max = chz; imax = 1; sm = "Человек - знаковая система"; }
                   else if (chz == max) { max = chz; imax++; sm += ", Человек - знаковая система"; }
                   if (chh > max) { max = chh; imax = 1; sm = "Человек - художественный образ"; }
                   else if (chh == max) { max = chh; imax++; sm += ", Человек - художественный образ"; }
                   if (imax == 1)
                       labelresult.Text += "Преобладает: " + sm;
                   else
                   {
                       labelresult.Text += "Преобладает: " + sm;
                   }
                   button_next.Text = "Пройти ещё раз";
               }
           }
           else start();
       }

Ну вот и всё. Наша программа готова. Пробуем её запустить.



Комментарии: 0

Коментарий пока нет, стань первым!

Добавить комментарий

Яндекс.Метрика Яндекс.Метрик