Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2013, 00:53   #1
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию как вывести переменную с знаком ("+")

Программа на С#
Стоит такая задача:
Например, нужно вывести квадратное уравнение..

ах2+bx+c=0
Программа просит ввести а,b,c.
После ввода чисел выводится строка которая содержит уравнение без символов а,b,c. Вместо них введенные данные. Так вот если вводится значение меньшее ноля (с=-5). при выводе знак минус отображается (ах2+bx-5=0). а если больше ноля(с=5), то знак плюс не стоит
(ах2+bx 5)Перед 5 знака нету..Как отображать знак плюс?

Последний раз редактировалось Sergey_gorobets; 15.02.2013 в 01:01. Причина: забыл написать по пакому языку програм. вопрос
Sergey_gorobets вне форума Ответить с цитированием
Старый 15.02.2013, 01:04   #2
oxJass
Пользователь
 
Регистрация: 03.12.2010
Сообщений: 17
По умолчанию

а как вы выводите строку? (код пожалуйста)
oxJass вне форума Ответить с цитированием
Старый 15.02.2013, 01:29   #3
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Не компилировал
Код:
int c = 5;
if (c > 0)
    console.WriteLine("+" + Convert.ToString(c))
else
    console.WriteLine(Convert.ToString(c));
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 15.02.2013, 01:47   #4
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

Вот именно через if и вывожу...
Думаю, может есть какоето иное, более техничное решение?
А то приходится писать еще и else что бі відодилось с минусом по умолчанию..
фрагмент кода..

if (b > 0)
Console.Write(b+"x");
else Console.Write("x2" + b+"x");
Sergey_gorobets вне форума Ответить с цитированием
Старый 15.02.2013, 01:51   #5
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

Вот весь код (куча if-ов, мне не нравится) как я все представил..Оговорил и исключительные ситуации когда а=0 и а = 1..
Код:
using System;
class kvadraturavn
{
    public static void Main()
    {
    labl:
        Console.WriteLine("ax2+bx+c=0");
       Console.Write("Введите а; a=  ");
       
       double a =Convert.ToDouble( Console.ReadLine());
       Console.WriteLine("a= "+a);
       Console.Write("Введите b; b=  ");
       double b = Convert.ToDouble(Console.ReadLine());
       Console.WriteLine("b= " + b);
       Console.Write("Введите c; c=  ");
       double c = Convert.ToDouble(Console.ReadLine());
       Console.WriteLine("c= " + c);
       Console.WriteLine();
       Console.Write("исходное уравнение: ");
       if (a == 1)
           Console.Write("x2+");
       else
       {
           if (a == 0)
               Console.Write(" ");
           else
               Console.Write(a + "x2+");
       }
       if (b > 0)
           Console.Write(b+"x");
       else Console.Write("x2" + b+"x");
       if (c > 0)
           Console.WriteLine("+" + c + "=0");
       else Console.WriteLine(+c + "=0");

       double k = b * b - 4 * a * c;
       if (k < 0) { Console.WriteLine("Дескриминант меньше ноля. Введите данные заново"); goto labl; }
        double d = Math.Sqrt(k);
        if (a == 0)
        {
            double x = (-1) * c / b;
            Console.WriteLine("x="+x);
            Console.ReadKey();
        }
        else
        {
            double x1 = ((-1) * b + d) / 2 * a;
            double x2 = ((-1) * b - d) / 2 * a;
            Console.WriteLine();
            Console.WriteLine("x1={0:#.##} ", x1);
            Console.WriteLine("x2= {0:#.##}", x2);
            Console.ReadKey();
        }
    }
}
Загонять все в масив??



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 15.02.2013 в 09:58.
Sergey_gorobets вне форума Ответить с цитированием
Старый 15.02.2013, 10:19   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, я бы, на вашем месте определил строковую переменную и "собирал" выражение в неё.

а во-вторых, откройте для себя оператор "?"
использовать можно примерно так:
Код:
string s = ((a==0)?" ":a + "x2 ") + ((b==0)?" ":(((b>0)?"+":"-")+b + "x2 "));
(скобочек, я, возможно накрутил лишних, но смысл, думаю, понятен...)

Последний раз редактировалось Serge_Bliznykov; 15.02.2013 в 10:22.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.02.2013, 13:13   #7
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

Спасибо большое...
Sergey_gorobets вне форума Ответить с цитированием
Старый 15.02.2013, 13:35   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
куча if-ов, мне не нравится
Есть такое понятие - процедурное программирование: когда нужно выполнить некоторое количество единообразных действий, это действие оформляется в виде процедуры или функции.
s-andriano вне форума Ответить с цитированием
Старый 15.02.2013, 16:16   #9
Sergey_gorobets
Пользователь
 
Регистрация: 08.02.2013
Сообщений: 69
По умолчанию

Спасибо, почитаем...
Sergey_gorobets вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Как заменить цифры знаком " ! ". Удалить символы, соответствующие гласным буквам как русского, так и латинского алфавит inna_matuashova Помощь студентам 2 25.10.2011 23:44
Время со знаком "-" (в форме) tgm Microsoft Office Excel 16 07.10.2011 22:49
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Как вывести сообщение типа "внимание" при удалении записи из БД Alex_Sokolov Помощь студентам 7 06.01.2009 13:50