none
Ayuda con problema basico csharp RRS feed

  • Pregunta

  • Buenas, yo tengo una duda con este problema "1) realizar un programa que permita el calcular el promedio de N notas y mostrarlo por pantalla"

    Yo se hacer lo de calcular promedio de notas, pero lo que no se es como hacerlo con N cantidad de notas,

    Alguien me podria explicar como podria hacer para que yo pueda preguntar en el codigo el "n cantidad de notas" y que dependiendo de ese n numero se pueda ir calculando esas notas?

    viernes, 27 de octubre de 2017 20:29

Respuestas

  • Necesitas repetir una instrucción o un bloque de instrucciones la cantidad de veces que convengas, para ello tienes instrucciones iterativas como for, do, while, etc. Iteration Statements (C# Reference)

    static void Main(string[] args)
    {
    	Console.Write("Ingrese la cantidad de notas a evaluar: ");
    	decimal notas = decimal.Parse(Console.ReadLine());
    	decimal sumaNotas = 0;
    
    	for (int i = 1; i <= notas; i++)
    	{
    		Console.Write($"Ingrese la nota [{i}]: ");
    		sumaNotas += decimal.Parse(Console.ReadLine());
    	}
    
    	Console.WriteLine($"EL PROMEDIO DE {notas} NOTAS ES: {(sumaNotas/notas):N2}");
    	Console.ReadKey();
    }
    

    viernes, 27 de octubre de 2017 21:31

Todas las respuestas

  • Hola

    lo que podrías hacer es agregar a una lista dichas notas y luego recorrer e ir sumando. Una vez que hayas sumado todas, las divides por el tamaño de el arreglo (es decir la cantidad de notas que ingresaste).

    Así es como obtienes el promedio. Encontré por la web esto:

    public class promnotas
    {
    	private List<double> notas = null;
    
    	public promedio()
    	{
    		notas = new List<double>();
    	}
    	
    	public void insertar(double nota)
    	{
    		notas.Add(nota);
    	}
    	
    	public double promedios()
    	{
    		double suma = 0;
    		foreach (double nota in notas)
    		{
    			suma += nota;
    		}
    		
    		double prom = suma / notas.Count;
    		
    		return prom;
    
    	}
    }

    Saludos


    Brayan De la Cruz
    Lima - Perú



    viernes, 27 de octubre de 2017 20:40
  • Buenas,

    A lo que te ha dicho Brayan, que está perfecto, solo le haría un cambio

    public double promedios()
    {
        return notas.Average();
    }

    Para poder usarlo, tienes que añadir

    using System.LinQ;

    Nos comentas el resultado 

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:


    viernes, 27 de octubre de 2017 21:12
  • Necesitas repetir una instrucción o un bloque de instrucciones la cantidad de veces que convengas, para ello tienes instrucciones iterativas como for, do, while, etc. Iteration Statements (C# Reference)

    static void Main(string[] args)
    {
    	Console.Write("Ingrese la cantidad de notas a evaluar: ");
    	decimal notas = decimal.Parse(Console.ReadLine());
    	decimal sumaNotas = 0;
    
    	for (int i = 1; i <= notas; i++)
    	{
    		Console.Write($"Ingrese la nota [{i}]: ");
    		sumaNotas += decimal.Parse(Console.ReadLine());
    	}
    
    	Console.WriteLine($"EL PROMEDIO DE {notas} NOTAS ES: {(sumaNotas/notas):N2}");
    	Console.ReadKey();
    }
    

    viernes, 27 de octubre de 2017 21:31