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
}
//---------------------------------------------------------------------------
|
HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO |