Posts Tagged ‘Windows Mobile’

Álcool ou Gasolina? – Aplicativo para Windows Mobile 6 para tirar sua dúvida

sexta-feira, agosto 7th, 2009

Neste post vou apresentar um aplicativo para Windows Mobile 6 que recebe como entrada o valor do litro do álcool, da gasolina e exibe uma mensagem dizendo qual dos dois é mais vantajoso abastecer, bastante útil quando o seu veículo é flex.

Requisitos:

O código é bem simples, o valor do litro do álcool é dividido pelo valor do litro da gasolina, se o resultado for maior ou igual a 0,7 compensa abastecer com gasolina, caso contrário, abasteça com álcool.

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using System;
 
using System.Text;
using System.Windows.Forms;
 
namespace AlcoolGasolina
 
{
 
    public partial class frmPrincipal : Form
    {
        public frmPrincipal()
        {
            InitializeComponent();
        }
 
        /// Método de validação da entrada. Considera inválidos strings vazias e 
        /// valores menores ou iguais a zero.
        private bool isValid(string valor)
        {
            // Não deve ser uma string vazia ou nula
            if (String.IsNullOrEmpty(valor))
                return false;
            try
            {
                // deve ser um valor numérico válido
                double num = Convert.ToDouble(valor);
 
                // não deve ser menor ou igual a zero
                if (num > 0)
                    return true;
                else
                    return false;
            }
 
            catch (Exception)
            {
                return false;
            }
        }
 
 
		/// Verifica se os valores digitados são válidos e, em caso positivo, 
        /// faz o cálculo e apresenta a mensagem para o usuário informando
        /// qual é mais viável abastecer, álcool ou gasolina. Se os valores 
        /// não forem válidos para o cálculo, será exibida uma mensagem de 
        /// alerta, informando que os valores de entrada são inválidos.
        private void btnCalcular_Click(object sender, EventArgs e)
        {
            if (isValid(txtAlcool.Text.Trim()) && isValid(txtGasolina.Text.Trim()))
            {
                double alcool = Convert.ToDouble(txtAlcool.Text.Trim());
                double gasolina = Convert.ToDouble(txtGasolina.Text.Trim());
 
                double resultado = alcool / gasolina;
                if (resultado >= 0.7)
                    lblResultado.Text = "Abasteça com Gasolina";
                else
                    lblResultado.Text = "Abasteça com Álcool";
            }
            else
            {
                MessageBox.Show("Valores de entrada inválidos.",
                                "Erro",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation,
                                MessageBoxDefaultButton.Button1);
 
            }
 
            txtAlcool.Text = string.Empty;
            txtGasolina.Text = string.Empty;
        }
 
        /// Fecha a aplicação.
        private void mnuSair_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        /// Menu "Sobre...", exibe uma mensagem com o nome da aplicação, 
        /// nome do autor e endereço do blog do autor.
        private void mnuSobre_Click(object sender, EventArgs e)
        {
            StringBuilder mensagem = new StringBuilder("Álcool ou Gasolina\n\n");
            mensagem.Append("Por Rogério Bragil\n\nBlog do Bragil - www.bragil.net");
            MessageBox.Show(mensagem.ToString(),
                            "Sobre",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.None,
                            MessageBoxDefaultButton.Button1);
        }
    }
}