none
Не выводиться Double значение в MessageBox. RRS feed

  • Вопрос


  •             double a, b, c, p;
                a = Double.Parse(ta.Text);
                b = Double.Parse(tb.Text);
                c = Double.Parse(tc.Text);
                if (a + b > c && a + c > b && b + c > a)
                    p = a + b + c;
                else MessageBox.Show("Не существует");
                MessageBox.Show("Периметр"+p);

    29 ноября 2016 г. 5:19

Ответы

  • У меня в VS 2012 программа автора не компилируется, но если сделать так:

    p = 0.0;
    if (a + b > c && a + c > b && b + c > a)
                    p = a + b + c;
    else MessageBox.Show("Не существует");
    MessageBox.Show("Периметр" + p);
    Все компилируется. Неявное приведение работает.

    30 ноября 2016 г. 3:12

Все ответы

  • Присвойте p начальное значение, и все заработает.
    29 ноября 2016 г. 5:29
  • "Не выводится", или программа не запускается? MessageBox.Show требует строку, а Вы подставляете сумму строки и числа! Такие фокусы в .net, как правило, запрещены. Логичнее написать так:

    "Периметр " + p.ToString()


    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    29 ноября 2016 г. 19:40
  • У меня в VS 2012 программа автора не компилируется, но если сделать так:

    p = 0.0;
    if (a + b > c && a + c > b && b + c > a)
                    p = a + b + c;
    else MessageBox.Show("Не существует");
    MessageBox.Show("Периметр" + p);
    Все компилируется. Неявное приведение работает.

    30 ноября 2016 г. 3:12
  • Согласен. Из-за ветвления переменная p могла быть не инициализирована. Потому и программа не собиралась. Жаль, что автор толком ничего не объяснил :)

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    30 ноября 2016 г. 6:50