Ir ao conteúdo
  • Cadastre-se

C# Questão: programa que leia números positivos e crie um relatório


Posts recomendados

@CrazyGladiator     basicamente seria , usar um loop while para ir pegando os números digitados ,  e colocando em um vetor e assim que for digitado zero ele encerra o loop e faz os cálculos usando os números que estão no vetor ,  então faça seu código e  poste ele aqui , para vermos como está e em que podemos ajudar   .

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, devair1010 disse:

@CrazyGladiator     basicamente seria , usar um loop while para ir pegando os números digitados ,  e colocando em um vetor e assim que for digitado zero ele encerra o loop e faz os cálculos usando os números que estão no vetor ,  então faça seu código e  poste ele aqui , para vermos como está e em que podemos ajudar   .

beleza, me de uns min

adicionado 27 minutos depois

image.png.c1dfb3876d0c17ec58b5f4b10d687215.pngcc

adicionado 27 minutos depois

estou indo no caminho?

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@CrazyGladiator     mas você precisa digitar outros números , além desses de 1 até 10 , então seria melhor colocar mesmo um Loop infinito , tipo while( 1 )   , e dentro do Loop depois de pegar o numero use um if para ver se é zero e sendo então sair do Loop while com um break .

Link para o comentário
Compartilhar em outros sites

10 minutos atrás, devair1010 disse:

@CrazyGladiator     mas você precisa digitar outros números , além desses de 1 até 10 , então seria melhor colocar mesmo um Loop infinito , tipo while( 1 )   , e dentro do Loop depois de pegar o numero use um if para ver se é zero e sendo então sair do Loop while com um break .

mas como eu vou pegar o numero, tipo, eu faço o while numa função separada, ai uso um readLine convertido? e o que sair dali uso if else?

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

10 minutos atrás, devair1010 disse:

@CrazyGladiator     o enunciado  não pede nenhuma função , pode ser dentro da função main mesmo , e você vai pegar o número digitado pelo usuário e já coloca no vetor , e em seguida verifica se é zero e caso seja então break , sai do Loop .

beleza, farei isso agora.

adicionado 14 minutos depois
using System;

namespace Definitivo03
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] num = new int[10];
            while (num[0] >= 1)
            {
                num[10] = Convert.ToInt32(Console.ReadLine());
                if(num[0] == 0)
                {
                    break;
                }
                
            }
            num[10] = Convert.ToInt32(Console.ReadLine());
         
        }

       
    }
}

desculpa tenho um pouco de dificuldade com loopings, ta dando literalmente um infinito, o que esta de errado?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, CrazyGladiator disse:

beleza, farei isso agora.

adicionado 14 minutos depois

using System;

namespace Definitivo03
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] num = new int[10];
            while (num[0] >= 1)
            {
                num[10] = Convert.ToInt32(Console.ReadLine());
                if(num[0] == 0)
                {
                    break;
                }
                
            }
            num[10] = Convert.ToInt32(Console.ReadLine());
         
        }

       
    }
}

desculpa tenho um pouco de dificuldade com loopings, ta dando literalmente um infinito, o que esta de errado?

pode me dar alguma dica estou ate agr quebrando a cabeça nisso

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

3 minutos atrás, devair1010 disse:

@CrazyGladiator    melhor esse  modo aqui :


int cont=0;
//dentro do while coloque
num[cont] = int.Parse(Console.ReadLine());
cont = cont + 1;
if(num[cont]==0)break;

 

esse "int.Parse" é equivalente ao "ToInt"? ou seja serve para conversão. image.png.2832002a008731d246179523b76f43a8.pngficou assim

adicionado 2 minutos depois
agora, CrazyGladiator disse:

esse "int.Parse" é equivalente ao "ToInt"? ou seja serve para conversão. image.png.2832002a008731d246179523b76f43a8.pngficou assim

esse parâmetro dentro do while eu mudei para "(num[cont] >= 1)"

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@CrazyGladiator      em formato de texto , seria melhor , e o while ainda não está funcionando assim ,  então creio que usando  uma variável seria melhor que poderia ser assim  :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Definitivo03
{
  class program
  {
    static void Main(string[] args)
    {
      int cont = 0,flag=0,maior=0,m_impar=0,kedia=0;
      int[] num = new int[1000];
      while( flag == 0 )//val num[10] não Sabido
      {
        num[cont] = Convert.ToInt32(Console.ReadLine());//esse é melhor
        //int.Parse(Console.ReadLine()); esse só converte string
        Console.WriteLine("val num "+num[cont]);
        if(num[cont] == 0)
        {
          Console.WriteLine("chegou dentro do if");
          break;
        }
        cont = cont + 1;
      }
      Console.WriteLine("Depois do while");
      Console.WriteLine("O Total De  Números      Lidos Foi "+cont        );
      // ver qual é o Maior número e escreve-lo na tela
      Console.WriteLine("O Maior     Números      Lido  Foi "+maior       );
      // ver qual é a Média número e escreve-la na tela
      Console.WriteLine("O Média Dos Número       Lidos Foi "+kedia       );
      // ver qual é o Menor número Ímpar e escreve-lo na tela
      Console.WriteLine("O Menor     Número Ímpar Lido  Foi "+m_impar     );
      Console.WriteLine("A Quantidade De Vezes Que o Número Apareceu Foi ");
      //aqui calcular a quantidade de vezes que cada hum Apareceu
      for(int j=0; j<cont; j++)
      {
        Console.WriteLine("O Número "+num[j]+" Apareceu "+j+" Vezes");
        // nessa linha não contém os valores certos , precisa calcular antes 
      }
    }
    //Console.WriteLine("Depois da Main");
  }
  //Console.WriteLine("Depois da class");
}//fim do final mesmo

Faltou calcular os valores dessas variáveis , etc . . . !

Link para o comentário
Compartilhar em outros sites

ReadLine começa lê quando a tecla ENTER é pressionada então o método funciona lendo uma linha por inteiro e mais precisamente porque o método ToInt32 falha quando a string tem algo além de dígitos decimais seguidos.

 

Um contra exemplo de entrada é: 12 133

O problema para método ToInt32 nesse caso é no  formato com espaço que deve ser evitado.

O método ReadKey permite verificar a tecla digitada, no caso o 0 interrompe a leitura.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...