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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2014, 03:54   #1
XeniaZharinova
Пользователь
 
Регистрация: 18.06.2013
Сообщений: 11
Печаль Оператор switch

Здравствуйте! Программа Windows Application. .
Код:
 void MainFormLoad(object sender, EventArgs e)
        {   textBox1.Text=("Появились ли дефекты на окрашенной поверхности?");  
        }
         void CheckBox1CheckedChanged(object sender, EventArgs e)
        {   int ways;
            switch (ways)
            {   case 0: textBox2.Text=("Пойдите отдохните, у вас все в порядке.");
                case 1: textBox2.Text=("Попробуйте обратиться к более опытному специалисту.");
                case 2: textBox2.Text=("Очистить поверхность от слоя краски со шпаклевкой. Промыть 5%-м раствором кальцевой соды, нейтрализовать поверхность 5%-м раствором соляной кислоты и вновь окрасить.");
                case 3: textBox2.Text=("Вырубить штукатурку на участке пятна, вновь оштукатурить и окрасить.");
                case 4: textBox2.Text=("Попробуйте обратиться к более опытному специалисту");
                case 5: textBox2.Text=("Удалить старый набел, промыть 3%-м раствором соляной кислоты, отгрунтовать меднокупоросной грунтовкой без мела, при больших размерах щелочным или канифольным лаком");
                case 6: textBox2.Text=("Промыть поверхность и окрасить вновь");
                case 7: textBox2.Text=("Попробуйте обратиться к более опытному специалисту");          
            }
            if (checkBox1.Checked==true)
            {   checkBox1.Checked=false;
                textBox1.Text=("Эти дефекты-пятна?");
                if (checkBox1.Checked==true)
                {   
                    checkBox1.Checked=false;
                    textBox1.Text=("Это жирные пятна?");
                    if (checkBox1.Checked==true)
                    {  checkBox1.Checked=false;
                        textBox1.Text=("Окрашенная поверхность является штукатуркой?");
                        if (checkBox1.Checked==true)
                        {  checkBox1.Checked=false;
                            textBox1.Text=("Ha штукатурке остались пятна невысыхающих масел");
                        }
                        else
                            if (checkBox2.Checked==true)
                            {   checkBox2.Checked=false;
                                textBox1.Text=("Окрашенная поверхность является железобетонной?");
                                if (checkBox1.Checked==true)
                                {   checkBox1.Checked=false;
                                    ways=2;
                                }
                                else
                                    if (checkBox2.Checked==true)
                                    {   checkBox2.Checked=false;
                                        textBox1.Text=("Ha железобетоне следы масел");
                                        ways=1;
                                    }
                            }
                    }
                    else
                        if (checkBox2.Checked==true)
                        {   checkBox1.Checked=false;
                            textBox1.Text=("Это жёлтые ржавые пятна?");
                            if(checkBox1.Checked==true)
                            {   checkBox1.Checked=false;
                                textBox1.Text=("Происходит просачивание смолистых веществ через штукатурку и краску")
                                ways=5;
                            }
                            else 
                                if(checkBox2.Checked==true)
                                {   checkBox2.Checked=false;
                                    textBox1.Text=("Причина этих пятен не известна")
                                    ways=4;
                                }
                        }
                }
                else
                    if (checkBox2.Checked==true)
                    {   checkBox2.Checked=false;
                        textBox1.Text=("Эти дефекты полосы?");
                        if (checkBox1.Checked==true)
                        {   checkBox1.Checked=false;
                            textBox1.Text=("Плoxo растушеван колер")
                            ways=6;
                        }
                        else 
                            if (checkBox2.Checked==true)
                            {   checkBox2.Checked=false;
                                textBox1.Text=("Причина дефектов не известна")
                                ways=7;
                            }
                    }
            }
            else
                if (checkBox2.Checked==true)
                {   checkBox2.Checked=false;
                    textBox1.Text=("Всё сделано верно");
                    ways=0;
                }
        }
    }
}
XeniaZharinova вне форума Ответить с цитированием
Старый 07.12.2014, 03:54   #2
XeniaZharinova
Пользователь
 
Регистрация: 18.06.2013
Сообщений: 11
Злость

Задание: Помощь в решении проблемы пользователя, связанной с покраской поверхности.
Имеется два TextBox'а: в первом в зависимости от ответов(Да/Нет выполненные в checkBox-ах или RadioButton'ах) задаются вопросы, а во втором, после того, как в TextBox1 будет выявлена проблема, появится её решение. Решения для TextBox2 должны браться из вариантов case-ов...В приведённом ниже коде не работает основной алгоритм программы, не знаю как реализовать сброс checkBox-ов (если ставлю false, то дальше алгоритм просто не идёт, а return не помогает), также не понимаю как вызвать вариант из case-ов после выявления проблемы.
XeniaZharinova вне форума Ответить с цитированием
Старый 07.12.2014, 10:23   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Пойдите отдохните, у вас все в порядке.
Курсач?
Цитата:
будет выявлена проблема, появится её решение.
Ты знаешь, вообще такие задачи решают с помошью механизмов дерева. Вы деревья бинарные (допустим) проходили? Ибо это что выше с кучей ветвлений, его проще выкинуть чем исправить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.12.2014, 19:28   #4
XeniaZharinova
Пользователь
 
Регистрация: 18.06.2013
Сообщений: 11
По умолчанию

Нет, просто лаба. Есть идея реализации? (не обязательно пример кода, краткий ход) Деревья были лишь в теории, нам языки не преподают, дают задание - на каком ходите писать на том и делаете...
XeniaZharinova вне форума Ответить с цитированием
Старый 07.12.2014, 20:19   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну не... На шарпе примеров нет, нужно писать. А идею на словах я уже высказал - дерево на основе списков, в которых забит путь вопросов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ оператор SWITCH Ramina Помощь студентам 10 05.02.2012 19:32
switch оператор Alex-Kunfuman Общие вопросы C/C++ 28 22.01.2012 04:42
C++ оператор switch Pingvinenok_Lolo Помощь студентам 4 05.12.2011 23:11
оператор switch aank10 Общие вопросы C/C++ 3 01.06.2011 10:28
Оператор switch. IgorArhangel Помощь студентам 4 16.01.2009 01:53