Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: C# Básico

Um programa C# que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanas - Desafio de Programação Resolvido em C#

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

Escreva um programa C# que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre:

a) A idade da pessoa em anos;
b) A idade da pessoa em meses;
c) A idade da pessoa em dias;
d) A idade da pessoa em semanas.

Sua saída deverá ser parecida com:

Informe o ano de seu nascimento: 1985
Informe o ano atual: 2023
A idade em anos é: 38
A idade em meses é: 456
A idade em dias é: 13680
A idade em semanas é: 1976
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) {
      // vamos ler o ano de nascimento
      Console.Write("Informe o ano de seu nascimento: ");
      int ano_nascimento = Int32.Parse(Console.ReadLine());
      Console.Write("Informe o ano atual: ");
      int ano_atual = Int32.Parse(Console.ReadLine());

      // calcula a idade em anos
      int idade_anos = ano_atual - ano_nascimento;
      Console.WriteLine("\nA idade em anos é: " + idade_anos);

      // calcula a idade em meses
      int idade_meses = idade_anos * 12;
      Console.WriteLine("A idade em meses é: " + idade_meses);

      // calcula a idade em dias
      int idade_dias = idade_anos * 12 * 30;
      Console.WriteLine("A idade em dias é: " + idade_dias);

      // calcula a idade em semanas
      int idade_semanas = idade_anos * 52;
      Console.WriteLine("A idade em semanas é: " + idade_semanas);
      
      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Coleções (Collections) ::: ArrayList

Como adicionar itens ao final de uma ArrayList do C# usando o método Add()

Quantidade de visualizações: 10406 vezes
O método Add() da classe ArrayList do C# é usado quando queremos adicionar itens no final da lista. Este método aceita como parâmetro o elemento a ser adicionado. Este elemento é do tipo Object, ou seja, podemos inserir desde tipos primitivos até objetos de nossas próprias classes (incluindo o valor null), uma vez que estas também herdam de Object, direta ou indiretamente.

Note que o método Add() poderá atirar uma exceção do tipo NotSupportedException se a ArrayList for somente leitura ou possuir um tamanho fixo. Eis o código para o exemplo:

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

using System;
using System.Collections;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // Cria o ArrayList
      ArrayList nomes = new ArrayList();

      // Adiciona nomes de pessoas
      nomes.Add("Osmar J. Silva");
      nomes.Add("Carlos de Souza");
      nomes.Add("Mirian Fernanda Costa");

      // Percorre os elementos da ArrayList
      // usando o laço for
      for (int i = 0; i < nomes.Count; i++) {
        Console.Write("{0}\n", nomes[i]);
      }

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

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

Osmar J. Silva
Carlos de Souza
Mirian Fernanda Costa


C# ::: Coleções (Collections) ::: List<T>

Como usar a classe genérica List<T> do C# em suas aplicações

Quantidade de visualizações: 15448 vezes
A classe genérica List<T> da linguagem C# representa uma lista fortemente tipada de objetos que podem ser acessados por índices. Esta classe fornece métodos para pesquisar, ordenar e manipular seus elementos. Veja sua posição na hierarquia de classes da plataforma .NET:

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

System.Object
  System.Collections.Generic.List<T>
    System.ServiceModel.Install.Configuration.
  ServiceModelConfigurationSectionCollection
    System.ServiceModel.Install.Configuration.
  ServiceModelConfigurationSectionGroupCollection
    System.Workflow.ComponentModel.ActivityCollection
    System.Workflow.Activities.WorkflowRoleCollection
    System.Workflow.Activities.OperationParameterInfoCollection
    System.Workflow.ComponentModel.Design.
  ActivityDesignerGlyphCollection
    System.Workflow.Runtime.Tracking.ExtractCollection
    System.Workflow.Runtime.Tracking.TrackingAnnotationCollection
    System.Workflow.Runtime.Tracking.TrackingConditionCollection
    System.Workflow.Runtime.Tracking.ActivityTrackingLocationCollection
    System.Workflow.Runtime.Tracking.UserTrackingLocationCollection
    System.Workflow.Runtime.Tracking.ActivityTrackPointCollection
    System.Workflow.Runtime.Tracking.UserTrackPointCollection
    System.Workflow.Runtime.Tracking.WorkflowTrackPointCollection

Esta classe implementa também as interfaces IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection e IEnumerable.

A classe List<T> é a equivalente genérica da classe ArrayList. Ela implementa a interface genérica IList<T> usando um array (matriz) cujo tamanho é dinamicamente aumentado de acordo com a necessidade. Esta classe usa tanto um comparador de igualdade quanto um de ordenação.

Os métodos tais como Contains(), IndexOf(), LastIndexOf() e Remove() usam um comparador de igualdade para os elementos da lista. O comparador de igualdade padrão para o tipo T é definido segundo as seguintes regras: Se o tipo T implementar a interface genérica IEquatable<T>, então o comparador de igualdade é o método Equals(T) dessa interface. Caso contrário, o comparador de igualdade padrão é Object.Equals(Object).

Os métodos tais como BinarySearch() e Sort() usam um comparador de ordenação para os elementos da lista. O comparador padrão para o tipo T é definido da seguinte forma: Se o tipo T implementar a interface genérica IComparable<T>, então o comparador padrão é o método CompareTo(T) dessa interface. Caso contrário, se o tipo T implementar a interface não-genérica IComparable, então o comparador padrão é o método CompareTo(Object) dessa interface. Se o tipo T não implementar nenhuma destas duas interfaces, então não haverá comparador padrão, e um comparador ou delegate de comparação deve ser fornecido explicitamente.

Uma lista List<T> não fornece garantias quanto à sua ordenação. Devemos ordená-la por conta própria antes de efetuar algumas operações (tais como BinarySearch) que exigem que a List<T> esteja ordenada. Os elementos em uma coleção do tipo List<T> podem ser acessados usando índices (que começam a partir de 0). Uma List<T> aceita o valor null como valor válido para tipos referência e aceita elementos duplicados.

Em relação à performance, a documentação do .NET afirma que, embora List<T> e ArrayList possuam funcionalidade semelhante, a classe List<T> possui uma performance melhor na maioria dos casos, além de ser type safe (oferece segurança de tipos).

Veja um trecho de código no qual criamos uma List<T> de inteiros, inserimos alguns valores e usamos o laço foreach para percorrer a lista e exibir os valores dos elementos:

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

static void Main(string[] args){
  // vamos criar um objeto da classe List<T>
  List<int> valores = new List<int>();

  // vamos inserir três valores na lista
  valores.Add(5);
  valores.Add(2);
  valores.Add(9);

  // vamos usar o laço foreach para percorrer os elementos
  // na lista
  foreach(int v in valores){
    Console.WriteLine(v);    
  }

  // vamos pausar a execução
  Console.ReadKey();
}



C# ::: Dicas & Truques ::: Strings e Caracteres

Como substituir todas as ocorrências de caracteres ou substrings em uma string C# usando o método Replace() da classe String

Quantidade de visualizações: 10459 vezes
Em várias situações nós precisamos substituir as ocorrências de uma letra ou parte de palavras ou frases. Para isso nós podemos usar o método Replace() da classe String da linguagem C#. Este método recebe o caractere ou substring a ser substituído e o novo caractere ou substring, e retorna uma nova String.

Veja um trecho de código C# que mostra como substituir todas
as ocorrências de caracteres ou substrings em uma string:

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

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // uma frase
      string frase = "Gosto muito de C# pois C# é bom demais";

      // substitui "C#" por "VB.NET"
      string frase2 = frase.Replace("C#", "VB.NET");

      // mostra o resultado
      Console.WriteLine("Frase original: " + frase);
      Console.WriteLine("Com substituições: " + frase2);

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

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

Frase original: Gosto muito de C# pois C# é bom demais
Com substituições: Gosto muito de VB.NET pois VB.NET é bom demais


Vamos testar seus conhecimentos em Ética e Legislação Profissional

Noções de licitação pública

Tipo de licitação é a forma como se dará o julgamento das propostas e a escolha do vencedor.

Em relação aos tipos e às modalidades da licitação pública, leia com atenção a afirmativa a seguir:

O _________ será sempre pelo tipo ____________; o __________ será sempre pelo tipo _____________; o _____________ não será por nenhum tipo; já as demais modalidades podem ser por qualquer tipo, sendo a regra o menor preço.

Marque a alternativa que preenche as lacunas de forma correta.

A) leilão - menor preço - pregão - maior lance ou oferta - concorrência.

