Expressões




Todo comando que ao ser efetuado retorna um valor, é considerado uma expressão em C++.


São expressões:


-273; // Retorna o valor -273


x = (a + b) - ((c * d) / e);


e assim por diante...


Observe as expressões no exemplo a seguir que leva apenas um Label no Form e será usado para calcular o resultado de uma equação de segundo grau:



//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include <math.h> // Declarar essa biblioteca para funções matemáticas

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
AnsiString a, b, c;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
Form1->BorderStyle = bsNone;  //retira as bordas e barra de títulos do programa

Label1 -> Caption = "*****CALCULA EQUAÇÃO DE SEGUNDO GRAU*****\n"
"Dê um clique aqui para digitar os valores \"a\", \"b\" e \"c\" ";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Label1Click(TObject *Sender)
{
Form1 -> AutoSize = true; // ajusta o tamanho do form ao label
 try
        {
        retornoA:
        a = InputBox("Caixa de Entrada de Valores",
                "Digite um valor para 'a'", "");
        StrToInt(a);
        if (a == 0)
                {
                MessageBox(0,"Zero não é um valor válido para 'a' !"
                "\nDigite outro valor... ",
                "Erro no valor escolhido", 16);
                goto retornoA;
                }

        else
        Label1 -> Caption = " a = " + a;
        Label1 -> Font -> Color = clRed;
        Label1 -> Font -> Style = TFontStyles()<< fsBold;
        }
catch(...)
        {
        MessageBox(0, "Erro ... Valor não suportado pelo programa ...",
        "Erro de digitação", 16);
        }


try
        {
        b = InputBox("Caixa de Entrada de Valores",
                   "Digite um Valor para 'b'", "");
        StrToInt(b);
        Label1 -> Caption = Label1 -> Caption + "\n b = " + b;
        }
catch(...)
        {
        MessageBox(0, "Erro ... Valor não suportado pelo programa ...",
        " Erro de digitação", 16);
        }

try
        {
        c = InputBox("Caixa de Entrada de Valores",
        "Digite um Valor para 'c'", "");
        StrToInt(c);
        Label1 -> Caption = Label1 -> Caption + "\n c = " + c;
        }
catch(...)
        {
        MessageBox(0, "Erro ... Valor não suportado pelo programa ...",
        "Erro de digitação", 16);
        }


try
        {
        Label1 -> Font -> Color = clBlue;
        Label1 -> Font -> Style = TFontStyles()<< fsBold;

        double x1, x2, delta;

        delta = (b*b) - ((a * 4) * c);
                if(delta < 0)
                MessageBox(0,"delta negativo... não existem raízes reais...\n"
                "\ntente novamente com outros valores...",
                "Erro nos valores", 16);

                else
                       {
                        Label1 -> Caption = 
                        Label1 -> Caption +  "\n\ndelta = " + FloatToStr(delta);

                        x1 = ((b * (-1)) + (sqrt (delta))) / (a * 2);
                        Label1 -> Caption = 
                        Label1 -> Caption + "\nx1 = " + FloatToStr(x1);

                        x2 = ((b * (-1)) - (sqrt (delta))) / (a * 2);
                        Label1 -> Caption = 
                        Label1 -> Caption + "\nx2 = " + FloatToStr(x2);
                       }
        }
catch(...)
        {
        MessageBox(0, "Por favor, digite os valores corretamente", 
        "Erro de execução...", 16);
        }

}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
if (Key == 13)  // se for pressionada a tecla Enter
Close();      // encerra o programa
}
//---------------------------------------------------------------------------

anterior

índice

próxima


HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO