Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C# я хочу достать переменную из одного метода в другой

Никита Селетков Знаток (339), открыт 5 дней назад
static void task_2_14()
{
Console.WriteLine("Даны катеты прямоугольного треугольника. Найти его гипотенузу.");
Console.Write("\nВведите первый катет >> ");
int katet1 = Convert.ToInt32(Console.ReadLine());
Console.Write("\nВведите второй катет >> ");
int katet2 = Convert.ToInt32(Console.ReadLine());

double gipotenusa = Math.Sqrt(katet2*katet2 + katet1*katet1);

Console.WriteLine("Гипотенуза равна " + gipotenusa + ", " + Math.Round(gipotenusa));
}



static void task_2_16()
{

Console.Write("\nВведите первый катет >> ");
int katet1 = Convert.ToInt32(Console.ReadLine());
Console.Write("\nВведите второй катет >> ");
int katet2 = Convert.ToInt32(Console.ReadLine());
double perimetr = katet1 + katet2 + {task_2_14.gipotenusa};
}

static void Main(string[] args)
{
task_2_16();
}
2 ответа
Unknown Unknown Гуру (4634) 5 дней назад
Из одного фрейма стека нельзя обращаться к идентификатору, объявленному в другом фрейме.
Если ты гoвнокодeр, можешь просто объявить этот идентификатор статическим вне метода, в классе, который содержит твои статические методы, иначе всё придётся заново писать
Jurijus Zaksas Искусственный Интеллект (451588) 5 дней назад
  1. Разделяй ввод-вывод и подсчеты.
  2. Используй формальные параметры.

 static double Hypo(double Leg1, double Leg2) => Math.Sqrt(Leg1*Leg1+Leg2*Leg2);

static double Peri(double Leg1, double Leg2) => Leg1 + Leg2 + Hypo(Leg1, Leg2);

static void task_2_14()
{
Console.WriteLine("Даны катеты прямоугольного треугольника. Найти его гипотенузу.");
Console.Write("\nВведите первый катет >> ");
int katet1 = Convert.ToInt32(Console.ReadLine());
Console.Write("\nВведите второй катет >> ");
int katet2 = Convert.ToInt32(Console.ReadLine());

double gipotenusa = Hypo(katet2, katet1);

Console.WriteLine("Гипотенуза равна " + gipotenusa + ", " + Math.Round(gipotenusa));
}



static double task_2_16()
{

Console.Write("\nВведите первый катет >> ");
int katet1 = Convert.ToInt32(Console.ReadLine());
Console.Write("\nВведите второй катет >> ");
int katet2 = Convert.ToInt32(Console.ReadLine());
double perimetr = Peri(katet1, katet2);
return perimetr;
}
Похожие вопросы