Загрузка...

Help with CSharp

Thread in C# created by нексюша Mar 15, 2024. 223 views

  1. нексюша
    нексюша Topic starter Mar 15, 2024 2871 Jun 20, 2020
    CSHARP
    string vibor;
    if (vibor = Y)
    goto Z0;
    сука нужно чтобы если я вводил букву Y, то меня перекидывает к метке Z0, а если чет другое, то прога закрывается
    так проблема сука в чем? если пишу как выше, то Y считается за переменную, а если в кавычках, то "не удается не явно преобразовать string в bool " и предупреждение, что я присвоил значение, но ни разу не юзал его. Хелпаните работяги
     
    1. ryananabol
      нексюша, смотри, тебе надо считать с консоли текст в переменную vibor, дальше сравнивай так: if( vibor == "Y" ) (обязательно два равно, так как при одном, считай что ты присваиваешь переменной vibor какое-то значение
  2. nichind
    nichind Mar 15, 2024 запрет, закон, поправка, критерий, уголовка, привлечение, донос 7646 Sep 15, 2020
    два равно же нужно, не?
     
    1. View previous comments (5)
    2. нексюша Topic starter
      skyenot, проще фулл код скинуть

      CSHARP
      using System;
      namespace goto9
      {
      class Program
      {
      static void Main(string[] args)
      {
      Console.Title = "Практическая работа №9";
      Z0:
      Console.Write("Введите номер задания: ");
      byte N = Convert.ToByte(Console.ReadLine());
      switch (N)
      {
      case 1:
      Console.Write("Введите значение A: ");
      double skibidi = Convert.ToDouble(Console.ReadLine());
      Console.Write("Введите значение B: ");
      double toilet = Convert.ToDouble(Console.ReadLine());
      double digit;
      if (skibidi < toilet)
      {
      digit = skibidi;
      }
      else
      {
      digit = toilet;
      }
      Console.WriteLine("y={0}", digit + "\n");
      Console.WriteLine("Продолжить выполнение заданий? ");
      string vibor = Convert.ToString(Console.ReadLine());
      if (vibor == "Y")
      goto Z0;
      break;
      case 2:
      Console.Write("Введите значение x: ");
      double xx = Convert.ToDouble(Console.ReadLine());
      if (xx != 7 && xx < -10)
      {
      double y = (2) / (xx - 7);
      Console.WriteLine($"y= {y}" + "\n");
      }
      else if (xx > -21 && (xx >= -12 && xx <= 12))
      {
      double y = Math.Sqrt(xx + 20);
      Console.WriteLine($"y= {y}" + "\n");
      }
      else if (xx != 15 && xx > 12)
      {
      double y = ((1) / (15 - xx)) + 1;
      Console.WriteLine($"y= {y}" + "\n");
      }
      else
      {
      Console.WriteLine("x не удовлетворяет ОДЗ((((" + "\n");
      }
      break;
      case 3:
      Console.Write("Введите значение x: ");
      double firstvalue = Convert.ToDouble(Console.ReadLine());
      Console.Write("Введите значение y: ");
      double secondvalue = Convert.ToDouble(Console.ReadLine());
      if (firstvalue < 0 && secondvalue > 0 && Math.Pow(firstvalue, 2) + Math.Pow(secondvalue, 2) <= 4 && Math.Pow(firstvalue, 2) + Math.Pow(secondvalue, 2) >= 1)
      Console.WriteLine("Точка принадлежит заштрихованной области!" + "\n");
      else if (firstvalue < 0 && secondvalue < 0 && Math.Pow(firstvalue, 2) + Math.Pow(secondvalue, 2) > 0 && Math.Pow(firstvalue, 2) + Math.Pow(secondvalue, 2) <= 1)
      Console.WriteLine("Точка принадлежит заштрихованной области!" + "\n");
      else
      Console.WriteLine("Точка не принадлежит заштрихованной области." + "\n");
      break;
      default:
      Console.Write("Задания не существует!" + "\n");
      goto Z0;
      }
      }
      }
      }
    3. skyenot
      нексюша, бля, ладно, я пас.
      Разберись в функциях стандартных. Console.Readline может вернуть null, то есть надо добавить проверку на это и в зависимости от результата уже по задаче смотри
      [IMG]
      И убери ты этот goto. Я не знаю как в шарпе, но в других языках таким не пользуются, только если не пишут какие-то хак скрипты, которые работают не совсем очевидно.
      Как вариант while или же рекурсия
    4. нексюша Topic starter
      skyenot, ну бля, мы изучаем просто, училка тоже говорит что это хуйня, но по плану то оно есть
  3. skyenot
    skyenot Mar 15, 2024 7556 Jun 6, 2019
    почитай первые страницы книг по языку, да в принципе по программированию.
    одно равно используется для сравнивания разве что в паскале лол
     
  4. Rippera4hj
    Rippera4hj Mar 16, 2024 3 Dec 31, 2020
    if (vibor == "Y")

    Также не используй оператор goto
    Никогда.
     
  5. vtlstolyarov
    CSHARP
    string? vibor = Console.ReadLine();
    if (vibor == "Y")
    goto Z0;
     
Loading...
Top