Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Elabore um programa C# que efetue a leitura sucessiva de valores numéricos e apresente no final o somatório, a média e o total de valores lidos - Desafio de Programação Resolvido em C#

Quantidade de visualizações: 297 vezes
Pergunta/Tarefa:

Elabore um programa C# que efetue a leitura sucessiva de valores numéricos e apresente no final o somatório, a média e o total de valores lidos. O programa deve fazer as leituras dos valores enquanto o usuário estiver fornecendo valores positivos, ou seja, o programa deve parar quando o usuário fornecer um valor negativo.

Sua saída deve ser parecida com:

Informe o valor (negativo para parar): 8
Informe o valor (negativo para parar): 3
Informe o valor (negativo para parar): 5
Informe o valor (negativo para parar): 1
Informe o valor (negativo para parar): -3

A soma dos números é: 17
O total de números lidos é: 4
A média dos números é: 4.25
Resposta/Solução:

Veja a resolução comentada deste exercício usando C#:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Principal {
    // função principal do programa C#
    static void Main(string[] args) {
      // variáveis usadas na resolução do problema
      int numero, soma = 0, total_numeros = 0;
      double media;

      // vamos efetuar a leitura dos números
      do {
        Console.Write("Informe o valor (negativo para parar): ");
        numero = Int32.Parse(Console.ReadLine());

        // o número é positivo?
        if (numero > -1) {
          // vamos somar mais este número
          soma = soma + numero;
          // vamos contar mais este número
          total_numeros = total_numeros + 1;
        }
      } while (numero > -1);

      // vamos calcular a média dos números lidos
      if (total_numeros > 0) {
        media = soma / (total_numeros * 1.0);

        Console.WriteLine("\nA soma dos números é: " + soma);
        Console.WriteLine("O total de números lidos é: " + total_numeros);
        Console.WriteLine("A média dos números é: " + media);
      }
      else {
        Console.WriteLine("\nNão foram informados números positivos.");
      }

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Windows Forms ::: ListBox

Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade Sorted

Quantidade de visualizações: 10393 vezes
Os itens de uma ListBox podem ser ordenados alfabeticamente definindo-se o valor True para a propriedade Sorted. Em tempo de execução este propriedade pode ser alterada da seguinte forma:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button2_Click(object sender, EventArgs e){
  // Ordena os itens da lista alfabeticamente
  listBox1.Sorted = true;
}

Esta propriedade pode também ser obtida enquanto o programa estiver em execução. Veja um trecho de código no qual clicamos em um botão e exibimos uma mensagem com o valor da propriedade Sorted da ListBox:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e) {
  // Obtém o valor da propriedade Sorted
  MessageBox.Show("Valor da propriedade Sorted: " +   listBox1.Sorted);
}

Ao executarmos este código C# nós teremos o seguinte resultado:

Valor da propriedade Sorted: True


C# ::: Windows Forms ::: ListBox

Como excluir todos os itens selecionados em uma ListBox de múltipla seleção do C# Windows Forms

Quantidade de visualizações: 11163 vezes
Em algumas situações precisamos remover todos os itens selecionados em uma ListBox. Nesta dica mostrarei como isso pode ser feito.

Comece criando uma ListBox com o nome listBox1 e adicione o código abaixo no evento Click de um botão:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e){
  // vamos adicionar alguns itens na ListBox
  listBox1.Items.Add("Java");
  listBox1.Items.Add("C++");
  listBox1.Items.Add("Delphi");
  listBox1.Items.Add("Python");
  listBox1.Items.Add("VB.NET");

  // vamos definir a seleção da lista como seleção múltipla
  listBox1.SelectionMode = SelectionMode.MultiExtended;
}

Em seguida coloque o trecho de código abaixo no evento Click de um segundo botão:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button2_Click(object sender, EventArgs e){
  // vamos obter a lista de itens selecionados
  ListBox.SelectedObjectCollection selecionados = 
    new ListBox.SelectedObjectCollection(listBox1);
  
  // vamos excluir todos os itens selecionados
  for(int i = selecionados.Count - 1; i >= 0; i--){
    listBox1.Items.Remove(selecionados[i]);
  }
}

