Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52
1

Если ответ отличается от "да" или "нет" тогда программа должны писать "Ничего не понятно"

23.07.2014, 21:58. Просмотров 2945. Ответов 7
Метки нет (Все метки)

Программа работает так как мне нужно (оптимизация не интересует)
есть только один момент где программа не много дает сбой-
программа задает вопрос - на который должен поступить ответ "да" или "нет" ,
если ответ отличается от "да" или "нет" тогда программа должны писать "Ничего не понятно! пиши с маленькой буквы - да или нет!"
если ответ "нет" тогда программа пишет "Если надумаешь - то запусти меня ещё"
если ответ "да" тогда программа отрабатывает основной код...
сейчас происходит то - что при первой попытке при любом ответе ("да" или "нет" или отличный ответ от "да" или "нет") всё равно выходит текст "Ничего не понятно! пиши с маленькой буквы - да или нет!" и уже со второй попыткиввода всё работает как нужно...не могу понять в чем дело...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
 
            string a, b, c, d, e;
            Console.WriteLine("Как тебя зовут?\n");
            a = Console.ReadLine();
            Console.WriteLine("Привет " + a);
            Console.WriteLine("Меня зовут Электроника-1!");
            Console.WriteLine(a + " Хочешь я прочитаю твои мысли? \nэто будет маленький психологический тест \nесли ты ответишь не правильно то тебе нужно будет задуматься о твоем развитии");
            b = Console.ReadLine();
 
            while (b != "да" || b != "нет")
            {
                Console.WriteLine("Ничего не понятно! пиши с маленькой буквы - да или нет!");
                b = Console.ReadLine();
                if (b == "да" || b == "нет") break;
 
            };
 
                if (b == "да")
                {
                    Console.WriteLine("Ответь мне на несколько вопросов");
                    Console.WriteLine("Отвечать нужно быстро и четко! \nБыстро записав ответ нужно нажать Enter и читать следующий вопрос \nЯ обещаю - не буду читать твои ответы! \nвопросов будет не много...Ну что - жми Enter и поехали!!!");
                    Console.ReadLine();
                    Console.WriteLine("НАЗОВИ САМОГО ИЗВЕСТНОГО ПОЭТА (ПЕРВОЕ ЧТО ПРИХОДИТ НА УМ!!!)");
                    c = Console.ReadLine();
                    Console.WriteLine("НАЗОВИ ЧАСТЬ ТЕЛА (О ЧЁМ ТЫ ПОДУМАЛ В НАЧАЛЕ - ТО И ПИШИ, СКОРЕЕ!)");
                    d = Console.ReadLine();
                    Console.WriteLine("НАЗОВИ ДОМАШНЮЮ ПТИЦУ (БЫСТРЕЕ!ПЕРВОЕ ЖЕ ЧТО ПРИШЛО НА УМ!)");
                    e = Console.ReadLine();
                    Console.WriteLine("теперь я назову то о чём ты думал \nМысли были таковы: \nПУШКИН \nНОС \nКУРИЦА");
                    Console.WriteLine("а твои ответы были:\n" + c + "\n" + d + "\n" + e);
                    Console.ReadLine();
                }
 
                if (b == "нет")
                {
                    Console.WriteLine("Если надумаешь - то запусти меня ещё");
                    b = Console.ReadLine();
 
                }
 
 
            }
 
 
        }
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2014, 21:58
Ответы с готовыми решениями:

Дан массив строк: "red", "green", "black", "white", "blue". Запишите в файл элементы массива построчно (в новой строке)
пишу так но не помогает: static void Main(string args) { string...

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

Что делать если пишет такое "Не удается преобразовать из "int" в "System.IntPtr"."
Всем привет, столкнулся с тем, что пишет (Не удается преобразовать из "int" в "System.IntPtr".)...

Методом вычислить тип треугольника: "не существует", "тупоугольный", "прямоугольный", "остроугольный"
Помогите пожалуйста С помощью метода вычислить тип треугольника::cry: 1) если первый параметр...

7
Модератор
Эксперт .NET
5289 / 4086 / 1180
Регистрация: 12.10.2013
Сообщений: 11,880
Записей в блоге: 2
23.07.2014, 22:11 2
Лучший ответ Сообщение было отмечено Пинок Под Зад как решение

