Note1 and nota2 report errors and do not display storage in the array. Can anyone help? Thank you very much

1
namespace mediaDe5Alunos
{
    class Program
    /*faça um programa para cálcular a média de duas notas de 5 alunos, mostrar a média da sala e de cada aluno e um relatório dos alunos*/
    {
        static double calculo (double nota1, double nota2)
        {
            double media = (nota1 + nota2) / 2;
            return media;
        }

        private static double lerNota()
        {
            return double.Parse(Console.ReadLine());
        }

        public struct Aluno
        {
            public string nome, nota1, nota2, media;
        }

        static int a = 0;

        static void Main(string[] args)
        {

            Console.WriteLine("Programa de notas");
            Console.WriteLine("Escolha uma opção: \n1- inserir nome do aluno \n2- relatório de alunos \n3- mostrar media \n4- sair do programa");
            int opcao = int.Parse(Console.ReadLine());

            if (opcao == 1)
            {

            Aluno[] aluno = new Aluno[3];

            Console.WriteLine("Inserir nome do primeiro aluno");
            aluno[a].nome = Console.ReadLine();
            Console.WriteLine("Insira a primeira nota");
            aluno[a].nota1 = Convert.ToString(Console.ReadLine());
            Console.WriteLine("Insira a segunda nota");
            aluno[a].nota2 = Convert.ToString(Console.ReadLine());
            double media = calculo(nota1, nota2);
       //     Console.WriteLine("A média do(a) aluno(a) " + nome + " é: " + media);
            aluno[a].media = Convert.ToString(media);

                //        for (int a = 0; a < nome.Length; a++)
                //         foreach (string A in aluno)
                {
                    Console.WriteLine(a);
                }
            Console.WriteLine("==============================================");

            }
            else if (opcao == 2)
            {
                Console.WriteLine("Relatório de alunos");
            }

            else if (opcao == 3)
            {
                Console.WriteLine("Mostrar media");
            }

            else if (opcao == 4)
            {
                Console.WriteLine("Sair");
            }

            else
            {
                Console.WriteLine("Escolha uma opção válida");
            }
            Console.Read();
        }


    }
}
    
asked by anonymous 03.10.2017 / 18:33

1 answer

1
  • Modification 1: I inserted another bar in the class comment;
  • Modification 2: declare note1 and note2 as double;
  • Modification 3: I used a Convert.ToDouble in the variable path;

The problem was that your calculating method received two doubles and you were passing two strings.

    namespace mediaDe5Alunos
    {
    class Program //faça um programa para cálcular a média de duas notas de 5 alunos, mostrar a média da sala e de cada aluno e um relatório dos alunos/
    {
        static double calculo(double nota1, double nota2)
        {
            double media = (nota1 + nota2) / 2;
            return media;
        }
        private static double lerNota()
        {
            return double.Parse(Console.ReadLine());
        }

        public struct Aluno
        {
            public string nome, media;
            public double nota1, nota2;
        }

        static int a = 0;

        static void Main(string[] args)
        {

            Console.WriteLine("Programa de notas");
            Console.WriteLine("Escolha uma opção: \n1- inserir nome do aluno \n2- relatório de alunos \n3- mostrar media \n4- sair do programa");
            int opcao = int.Parse(Console.ReadLine());

        if (opcao == 1)
        {

            Aluno[] aluno = new Aluno[3];

            Console.WriteLine("Inserir nome do primeiro aluno");
            aluno[a].nome = Console.ReadLine();
            Console.WriteLine("Insira a primeira nota");
            aluno[a].nota1 = Convert.ToDouble(Console.ReadLine()); 
            Console.WriteLine("Insira a segunda nota");
            aluno[a].nota2 = Convert.ToDouble(Console.ReadLine());
            double media = calculo(aluno[a].nota1, aluno[a].nota2);
            //     Console.WriteLine("A média do(a) aluno(a) " + nome + " é: " + media);
            aluno[a].media = Convert.ToString(media);

            //        for (int a = 0; a < nome.Length; a++)
            //         foreach (string A in aluno)
            {
                Console.WriteLine(a);
            }
            Console.WriteLine("==============================================");

        }
        else if (opcao == 2)
        {
            Console.WriteLine("Relatório de alunos");
        }

        else if (opcao == 3)
        {
            Console.WriteLine("Mostrar media");
        }

        else if (opcao == 4)
        {
            Console.WriteLine("Sair");
        }

        else
        {
            Console.WriteLine("Escolha uma opção válida");
        }
        Console.Read();
        }

    }

}
    
03.10.2017 / 18:58