Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Astra_mag
0 / 0 / 0
Регистрация: 09.06.2019
Сообщений: 9
1

Нужно заменить тернарный оператор на циклы в готовом коде

15.02.2020, 07:52. Просмотров 830. Ответов 3

Здравствуйте, нужно написать игру с такими условиями :Это игра, в которую могут играть два игрока в начале предлагает ввести никнеймы и они должны храниться дл конца игры. Программа задает случайно число от 0 до 30 ну и сообщает ее игрокам которые ходят по очереди. Игрок чей ход должен ввести число которое может принимать значение 1, 2, 3, 4
Введенное число надо вычесть из случайного числа и выводиться на экран. Побеждает тот у кого число обратиться в ноль

Такую игру уже писали вот в этой теме: http://www.cyberforum.ru/csharp-beginners/thread2450685.html

Вот сам готовый код :

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
static void Main(string[] args)
{
    string nick1, nick2;
    Console.WriteLine("Игрок 1, введите свой никнейм");
    nick1 = Console.ReadLine();
    Console.WriteLine("Игрок 2, введите свой никнейм");
    nick2 = Console.ReadLine();
    bool f = true;
    Random rand = new Random();
    int n = rand.Next(31), m;
    while (n > 0)
    {
        Console.WriteLine(n);
        Console.WriteLine("{0}, ваш ход", f ? nick1 : nick2);
        m = int.Parse(Console.ReadLine());
        while (!(m >= 1 && m <= 4))
        {
            Console.WriteLine("Некорректный ход! {0}, повторите ввод", f ? nick1 : nick2);
            m = int.Parse(Console.ReadLine());
        }
        n -= m;
        f = !f;
    }
    Console.WriteLine(0);
    Console.WriteLine("{0} победил!", f ? nick2 : nick1);
    Console.ReadKey();
}


Помогите пожалуйста заменить тернарный оператор циклами, любыми.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2020, 07:52
Ответы с готовыми решениями:

Тернарный оператор - найти ошибку в коде
Не пойму почему выдает ошибку, вроде программы самые простые и ошибиться то негде:...

Тернарный оператор и множество ошибок в коде
Вот задание: И простой код: #include&lt;iostream&gt; using namespace std; int main() { int n,k;...

Шахматы(заменить тернарный оператор) на if else
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; void main() { int h, w, i,...

Нужно разобраться в готовом матлабовском коде
Здравствуйте, уважаемые форумчане. Помогите бедной студентке :) Есть курсовая по матлабу, есть уже...

Заменить в коде циклы for на циклы while
int i, j, n; bool a; cin &gt;&gt; i &gt;&gt; n; for (i; i&lt;n; i++) { a = true; for (j = 2; j &lt;= i / 2;...

3
Enifan
665 / 443 / 220
Регистрация: 14.10.2018
Сообщений: 1,241
Завершенные тесты: 1
15.02.2020, 08:14 2
Цитата Сообщение от Astra_mag Посмотреть сообщение
заменить тернарный оператор циклами
у вас проблема с тернарный оператором или препод принципиальный или не проходили еще ?

А теперь забудем что мы в программировании и перенесемся в другую сферу деятельности
1) в строительстве забивать гвозди молотком не актуально, теперь это делается пилой
2) в медицине таблетки отменили - только капельницы
3) в качалке блинов теперь нет, только мешки с картошкой

Абсурд - да. Тоже и вы указываете в задании. Тернарный оператор - это один инструмент, цикл - другой инструмент, каждый используется там, для чего было предназначен, а не методом "тыка". Заменить тернарный оператор циклом невозможно, а если и возможно в определенных примерах - то это тот же абсурд что я указывал в примерах выше.
Если и хотите от них избавиться - то if-else в помощь.
0
Astra_mag
0 / 0 / 0
Регистрация: 09.06.2019
Сообщений: 9
15.02.2020, 15:37  [ТС] 3
Да, это препод сам требует, нам объяснили сами основы, и сказали писать игру, я не понимаю да и у меня лично код гигантский получился с кучей if-else и циклами, но он все равно не работает
0
Diamante
2155 / 1591 / 857
Регистрация: 14.08.2016
Сообщений: 5,541
Завершенные тесты: 1
15.02.2020, 16:15 4
Лучший ответ Сообщение было отмечено Astra_mag как решение

Решение

Astra_mag,
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
        static Random rnd = new Random();
        static void Main(string[] args)
        {
            var nicks=new string[2];
            Console.WriteLine("Игрок 1, введите свой никнейм");
            nicks[0] = Console.ReadLine();
            Console.WriteLine("Игрок 2, введите свой никнейм");
            nicks[1] = Console.ReadLine();
            int n = rnd.Next(20,31),i=0,m;
            for (; n > 0;i++),
            {
                Console.WriteLine(n);
                Console.WriteLine("{0}, ваш ход", nicks[i%2]);
                m = int.Parse(Console.ReadLine());
                while (!(m >= 1 && m <= 4))
                {
                    Console.WriteLine("Некорректный ход! {0}, повторите ввод", nicks[i % 2]);
                    m = int.Parse(Console.ReadLine());
                }
                n -= m;
            }
            Console.WriteLine(0);
            Console.WriteLine("{0} победил!", nicks[--i % 2]);
            Console.ReadKey();
        }
1
15.02.2020, 16:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2020, 16:15

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

Тернарный оператор
Здравствуйте, я прочитал что структура тернарного оператора вот такая: логическое выражение ?...

Тернарный оператор
pagesArray=; haveCover=(bitmapArr==undefined); var firstPage:Number=haveCover?1:0; //Что это?...

Тернарный оператор
Изучая php наткнулся на такую вещь, как тернарный оператор. Увидел, что его запись намного проще...


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

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

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