4 / 4 / 0
Регистрация: 04.03.2012
Сообщений: 32
1

Как получить доступ к переменным из if

29.04.2012, 00:26. Показов 1478. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
имеется такой вот код, где есть 4 пути решения проблемы в зависимости о FPAZA, проблема в том что дальше после блоков if меня интересуют переменные находящиеся внутри этих блоков, вопрос как можно их оттуда вызволить, или есть какое либо другое решение? Извиняюсь если вопрос глупый просто правда решение на ум не приходит, заранее спасибо)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  if (FPAZA == 0)
            {
                D1S = (3.1416 * (DI + 2 * HH1) - BZ1 * Z1) / (Z1 - 3.1416);
                D2S = (3.1416 * (DA - 2 * HA1) - BZ1 * Z1) / (Z1 + 3.1416);
                HP1 = (DA - DI - 2 * HA1) / 2;
                H12S = HP1 - 0.5 * (D1S + D2S + 2 * HH1);
                QP1 = 3.1416 * (Math.Pow(D1S, 2) + Math.Pow(D2S, 2)) / 8 + 0.5 * H12S * (D1S + D2S);
                QP11 = 3.1416 * Math.Pow((D1S - 2 * DELIZ), 2) / 16 + Math.Pow((D2S - 2 * DELIZ), 2) / 8 + 0.5 * H12S * (D1S + D2S - 4 * DELIZ);
 
 
            }
            if (FPAZA == 1)
            {
                D1S = (3.1416 * (DI + 2 * HH1) - BZ1 * Z1) / (Z1 - 3.1416);
                D2S = (3.1416 * (DA - 2 * HA1)) / Z1 - BZ1;
                HP1 = (DA - DI - 2 * HA1) / 2;
                H12S = HP1 - 0.5 * (D1S + 2 * HH1);
                QP1 = 3.1416 * Math.Pow(D1S, 2) / 8 + 0.5 * H12S * (D1S + D2S);
                QP11 = Math.Pow((D1S - 2 * DELIZ), 2) * 3.1416 / 8 + Math.Pow((H12S - 2 * DELIZ), 2) * (D1S + D2S - 4 * DELIZ);
 
            }
            if (FPAZA == 2)
            {
                D1S = 3.1416 * (DI + 2 * (H3 + HH1)) / Z1 - BZ1;
                D2S = 3.1416 * (DA - 2 * HA1) / Z1 - BZ1;
                HP1 = (DA - DI - 2 * HA1) / 2;
                H12S = HP1 - (H3 + HH1);
                QP1 = 0.5 * (H12S * (D1S + D2S) + H3 * (D1S + BH1));
                QP11 = 0.5 * ((H12S - DELIZ) * (D1S + D2S - 4 * DELIZ) + (H3 - DELIZ) * (D1S + BH1 - 4 * DELIZ));
            }
            if (FPAZA == 3)
            {
                Console.Write("Введите R=");
                double R = double.Parse(Console.ReadLine());
                D1S = 2 * Math.Sqrt(5 * Math.Pow(R, 2)) / 3;
                D2S = D1S;
                HP1 = (DA - DI - 2 * HA1) / 2;
                H12S = 0;
                QP1 = 3.1416 * (Math.Pow(R, 2));
                QP11 = 3.1416 * Math.Pow((R - DELIZ), 2);
            }
            
                ////////////////////////
                double GA1 = GFE * 3.1416 * (DA - HA1) - LI * KCT * Math.Pow(10, -6 * HA1);
                double GZ1 = GFE * (3.1416 * (DI + HP1) * HP1 - QP1 * Z1) * LI * KCT * Math.Pow(10, -6);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2012, 00:26
Ответы с готовыми решениями:

Как получить доступ к системным переменным?
Добрый день. У меня проблема в следующем. Необходимо написать небольшой инсталлятор, который...

Как получить доступ к переменным, объявленным в Main()
Вопрос вот в чём: у меня есть промежуточные данные из мейна, которые нужны мне в функции, но я не...

Как получить доступ к переменным извне класса?
в классе, ошибки я вывожу в массив, например $this -> err, там валяется ошибка ввода данных поля...

Как получить доступ к переменным объекта класса-родителя?
Я знаю, что обычно передают указатель на объект класса в функцию чайлда, но вот как это сделать на...

5
Эксперт .NET
17215 / 12669 / 3321
Регистрация: 17.09.2011
Сообщений: 20,941
29.04.2012, 00:41 2
Ну так и используйте их после блоков if, в чем проблема?
0
4 / 4 / 0
Регистрация: 04.03.2012
Сообщений: 32
29.04.2012, 00:43  [ТС] 3
не дает подчеркивает((

вот ошибка
Error 77 Use of unassigned local variable 'QP1' C:\Users\МАРК\Documents\Visual Studio 2010\Projects\РМ попытка 1\РМ попытка 1\Program.cs 539 65 РМ попытка 1
Error 76 Use of unassigned local variable 'HP1' C:\Users\МАРК\Documents\Visual Studio 2010\Projects\РМ попытка 1\РМ попытка 1\Program.cs 539 52 РМ попытка 1
так понимаю он ее не видит(
0
719 / 710 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
29.04.2012, 06:48 4
Если ваша переменная объявлена в классе, то все должно нормально работать.
0
Эксперт .NET
17215 / 12669 / 3321
Регистрация: 17.09.2011
Сообщений: 20,941
29.04.2012, 12:44 5
Цитата Сообщение от overlord1781 Посмотреть сообщение
Use of unassigned local variable 'QP1'
А, понятно. Вы создаете переменную QP1, но нигде ее не инциализируете, кроме как в блоках if, которые могут и не отработать.
Либо проинициализируйте переменные при создании, либо добавьте блок else, в котором им присвоится какое-нибудь дефолтное значение.
1
4 / 4 / 0
Регистрация: 04.03.2012
Сообщений: 32
01.05.2012, 16:35  [ТС] 6
все спасибо большое помогло здорово) точно один из вариантов, их всего четыре, поставил else
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2012, 16:35
Помогаю со студенческими работами здесь

Как получить доступ к переменным одного класса из методов другого
Есть класс MainWindow с переменными в pablic, и кьютешный QGraphicsView. Нужно вот тут void...

Нестандартный вопрос.Как получить доступ к переменным функции из другой функции?
<?php declare(ticks=1); function tick_handler() { print_r($_GLOBALS);//Печатает все переменные...

Получить доступ к переменным списка другого класса
Если я конечно все правильно понял... Есть класс: class Pay { public string...

Получить доступ к переменным извне лямбда-выражения
Можно ли получить доступ к переменным извне лямбда-выражения?

Не получается получить доступ к публичным переменным на новой форме
Имеются 2 переменные, объявленные в разделе Declarations (General) 1 переменная хранит системное...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template <class T> class matrix { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru