1. C# / Говнокод #24573

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.RegularExpressions;
    
    
    /* The "Enter le ..." thing
    is left for Шindows compilers.
    Don't mind it. */
     namespace SoloLearn
     {
         public class Program
         {
             public static void Main(string[] args)
             {
                 int a = 0;
                 int b = 0; //Declare two numbers
                 string leChar; //Declare the character
                 int sum; //Declare the place where the result of the expression would be stored
                 Console.WriteLine("Enter le first number\n");
                 string c = a.ToString(); //Convert the 1st № to string
                 c = Console.ReadLine(); //Assign the 1st number
                 Console.WriteLine("Enter le character\n");
                 leChar = Console.ReadLine(); //Assign the char
                 Console.WriteLine("Enter le second number\n");
                 string d = b.ToString(); //Convert the 2nd № to string
                 d = Console.ReadLine(); //Assign the second number
                 a = System.Convert.ToInt16(c);
                 b = System.Convert.ToInt16(d);
                 sum = Calculate(a,leChar,b); //Calculate
                 Console.WriteLine("{0} {1} {2} is {3}", a, leChar, b, sum);
             }
             public static int Calculate(int x, string z, int y) {
                 int qwerty = 0;
                 switch(z) {
                     case "+": //Case of addition
                     qwerty = x + y;
                     break;
                     case "-": //Case of subtraction
                     qwerty = x - y;
                     break;
                     case "*": //Case of multiplication
                     qwerty = x * y;
                     break;
                     case "/": //Case of division
                     qwerty = x / y;
                     break;
                 }
                 return qwerty; //If smth = Calculate(parameters), var smth would have the content of this var © Your Captain Obvious
             }
         }
     }

    Выдавил из себя где-то месЕц назад. Как я умудрялся делать 2 переменные для просто стринговых версий существующих переменных только для того, чтобы прочитать инпут? Хорошо, что в сисярпе есть гарбаж коллектор. И да, названия переменных во второй функции - прекрасные (посмотрите: x, y, z, qwerty - не прекрасно ли?) говГо.

    Запостил: shite, 03 Августа 2018

    Комментарии (12) RSS

    • У меня такое чувство, будто ты учился прогать на С, но так и не доучился.
      Ответить
      • Для меня этот код - стопицотлетней давности. Я тогда ещё даже про arrays не знал.
        Ответить
        • Интересно, по какой методике ты изучал программирование так, что про функции ты узнал раньше, чем про массивы?
          Ответить
    • Variable is not a big problem becuase they point to the same object on heap. Pointer is small in CLR.

      Why do you ignore type interference? No need to declare type explicitly in modern c#.
      Ответить
    • Мдэ, делать целый блок для вариаблов.
      Говно:
      int a = 0;
                   int b = 0; //Declare two numbers
                   string leChar; //Declare the character
                   int sum; //Declare the place where the result of the expression would be stored
                   Console.WriteLine("Enter le first number\n");
                   string c = a.ToString(); //Convert the 1st № to string
                   c = Console.ReadLine(); //Assign the 1st number
                   Console.WriteLine("Enter le character\n");
                   leChar = Console.ReadLine(); //Assign the char
                   Console.WriteLine("Enter le second number\n");
                   string d = b.ToString(); //Convert the 2nd № to string
                   d = Console.ReadLine(); //Assign the second number
                   a = System.Convert.ToInt16(c);
                   b = System.Convert.ToInt16(d);

      Норм код:
      Console.WriteLine("Enter le first number\n");
                  var a = Console.ReadLine();
                  Console.WriteLine("Enter le character\n");
                  var leChar = Console.ReadLine();
                  Console.WriteLine("Enter le second number\n");
                  var b = Console.ReadLine();

      var sum;
      Ответить
    • Фу, как ниинтиресна. Лутше бы нопейсал цальцулятор произвольных выражений на J.
      Ответить
    • Советую изучить алкоритм рекурсивного спуска.
      Ответить

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