Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Calcolatrice C#

  1. #1

    Calcolatrice C#

    Salve a tutti, sono alle prime armi con C#, anche se ho buona esperienza con C e Java.
    Come primo progetto sono partito dalla classica calcolatrice. Ho disegnato la grafica tramite la pagina di progettazione di Visual Studio, con i classici pulsanti.
    Clicco sui pulsanti e i numeri si susseguono nella textBox, quando premo il pulsante di un'operazione mi salvo il numero della textBox convertendolo in una variabile float e in una Stringa il segno dell'operazione. Tramite debug vedo che le variabili sono correttamente settate.
    Inizio così a scrivere il secondo numero fino al momento in cui premo l'uguale.
    Qui mi converto la textBox in una seconda variabile float e faccio il case sul segno dell'operazione che avevo precedente messo nella stringa op, ma ora op e la variabile contenente il primo numero sono settate rispettivamente a null e 0.0.
    Ora il progetto è stato creato per una pagina asp e quindi potrebbe essere per il caricamento della pagina ogni volta che clicco su un pulsante, ma questo dovrebbe resettarmi ogni volta anche la textBox, no?
    Scusatemi per il disturbo e grazie in anticipo a chi mi risponderà.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315

    Moderazione

    C# e tutti i linguaggio .NET vengono trattai nel forum apposito: Visual Basic e .NET Framework.

    Sposto la discussione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249

    Re: Calcolatrice C#

    Originariamente inviato da nonsoloC
    Salve a tutti, sono alle prime armi con C#, anche se ho buona esperienza con C e Java.
    Come primo progetto sono partito dalla classica calcolatrice. Ho disegnato la grafica tramite la pagina di progettazione di Visual Studio, con i classici pulsanti.
    Clicco sui pulsanti e i numeri si susseguono nella textBox, quando premo il pulsante di un'operazione mi salvo il numero della textBox convertendolo in una variabile float e in una Stringa il segno dell'operazione. Tramite debug vedo che le variabili sono correttamente settate.
    Inizio così a scrivere il secondo numero fino al momento in cui premo l'uguale.
    Qui mi converto la textBox in una seconda variabile float e faccio il case sul segno dell'operazione che avevo precedente messo nella stringa op, ma ora op e la variabile contenente il primo numero sono settate rispettivamente a null e 0.0.
    Ora il progetto è stato creato per una pagina asp e quindi potrebbe essere per il caricamento della pagina ogni volta che clicco su un pulsante, ma questo dovrebbe resettarmi ogni volta anche la textBox, no?
    Scusatemi per il disturbo e grazie in anticipo a chi mi risponderà.
    Leggendo quello che hai scrito sembra tutto ok.
    Posta l'intero codice, anzi l'intero progetto calcolatrice e vediamo altrimenti la vedo un pò dura aiutarti.
    I got the remedy

  4. #4
    Ecco il file...


    codice:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class _Default : System.Web.UI.Page
    {
        decimal firstNum;
        decimal secondNum;
        string op;
    
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
        protected void Button9_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "9";
        }
        protected void Button8_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "8";
        }
        protected void Button7_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "7";
        }
        protected void Button6_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "6";
        }
        protected void Button5_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "5";
        }
        protected void Button4_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "4";
        }
        protected void Button3_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "3";
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "2";
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "1";
        }
        protected void Button0_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + "0";
        }
        protected void ButtonMol_Click(object sender, EventArgs e)
        {
            this.firstNum = Convert.ToDecimal(TextBox1.Text);
            this.op = "*";
            TextBox1.Text = "";
        }
        protected void ButtonDiv_Click(object sender, EventArgs e)
        {
            this.firstNum = Convert.ToDecimal(TextBox1.Text);
            this.op = "/";
            TextBox1.Text = "";
        }
        protected void ButtonAdd_Click(object sender, EventArgs e)
        {
           this.firstNum = Convert.ToDecimal(TextBox1.Text);
    
           this.op = "+";
           TextBox1.Text = "";
        }
        protected void ButtonSott_Click(object sender, EventArgs e)
        {
            this.firstNum = Convert.ToDecimal(TextBox1.Text);
            this.op = "-";
            TextBox1.Text = "";
        }
        protected void ButtonEqual_Click(object sender, EventArgs e)
        {
            this.secondNum = Convert.ToDecimal(TextBox1.Text);
            switch (this.op){
               case ("/"):
                    if (secondNum == 0)
                    {
                        TextBox1.Text = null;
                    }
                    else
                    {
                        TextBox1.Text = (firstNum / secondNum).ToString();
                    }
                       break;
               case ("*"):
                       TextBox1.Text = (firstNum * secondNum).ToString();
                       break;
               case ("+"):
                       TextBox1.Text = (firstNum + secondNum).ToString();
                       break;
               case ("-"):
                       TextBox1.Text = (firstNum - secondNum).ToString();
                       break;
           }
        }
        protected void ButtonClr_Click(object sender, EventArgs e)
        {
            firstNum = 0;
            secondNum = 0;
            TextBox1.Text = "";
        }
        protected void ButtonComa_Click(object sender, EventArgs e)
        {
            TextBox1.Text = TextBox1.Text + ".";
        }
        protected void TextBox1_TextChanged(object sender, EventArgs e)
        {
    
        }
    }

  5. #5
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    ah quindi è una pagina asp net,ecco perchè no ti funziona.
    Non ti funzionerà mai in quanto il quanto le pagine html sono state less quindi senza stato e quindi perdono valore a ogni submit.
    Devi salvare i numeri e l'op nell'ogetto di tipo Session oppure in altri posti.
    I got the remedy

  6. #6
    Si l'avevo immaginato, solo che non riesco a capire come usarla. Potresti darmi una dritta?
    Grazie ancora

  7. #7

  8. #8
    Risolto, grazie mille!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.