• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kod do oceny - kalkulator

Object Storage Arubacloud
0 głosów
354 wizyt
pytanie zadane 23 lutego 2017 w C# przez marcin99b Szeryf (82,080 p.)
edycja 23 lutego 2017 przez marcin99b
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace Calculator
{
    
    public partial class MainWindow : Window
    {
        
        float newNumber;
        float oldNumber;
        string lastAction;
        
        public MainWindow()
        {
            InitializeComponent();
        }

        #region Number buttons

        private void number0_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            writeNumber.Content = newNumber.ToString();
        }

        private void number1_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 1;
            writeNumber.Content = newNumber.ToString();
        }

        private void number2_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 2;
            writeNumber.Content = newNumber.ToString();
        }

        private void number3_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 3;
            writeNumber.Content = newNumber.ToString();
        }

        private void number4_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 4;
            writeNumber.Content = newNumber.ToString();
        }

        private void number5_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 5;
            writeNumber.Content = newNumber.ToString();
        }

        private void number6_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 6;
            writeNumber.Content = newNumber.ToString();
        }

        private void number7_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 7;
            writeNumber.Content = newNumber.ToString();
        }

        private void number8_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 8;
            writeNumber.Content = newNumber.ToString();
        }

        private void number9_Click(object sender, RoutedEventArgs e)
        {
            newNumber *= 10;
            newNumber += 9;
            writeNumber.Content = newNumber.ToString();
        }
        #endregion

        #region Function buttons

        private void clear_Click(object sender, RoutedEventArgs e)
        {
            newNumber = 0f;
            oldNumber = 0f;
            displayNumber();
        }

        private void plus_Click(object sender, RoutedEventArgs e)
        {
            oldNumber += newNumber;
            newNumber = 0;
            lastAction = "plus";
            sign.Content = "+";
            displayNumber();
        }

        private void minus_Click(object sender, RoutedEventArgs e)
        {
            oldNumber = oldNumber - newNumber;
            newNumber = 0;
            lastAction = "minus";
            sign.Content = "-";
            displayNumber();
        }

        private void multiply_Click(object sender, RoutedEventArgs e)
        {
            if (oldNumber != 0f)
            {
                oldNumber *= newNumber;
                newNumber = 0;
                
            }
            else
                oldNumber = newNumber;

            lastAction = "multiply";
            sign.Content = "*";
            displayNumber();
        }

        private void devide_Click(object sender, RoutedEventArgs e)
        {
            if (oldNumber != 0f)
            {
                oldNumber /= newNumber;
                newNumber = 0;
            }
            else
                oldNumber = newNumber;

            lastAction = "devide";
            sign.Content = "/";
            displayNumber();

        }

        private void root_Click(object sender, RoutedEventArgs e)
        {
                newNumber = (float)Math.Sqrt(newNumber);
            displayNumber();
        }

        private void squared_Click(object sender, RoutedEventArgs e)
        {
                newNumber = newNumber * newNumber;
            displayNumber();
        }

        private void equal_Click(object sender, RoutedEventArgs e)
        {

            if (lastAction == "plus") plus_Click(sender, e);
            else if (lastAction == "minus") minus_Click(sender, e);
            else if (lastAction == "multiply") multiply_Click(sender, e);
            else if (lastAction == "devide") devide_Click(sender, e);

            displayNumber();
        }
        #endregion

        #region Multiple call 

        private void displayNumber()
        {
            writeNumber.Content = newNumber.ToString();
            lastNumber.Content = oldNumber.ToString();
        }

        #endregion


    }
}

Jakiś czas temu zainteresowałem się C#
Aktualnie jestem na etapie wstępu do aplikacji okienkowych (miałem już "doświadczenia" z pisaniem programów w Unity3D oraz ASP.NET MVC)
Jak oceniacie taki kod? Co można skrócić, co robię źle? Co można poprawić?

1
komentarz 23 lutego 2017 przez Patrycjerz Mędrzec (192,320 p.)
Przywitaj się choć, a nie straszysz gołym kodem.
komentarz 23 lutego 2017 przez marcin99b Szeryf (82,080 p.)
Już

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 214 wizyt
pytanie zadane 4 sierpnia 2017 w JavaScript przez turtelian Obywatel (1,760 p.)
0 głosów
3 odpowiedzi 223 wizyt
pytanie zadane 23 lipca 2017 w Rozwój zawodowy, nauka, praca przez rafal1997 Gaduła (3,180 p.)
0 głosów
0 odpowiedzi 292 wizyt
pytanie zadane 10 listopada 2018 w JavaScript przez Sobol3k Użytkownik (690 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...