Задачка Задача на кодинг №2. Условный оператор

Тема в разделе "Учимся кодить на задачках", создана пользователем X-Shar, 30 сен 2015.

↑ ↓
  1. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.805
    Симпатии:
    426
    Пол:
    Мужской
    Репа:
    +959 / 152 / -29
    Jabber:
    Skype:
    ICQ:

    638294628

    В предыдущей части, возможно для кого-то показалась задача сложной, есть ещё две задачи простые:


    1) С клавиатуры вводятся два числа – количество забитых голов хозяевами и гостями в футбольном матче. Вывести на экран результат игры – победили хозяева/гости/ничья.

    2) Напишите программу, которая будет проверять число на кратность 3-м и 7-ми (это числа 21, 42, 63…). Вывести на экран соответствующее сообщение.

    Решёние:

    1)Простецкая, кому интересно сами можете решить, мне лень...Dmeh-Smeh-Smeh!!!

    2)Придумал интересное для себя решение в С#, интересно что в одну строчку при помощи так-называемого тернарнго оператора «?:», призван что-бы уменьшить код, в целом-да уменьшил, кстати в классическом си, что-то не помню такой оператор, короче вот как решил:

    Код:
    Console.Write((== 0) && (== 0) ? "Число кратно 3 и 7":"Число не кратно 3 и 7");
    Число "а", должно вводится с консоли, компилятор сожрал норм. !WinkSmile
     
    • Мне нравится Мне нравится x 1
  2. Антоха Администратор
    Антоха
    Ответить в чате

    Администрация

    Регистрация:
    26.12.2012
    Сообщения:
    3.175
    Симпатии:
    11.093
    Пол:
    Мужской
    Репа:
    +11.241 / 47 / -6
    Jabber:
    Skype:
    Код:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace 
    ConsoleApplication9
    {
        class 
    Program
        
    {
            static 
    void Main(string[] args)
            {
            
    Console.WriteLine("Голы забитые хозяевами поля:");//выводим надпись (взял из первой задачки:)
            
    var Master Convert.ToInt32(Console.ReadLine());//var как и в делфи для обозначения переменной,ToInt32 нихера в принципе не делает (нагуглил)
            
    Console.WriteLine("Голы забитые гостями:");
            var 
    Guests Convert.ToInt32(Console.ReadLine());
            if (
    Master Guests)//if и else тоже когда то применял в делфи и сюда катит,если у хозяев больше забитых голов,то выводим надпись о победе хозяев
            
    Console.WriteLine("Победили хозяева поля");
            else if (
    Master Guests)
            
    Console.WriteLine("Победили гости");
            else
            
    Console.WriteLine("Ничья");
            
    Console.WriteLine("Итог игры");
            
    Console.WriteLine("Хозяева: " Master "/"+" Гости: " Guests );
            
    Console.ReadKey();
            }
        }
    }
    Снимок.PNG
    Ну ещё можно убрать лишние юзинги (ведь чем меньше хлама тем лучше?). Можно прямо через контекстное меню в visual studio-"удалить ненужные директивы using"
    Код:
    using System;

    namespace 
    ConsoleApplication9
    {
        class 
    Program
        
    {
            static 
    void Main(string[] args)
            {
            
    Console.WriteLine("Голы забитые хозяевами поля:");
            var 
    Master Convert.ToInt32(Console.ReadLine());
            
    Console.WriteLine("Голы забитые гостями:");
            var 
    Guests Convert.ToInt32(Console.ReadLine());
            if (
    Master Guests)
            
    Console.WriteLine("Победили хозяева поля");
            else if (
    Master Guests)
            
    Console.WriteLine("Победили гости");
            else
            
    Console.WriteLine("Ничья");
            
    Console.WriteLine("Итог игры");
            
    Console.WriteLine("Хозяева: " Master "/"+" Гости: " Guests );
            
    Console.ReadKey();
            }
        }
    }
     
    • Мне нравится Мне нравится x 1
  3. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.805
    Симпатии:
    426
    Пол:
    Мужской
    Репа:
    +959 / 152 / -29
    Jabber:
    Skype:
    ICQ:

    638294628

    var в С# не советую использовать, дело в том-что в этой среде из описания, можно как явно указывать переменную, так и не явно с помощью var....

    В случае с var компилятор сам определит тип, НО это может-быть вредно при написании больших программ, кстати в пхп также можно тип переменной и неписать...

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

    int Master = Convert.ToInt32(Console.ReadLine());

    Тогда более понятней становится и вообще обычно лучше определять переменные сразу, но это кто как привык...

    Console.ReadLine() - Возвратит строковый тип (String), поэтому если нужно работать с числом, нужно Convert.ToInt32 - Это целочисленный тип данных, как-то так...
     
    • Мне нравится Мне нравится x 1
  4. 0x0 VIP
    0x0
    Ответить в чате

    VIP

    Регистрация:
    01.09.2016
    Сообщения:
    14
    Симпатии:
    19
    Пол:
    Мужской
    Репа:
    +19 / 0 / -0
    Jabber:
    по поводу var, его нужно использовать тогда, когда тип переменной сразу виден:
    var sb = new StringBuilder();
    ИМХО, нет смысла писать StringBuilder sb = new StringBuilder();
    запись получается локаничнее. кроме того, var в C# можно использовать только при объявлении с присвоением: нельзя написать var a; и задать значение позднее.
    Кроме того вот типичный пример, когда это осложняет жизнь, допустим ваш метод получает словарь из фабрики прокси :
    Dictionary<int,Proxy> dict = Proxy.GetDictionary(), если вы работали внутри Proxy со статическими Dictionary то вскоре обнаружите, что они зависают при многопоточном доступе, и решите сменить на ConcurrentDictionary из TPL в случае с var вам возможно больше ничего не придется менять, только перекомпилить, а в случае с явным заданием типа придется замениить во всех местах
    ConcurrentDictionary<int,Proxy> dict = Proxy.GetDictionary()

    явно задавать тип имеет смысл, когда он не очевиден из названия вызываемого метода Guid[] varsionsIds= items.Select(a=>a.Version).ToArray()
     
    • Мне нравится Мне нравится x 1
Похожие темы:
  1. X-Shar
    Ответов:
    2
    Просмотров:
    1.110
  2. Антоха
    Ответов:
    11
    Просмотров:
    1.190
Загрузка...

Поделиться этой страницей