Execute a aplicação e clique no primeiro botão. Isso fará com que alguns itens sejam inseridos na lista e seu modo de seleção seja definido como seleção múltipla. Agora selecione alguns itens e clique no segundo botão. Você verá que os itens selecionados são automaticamente excluídos.

O primeiro passo foi obter um objeto da classe ListBox.SelectedObjectCollection contendo apenas os itens selecionados na ListBox. Em seguida nós usamos um laço for para percorrer os itens do objeto ListBox.SelectedObjectCollection e fornecer o índice de cada item selecionado ao método Remove() da coleção de itens da ListBox. Esta coleção é uma instância da classe ListBox.ObjectCollection.

Há uma segunda forma de se excluir todos os itens da ListBox sem usar um objeto da classe ListBox.SelectedObjectCollection. Tudo que precisamos fazer é combinar os métodos GetSelected() da classe ListBox e o método RemoveAt() da coleção de itens (objeto da classe ListBox.ObjectCollection):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button2_Click(object sender, EventArgs e){
  // vamos excluir todos os itens selecionados
  for(int i = listBox1.Items.Count - 1; i >= 0; i--){
    // o item está selecionado?
    if(listBox1.GetSelected(i)){
      listBox1.Items.RemoveAt(i);
    }
  }
}



C# ::: Namespace System.Drawing ::: Graphics

Computação gráfica C# Windows Forms - Como desenhar em C# - A classe Graphics

Quantidade de visualizações: 7712 vezes
Qualquer um que queira iniciar os estudos e desenhos de gráficos em C# usando Windows Forms deve obrigatoriamente entender um pouco de GDI e GDI+. GDI é o acrônimo de Graphics Device Interface e GDI+ é o seu sucessor em versões mais recentes do Microsoft Windows. Com a indepedência do GDI+ podemos desenhar em um formulário, na tela ou impressora sem qualquer modificação no código. O próprio GDI+ se encarrega dos detalhes da implementação de cada um destes diferentes dispositivos.

O GDI+ é uma interface de programação de aplicações (API) que forma o sub-sistema do sistema operacional Microsoft Windows XP. Esta API é a responsável pela exibição de informações na tela e impressoras. O GDI+ é uma DLL Win32 chamada de gdiplus.dll que é distribuída com o Windows XP e versões mais recentes do Windows. Esta DLL está também disponível para uso em versões do Windows anteriores ao XP.

A plataforma .NET encapsula as funcionalidades do GDI+ nos seguintes namespaces: System.Drawing, System.Drawing.Drawing2D, System.Drawing.Imaging, System.Drawing.Text e System.Drawing.Printing.

Antes de iniciar seus desenhos em C# e Windows Forms, é importante entender o sistema de coordenadas do GDI+. Este sistema usa a medida de pixels ("picture elements"), que é a menor unidade de resolução no display de um monitor. Assim, o canto superior esquerdo de um controle GUI (um formulário, um painel, botão, etc) tem as coordenadas (0, 0), ou seja, x = 0 e y = 0. Lembre-se de que x é o eixo horizontal e y é o eixo vertical.

A classe Graphics, do pacote System.Drawing, é quem fornece boa parte dos métodos que usamos para desenhar em C# e Windows Forms. Veja sua posição na hierarquia de classes da plataforma .NET:

System.Object 
  System.MarshalByRefObject 
    System.Drawing.Graphics
Um objeto desta classe pode ser obtido com uma chamada ao método CreateGraphics() a partir de um objeto que herda de System.Windows.Forms.Control ou gerenciando o evento Paint do controle e acessando a propriedade Graphics da classe System.Windows.Forms.PaintEventArgs.

Veja um trecho de código no qual desenhamos uma linha horizontal no formulário a partir do clique de um botão:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

private void button1_Click(object sender, EventArgs e){
  // vamos obter o Graphics do formulário
  Graphics g = this.CreateGraphics();

  // vamos desenhar uma linha horizontal de 300 pixels na
  // cor preta e espessura de 1 pixel
  g.DrawLine(new Pen(Color.Black, 1), new Point(20, 80), 
    new Point(320, 80));

  // vamos liberar o objeto Graphics
  g.Dispose();
}



Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 75 usuários muito felizes estudando em nosso site.