B) pregão - menor preço - leilão - maior lance ou oferta - concurso.

C) concurso - melhor técnica - leilão - técnica e preço - convite.

D) pregão - técnica e preço - leilão - maior lance ou oferta - concurso.

E) concurso - menor preço - leilão maior lance ou oferta - convite.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

A linguagem JavaScript diferencia letras maiúsculas de letras minúsculas (case-sensitive)?

A) Sim

B) Não
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Água Fria: Reservatórios

O consumo diário de uma edificação pode variar de acordo com diversos fatores. Sobre as considerações relacionadas ao consumo diário e capacidade de reservatório de uma edificação é correto afirmar:

A) O consumo per capita é o consumo da edificação a ser considerado no dimensionamento do reservatório.

B) A capacidade de um reservatório deve ser calculada pelo tamanho da edificação, independentemente da taxa de ocupação.

C) A NBR 5.626 orienta que a capacidade do reservatório deve ficar entre 1 e 3 o consumo diário da edificação.

D) O consumo per capita não varia com as condições socioeconômicas, mas sim com o clima do local.

E) As reservas extras já estão incluídas no consumo total da edificação quando calculada em função do consumo per capita e da taxa de ocupação.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Ética, Legislação e Entidades que regulamentam a profissão

Você estudou sobre a aplicação do método de solução de problemas de engenharia para fins de análise e solução de dilemas éticos na profissão. Com base nessa ferramenta, as alternativas abaixo apresentam etapas de análise e solução de problemas éticos, exceto:

A) Definição do problema e determinação dos objetivos.

B) Identificação de soluções alternativas e de restrições.

C) Escolha de uma solução e testes de potenciais impactos da solução.

D) Negociação e aprovação da solução pelo ente envolvido, a fim de evitar atritos.

E) Documentação e comunicação da solução.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Materiais empregados para instalação de água fria e esgoto

O Programa Brasileiro da Qualidade e Produtividade do Habitat - PBQP-H tem como uma de suas atribuições qualificar fornecedores de materiais para a construção civil, incluindo fabricantes de tubos e conexões de água fria e esgoto, tendo como diretrizes as Normas Técnicas Brasileiras (ABNT), especificamente a ABNT NBR 5626 para instalação predial de água fria e a ABNT NBR 8160 para sistemas prediais de esgoto sanitário. Nesse sentido, quanto à bitola de tubos e conexões para água fria e esgoto, é correto afirmar que:

A) cada fabricante segue sua padronização, o que evita o encaixe de seus tubos e conexões com as de outros fabricantes.

B) há uma combinação entre fabricantes parceiros, que comunicam o PBQP-H de suas parcerias e, então, fabricam peças com especificações dimensionais diferenciadas da concorrência.

C) tubos e conexões são produzidos com diâmetros e tolerâncias conforme as Normas, com definição de espessura de parede, o que permite que sejam encaixados independentemente de fabricante.

D) As normas citadas atendem especificamente à questão das cores dos tubos, de acordo com a aplicação.

E) Em função das normas citadas, o construtor pode importar tubos de conexões de países que atendam às normas ISO e DIN.
Verificar Resposta Estudar Cards Todas as Questões

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: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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