Решение

C#
1
2
3
4
5
6
7
while (b != "да" && b != "нет")
            {
                Console.WriteLine("Ничего не понятно! пиши с маленькой буквы - да или нет!");
                b = Console.ReadLine();
                if (b == "да" || b == "нет") break;
 
            };
2
7 / 8 / 0
Регистрация: 15.11.2012
Сообщений: 203
23.07.2014, 22:15 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
 
            string a, b, c, d, e;
            Console.WriteLine("Как тебя зовут?\n");
            a = Console.ReadLine();
            Console.WriteLine("Привет " + a);
            Console.WriteLine("Меня зовут Электроника-1!");
            Console.WriteLine(a + " Хочешь я прочитаю твои мысли? \nэто будет маленький психологический тест \nесли ты ответишь не правильно то тебе нужно будет задуматься о твоем развитии");
            b = Console.ReadLine();
 
            
 
                if (b == "да")
                {
                    Console.WriteLine("Ответь мне на несколько вопросов");
                    Console.WriteLine("Отвечать нужно быстро и четко! \nБыстро записав ответ нужно нажать Enter и читать следующий вопрос \nЯ обещаю - не буду читать твои ответы! \nвопросов будет не много...Ну что - жми Enter и поехали!!!");
                    Console.ReadLine();
                    Console.WriteLine("НАЗОВИ САМОГО ИЗВЕСТНОГО ПОЭТА (ПЕРВОЕ ЧТО ПРИХОДИТ НА УМ!!!)");
                    c = Console.ReadLine();
                    Console.WriteLine("НАЗОВИ ЧАСТЬ ТЕЛА (О ЧЁМ ТЫ ПОДУМАЛ В НАЧАЛЕ - ТО И ПИШИ, СКОРЕЕ!)");
                    d = Console.ReadLine();
                    Console.WriteLine("НАЗОВИ ДОМАШНЮЮ ПТИЦУ (БЫСТРЕЕ!ПЕРВОЕ ЖЕ ЧТО ПРИШЛО НА УМ!)");
                    e = Console.ReadLine();
                    Console.WriteLine("теперь я назову то о чём ты думал \nМысли были таковы: \nПУШКИН \nНОС \nКУРИЦА");
                    Console.WriteLine("а твои ответы были:\n" + c + "\n" + d + "\n" + e);
                    Console.ReadLine();
                }
 
                if (b == "нет")
                {
                    Console.WriteLine("Если надумаешь - то запусти меня ещё");
                    b = Console.ReadLine();
 
                }
 
              while (b != "да" || b != "нет")
            {
                Console.WriteLine("Ничего не понятно! пиши с маленькой буквы - да или нет!");
                b = Console.ReadLine();
                if (b == "да" || b == "нет") break;
 
            }
 
            }
 
 
        }
    }
1
Master of Orion
Эксперт .NET
6074 / 4930 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.07.2014, 22:33 4
Пинок Под Зад, на, вот самый нормальный вариант имхо
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
 
