Загрузка...

Помогите с CSharp

Тема в разделе C# создана пользователем нексюша 15 мар 2024. 198 просмотров

Загрузка...
  1. нексюша
    нексюша Автор темы 15 мар 2024 я проснулся,почистил свои зубы,заказал еды,поцеловал тебя в губы 2703 20 июн 2020
    CSHARP
    string vibor;
    if (vibor = Y)
    goto Z0;
    сука нужно чтобы если я вводил букву Y, то меня перекидывает к метке Z0, а если чет другое, то прога закрывается
    так проблема сука в чем? если пишу как выше, то Y считается за переменную, а если в кавычках, то "не удается не явно преобразовать string в bool " и предупреждение, что я присвоил значение, но ни разу не юзал его. Хелпаните работяги
     
    1. ryananabol
      нексюша, смотри, тебе надо считать с консоли текст в переменную vibor, дальше сравнивай так: if( vibor == "Y" ) (обязательно два равно, так как при одном, считай что ты присваиваешь переменной vibor какое-то значение
      15 мар 2024 Изменено
  2. nichind
    nichind 15 мар 2024 +25°C ↑22km/h 6988 15 сен 2020
    два равно же нужно, не?
     
    1. Посмотреть предыдущие комментарии (5)
    2. нексюша Автор темы
      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 или же рекурсия
      15 мар 2024 Изменено
    4. нексюша Автор темы
      skyenot, ну бля, мы изучаем просто, училка тоже говорит что это хуйня, но по плану то оно есть
      16 мар 2024 Изменено
  3. skyenot
    skyenot 15 мар 2024 6815 6 июн 2019
    почитай первые страницы книг по языку, да в принципе по программированию.
    одно равно используется для сравнивания разве что в паскале лол
     
  4. Rippera4hj
    Rippera4hj 16 мар 2024 3 31 дек 2020
    if (vibor == "Y")

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