1

Solução de problemas .NET - Programa para Validação de Notas

#.NET C#
Elisio Moura
Elisio Moura

Alguém que tenha resolvido este desafio? Só falta um teste e não consigo descobrir o que é. Segue o meu código:


using System;

using System.Globalization;

using System.Collections.Generic;


class ProgramaValidacaoNotas

{

  static void Main(string[] args)

  {

   int optUser = 1;

   CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();

   culture.NumberFormat.NumberDecimalSeparator = ".";


   do

   {

     List<double> notas = new List<double> { };

     double soma = 0, media;


     while (notas.Count != 2)

     {

      double N = double.Parse(Console.ReadLine(), culture);

      

      if (N < 0.0 || N > 10.0)

      {

       Console.WriteLine("nota invalida");

      } 

       else 

      {

       notas.Add(N);

      }

     } 

    

     foreach (double num in notas)

     {

       soma += num;

     }

    

    media = soma / notas.Count;

    Console.WriteLine("media = " + media.ToString("N2").Replace(",","."));


     do

     {

      Console.WriteLine("novo calculo (1-sim 2-nao)");

      optUser = int.Parse(Console.ReadLine());

     }

     while (optUser != 1 && optUser != 2);


   } while (optUser == 1);

 }

}

6
68

Comentários (6)

0
Elisio Moura

Elisio Moura

28/02/2021 20:24

@Eros Lima, testei seu codigo aqui e ainda deu erro no teste 4. Logo em seguida, adaptei para o meu codigo e nao obtive sucesso. Acredito que a lógica está correta e que o erro deve estar nas operacoes com os tipos das variaveis.

0
Elisio Moura

Elisio Moura

28/02/2021 19:38

Okay @Eros Lima! Vou add e vamos resolver juntos. ;-)

0
⚡Eros Lima

⚡Eros Lima

28/02/2021 13:43

Consegui por favor confirmem:




Solução da validação de notas:




using System;


class Program {


static void Main(string[] args) {


int doCalc = 1;

while (doCalc == 1)

{

int numbersValids = 0;

double total = 0;

while (numbersValids < 2)

{

double grade = double.Parse(Console.ReadLine());

if (grade >= 0 && grade <= 10)

{

numbersValids ++;

total += grade;

} else {

Console.WriteLine("nota invalida");

}

}

Console.WriteLine("media = "+ (total / 2).ToString("n2"));

do {

Console.WriteLine("novo calculo (1-sim 2-nao)");

doCalc = int.Parse(Console.ReadLine());

} while (doCalc != 1 && doCalc != 2);

}


}


}

1
Rubens Alves

Rubens Alves

28/02/2021 00:10

Olá pessoal.

O amigo de código me enviou esse desafio ai.

Estou tentando tbm.


Eros veja o que posso está errando ai. Já refiz .


using System;


class Desafio {

  static void Main() {

     

    int notasLidas = 0;

    double x=0;

     

    while (notasLidas < 2){

     double nota = double.Parse(Console.ReadLine());

     if (nota < 0 || nota > 10){

      Console.WriteLine("nota invalida");

     } else if (notasLidas == 0){

      x = nota;

      notasLidas++;

     } else if (notasLidas == 1){

      double media = (x+nota)/2;

      Console.Write("media = ");

      Console.WriteLine(media.ToString("N2"));

      notasLidas++;

     }

    } 

  }

}

1
Guilherme Marcelino

Guilherme Marcelino

28/02/2021 00:06

Cara também não funciona aqui .

0
⚡Eros Lima

⚡Eros Lima

28/02/2021 00:02

Elisio eu vc, o Guilherme Marcelino e um pequeno grupo de estudos,



me adicione que estamos resolvendo juntos: https://www.linkedin.com/in/%E2%9A%A1%EF%B8%8Feros-m-lima-57a405198/



é algum bug do test que precisa de ajuda técnica.

“Viver é enfrentar um problema atrás do outro. O modo como você encara é que faz a diferença.” (B. Franklin)

Brasil