namespace ConsoleApplication117
{
    internal class Program
    {
        private static void Main()
        {
            Console.WriteLine("Как тебя зовут?\n");
            string a = Console.ReadLine();
            Console.WriteLine("Привет, {0}!", a);
            Console.WriteLine("Меня зовут Электроника-1!");
            Console.WriteLine("{0}, хочешь я прочитаю твои мысли? \nэто будет маленький психологический тест \nесли ты ответишь не правильно то тебе нужно будет задуматься о твоем развитии",
                              a);
            for (;;)
            {
                string s = Console.ReadLine();
                switch (s)
                {
                case "нет":
                    Console.WriteLine("Если надумаешь - то запусти меня ещё");
                    Console.ReadKey();
                    return;
                case "да":
                    Console.WriteLine("Ответь мне на несколько вопросов");
                    Console.WriteLine("Отвечать нужно быстро и четко! \nБыстро записав ответ нужно нажать Enter и читать следующий вопрос \nЯ обещаю - не буду читать твои ответы! \nвопросов будет не много...Ну что - жми Enter и поехали!!!");
                    Console.ReadLine();
                    Console.WriteLine("НАЗОВИ САМОГО ИЗВЕСТНОГО ПОЭТА (ПЕРВОЕ ЧТО ПРИХОДИТ НА УМ!!!)");
                    string answer1 = Console.ReadLine();
                    Console.WriteLine("НАЗОВИ ЧАСТЬ ТЕЛА (О ЧЁМ ТЫ ПОДУМАЛ В НАЧАЛЕ - ТО И ПИШИ, СКОРЕЕ!)");
                    string answer2 = Console.ReadLine();
                    Console.WriteLine("НАЗОВИ ДОМАШНЮЮ ПТИЦУ (БЫСТРЕЕ!ПЕРВОЕ ЖЕ ЧТО ПРИШЛО НА УМ!)");
                    string answer3 = Console.ReadLine();
                    Console.WriteLine("теперь я назову то о чём ты думал \nМысли были таковы: \nПУШКИН \nНОС \nКУРИЦА");
                    Console.WriteLine("а твои ответы были:\n{0}\n{1}\n{2}", answer1, answer2, answer3);
                    Console.ReadKey();
                    return;
                default:
                    Console.WriteLine("Ничего не понятно! пиши с маленькой буквы - да или нет!");
                    break;
                }
            }
        }
    }
}
учитесь пользоваться форматированием строк вместо сложения
1
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52
24.07.2014, 05:37  [ТС] 5
insite2012, ну конечно же в while (b != "да" || b != "нет") вместо или нужно && !!! как же я не догадался! спасибо что чётко поняли что мне требуется!

dima26072301, спасибо за ответ - но перелопачивать код делая новые конструкции не хотел,нужно было найти ошибку именно в моём коде (он ведь рабочий,просто как выяснилось вместо ИЛИ нужно было И) , но всё равно спасибо за ответ!

Psilon, спасибо за ответ! Но в описании проблемы (в первой строке) я описал что оптимизация не интересует- пускай код не совсем правильный, зато написанный мной...когда уже буду иметь сноровку,тогда уже с пониманием можно подойти к оптимизации и правильному построению кода, но всё равно спасибо!

Добавлено через 2 минуты
а как мне теперь сделать отсчет времени...что бы прошиваемый отвечал на время, и желательно что бы оно тикало и напрягало его (хотя бы визуально)...подскажет кто нить?
0
167 / 167 / 57
Регистрация: 08.01.2013
Сообщений: 335
24.07.2014, 08:22 6
Пример обратного таймера, правда там для него отдельный класс написан, но в теме есть еще примеры.
1
Master of Orion
Эксперт .NET
6074 / 4930 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
24.07.2014, 09:35 7
Пинок Под Зад правильный вариант - потоками возиться... Нужно будет создать глобальную переменную Thread и bool, и потом крутить в цикле, пока true, а по прошествии времени ставить в false. Быдловариант - Sleep(100) в цикле.
1
1 / 1 / 1
Регистрация: 27.03.2014
Сообщений: 52
24.07.2014, 17:53  [ТС] 8
Sergey_B, хорошая ссылка ... но я теряюсь что от туда выпиливать и наждаком править мне...
Psilon, что то наверное понял...но вообще ощущение что ни слова (не переоценивайте ми возможности пожл ))))) )
всем расставил спасибо в обязательном порядке - за активность и помощь!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2014, 17:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Построить иерархию классов "Студент", "преподаватель", "персона", "заведующий кафедрой"
Построить иерархию классов: Студент, преподаватель, персона, заведующий кафедрой 1) Разработать...

Проблема при сравнении: "Оператор ">" не может применяться к операндам типа "Т" и "Т""
Добрый день , пишу сортировку , все делаю на основе Т , но вот в чем проблемма public class...

Напишите программу, которая подсчитывает, сколько учащихся получило "2", "3", "4" и "5"
Помогите, пожалуйста, с решением следующей задачи: учащиеся сдают экзамены по нескольким...

Составить программу по управлению манипулятором "мышь". Выбор типа курсора организовать по нажатию на клавиши "q","w","r
Составить программу по управлению манипулятором "мышь". Выбор типа курсора организовать по нажатию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.