Skip to content

Repositório para os exercícios e projetos em C# que estou aprendendo.

Notifications You must be signed in to change notification settings

CarlosEduSL/Exercicios-CSharp

Repository files navigation

Projetos e Exercícios em C#

Este repositório contém os códigos dos exercícios e projetos que desenvolvi na plataforma da DIO, no bootcamp da XP de Full Stack Developer. Os exemplos incluem desde operações matemáticas simples até o uso de classes e estruturas condicionais mais avançadas, refletindo a aplicação de conceitos essenciais da linguagem de programação C# em cenários práticos.

Conceitos e Funcionalidades Explorados:

1. Operações Matemáticas e Funções Trigonométricas

  • Criação de uma classe Calculadora com métodos para realizar operações aritméticas básicas como:
    • Soma, subtração, multiplicação e divisão.
    • Potência e raiz quadrada.
    • Cálculo de funções trigonométricas como seno, cosseno e tangente, mostrando a versatilidade da matemática em C#.

2. Manipulação de Variáveis com Operadores de Incremento e Decremento

  • Demonstração do uso de operadores de incremento (++) e decremento (--) para modificar variáveis em diversas situações, mostrando como essas operações afetam o fluxo do programa.

3. Estruturas de Controle de Fluxo: Condicionais

  • Utilização de estruturas condicionais if, else if, else com operadores lógicos (&&, ||, !) para criar lógicas em cenários como:
    • Decisão com base em condições meteorológicas (pedalar ou não).
    • Verificação de aprovação escolar com base em presença e média.
    • Controle de acesso a um evento com base em idade e autorização.

4. Switch Case: Verificação de Vogais

  • Aplicação da estrutura switch para identificar se uma letra é uma vogal, com múltiplos casos e uma alternativa usando if-else, comparando diferentes abordagens de controle de fluxo.

5. Conversão de Tipos de Dados (Casting)

  • Exemplos de conversão segura de tipos utilizando:
    • Métodos como Convert.ToInt32 e int.Parse.
    • int.TryParse para garantir que o código não seja interrompido por erros de conversão.
    • Demonstração de conversões implícitas e explícitas entre tipos numéricos como int, double, e long.

6. Manipulação de Datas com DateTime

  • Uso da classe DateTime para manipular datas e realizar operações, como adicionar dias a uma data atual e exibir a data formatada em diferentes padrões (ddMMyyyy HH:mm).

7. Trabalhando com Strings e Interpolação

  • Utilização de strings, concatenando textos com variáveis e formatando valores numéricos com o método ToString. Interpolação de strings para facilitar a leitura e modificação do código.

8. Orientação a Objetos: Criação de Classes e Métodos

  • Definição de uma classe Pessoa, com atributos como Nome e Idade, e um método Apresentar() para exibir informações. Demonstração da instância de objetos e da utilização de métodos públicos.

9. Controle de Estoque e Simulação de Vendas

  • Implementação de uma lógica para controle de estoque, verificando se a quantidade disponível é suficiente para a venda e tratando cenários de venda inválida com mensagens apropriadas.

10. Tratamento de Erros e Exceções

  • Exemplo de como evitar falhas no programa ao tentar converter tipos de dados, com o uso de TryParse para garantir que o código continue a ser executado mesmo em caso de erro na conversão.

11. Estruturas de Repetição e Controle de Fluxo Avançado

  • Criação de menus interativos utilizando estruturas de repetição while e do-while.
    • Menu para cadastro, busca e exclusão de clientes.
    • Soma de números até que o usuário digite 0.
    • Tabela de multiplicação com controle de interrupção (break).
  • Utilização de for e foreach para percorrer elementos de listas e arrays.

12. Listas e Arrays: Manipulação e Operações

  • Criação e manipulação de listas genéricas utilizando List<T>:
    • Adição e remoção de elementos.
    • Exibição de itens e capacidade da lista.
    • Iteração com for e foreach.
  • Manipulação de arrays:
    • Redimensionamento de arrays com Array.Resize e Array.Copy.
    • Iteração eficiente usando for e foreach.

Objetivo do Repositório

Este repositório foi criado para documentar e compartilhar minha jornada de aprendizado em C#, consolidando conceitos fundamentais de programação orientada a objetos, controle de fluxo e manipulação de dados. Cada exercício aqui presente é uma oportunidade de aplicar as melhores práticas de codificação e demonstrar a aplicabilidade do C# em diferentes cenários. Espero que este repositório sirva como referência para outros desenvolvedores em início de carreira e como base para futuros projetos mais avançados.

About

Repositório para os exercícios e projetos em C# que estou aprendendo.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages