quarta-feira, 15 de fevereiro de 2012

Um calculadora com bugs, mas boa de aprender C#


Como Criar uma Calculadora em C# Semelhante à do Windows: Tutorial Completo

Se você está aprendendo C# e deseja criar algo prático e funcional, desenvolver uma calculadora semelhante à do Windows é um excelente exercício. Neste tutorial, mostrarei um exemplo funcional de uma calculadora com interface gráfica, utilizando o WPF (Windows Presentation Foundation). Este projeto é perfeito para quem quer aprimorar habilidades em desenvolvimento de aplicações desktop.


O Código

Abaixo estão as implementações para os arquivos necessários:

1. MainWindow.xaml

Este é o arquivo de layout, responsável pela interface da calculadora. Incluímos botões para números, operações básicas e outras funcionalidades, como raiz quadrada e inversão de sinal.

<Window x:Class="Calculadora.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="Calculadora" Height="404" Width="426" Background="#FFEBE5E5" WindowStyle="ThreeDBorderWindow">

    <Grid Width="358">

        <Button Content="7" Height="28" HorizontalAlignment="Left" Margin="91,127,0,0" Name="sete" VerticalAlignment="Top" Width="37" Click="sete_Click" />

        <TextBox Height="53" HorizontalAlignment="Right" Margin="0,34,54,0" Name="display" VerticalAlignment="Top" Width="213" FontFamily="Arial" FontSize="28" HorizontalContentAlignment="Right" />

        <!-- Botões para números, operações e funcionalidades -->

    </Grid>

</Window>

2. MainWindow.xaml.cs

Aqui está a lógica por trás da calculadora. Cada botão chama um método que realiza a operação correspondente. Por exemplo, ao clicar no botão "7", o número é exibido no display.

using System;

using System.Windows;


namespace Calculadora

{

    public partial class MainWindow : Window

    {

        double acumula = 0;

        string operacao = "";


        public MainWindow()

        {

            InitializeComponent();

        }


        private void sete_Click(object sender, RoutedEventArgs e)

        {

            display.Text += "7";

        }


        private void soma_Click(object sender, RoutedEventArgs e)

        {

            acumula += double.Parse(display.Text);

            display.Text = "";

            operacao = "+";

        }


        private void igual_Click(object sender, RoutedEventArgs e)

        {

            if (operacao == "+")

            {

                acumula += double.Parse(display.Text);

                display.Text = acumula.ToString();

            }

        }

        // Outros métodos...

    }

}


Nenhum comentário:

Postar um comentário

Obrigado por contribuir para melhorar este blog, deixe sua mensagem.
Forte Abraço