Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    58

    "calcolatore di medie" in C#

    Come avrete capito, a programmare faccio schifo. Comunque, per esercitarmi, ho tentato di realizzare un'applicazione console che calcolasse la media dei numeri inseriti. Purtroppo, come potete immaginare, non funziona. O, meglio, il risultato che da' e ' sempre sbagliato.

    es.> la media di 30, 60,90 e' 60, ma il mio programma da' 50 come risultato (ha diviso per 3.6 anziche' per 3!)
    --------------------------------------------------------------------------------------
    string s; // stringa generica per inserire i valori
    double numero = 0; // numero inserito, derivante dalla conversione di s
    double media = 0; // risultato
    double sommaNumeri = 0; //somma dei numeri inseriti
    double contaNumeri = 0;// conteggio dei numeri inseriti

    while (contaNumeri<2)
    {
    Console.WriteLine("Inserisci un numero");
    s = Console.ReadLine();
    numero = Convert.ToDouble(s);
    contaNumeri = contaNumeri + 1;
    sommaNumeri = sommaNumeri + numero;
    }

    while (contaNumeri >= 2)
    {
    Console.WriteLine("Vuoi inserire un nuovo numero ? (S/N)");
    s = Console.ReadLine();
    while (s == "S" || s == "s")
    {
    sommaNumeri = sommaNumeri + numero;
    contaNumeri = contaNumeri + 1;
    Console.WriteLine("Inserisci un numero");
    s = Console.ReadLine();
    numero = Convert.ToDouble(s);
    Console.WriteLine("vuoi inserire un nuovo numero ? (S/N)");
    s = Console.ReadLine();
    while (s == "N" || s == "n")
    {
    media = sommaNumeri / contaNumeri;
    Console.WriteLine("Hai inserito " + contaNumeri.ToString() + " numeri, la cui media e'" + media.ToString());
    Console.Read();
    }
    if (s != "s" | s != "S" | s != "n" | s != "N")
    {
    Console.WriteLine("Tasto non ammesso");
    s = Console.ReadLine();
    Console.WriteLine("vuoi inserire un nuovo numero ? (S/N)");
    s = Console.ReadLine();


    ----------------------------------------------------------------------------------------
    GRAZIE IN ANTICIPO

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using c = System.Console;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                string s = ""; // stringa generica per inserire i valori
                double numero = 0; // numero inserito, derivante dalla conversione di s
                double media = 0; // risultato
                double sommaNumeri = 0; //somma dei numeri inseriti
                double contaNumeri = 0;// conteggio dei numeri inseriti
    
                while (true)
                { 
                    c.WriteLine("Inserisci un numero, niente per finire...");
                    s = c.ReadLine();
                    if (s == "") break ;
                    if(double.TryParse(s, out numero))
                    {
                        contaNumeri++;
                        sommaNumeri += numero;
                        media = sommaNumeri / contaNumeri;
                        c.WriteLine("media = {0}", media);
                    }
                    else
                    {
                        c.WriteLine("Bisogna inserire un numero corretto...");
                    }
                    
                }
    
                c.WriteLine("Numeri inseriti = {0}\r\nMedia = {1}", contaNumeri, media);
    
                c.Write("Premere un tasto per uscire...");
                c.Read();
            }
        }
    }
    Pietro

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.