Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: C# Básico |
Como retornar o resto da divisão entre dois números inteiros sem usar o operador de módulo - Lista de Exercícios Resolvidos de C#Quantidade de visualizações: 418 vezes |
Pergunta/Tarefa: Sempre que o assunto é calcular o resto da divisão entre dois números inteiros em C#, a primeira coisa que vem à nossa mente é usar o operador de módulo (%). Mas você sabia que é possível efetuar essa tarefa sem usar este operador? Vamos ao desafio então. Escreva um programa C# que pede para o usuário informar dois números inteiros e mostre o resto da divisão entre os dois sem usar o operador de módulo. Seu código não poderá usar funções matemáticas prontas, apenas os demais operadores aritméticos fornecidos pela linguagem C#. Sua saída deverá ser parecida com: Primeiro número inteiro: 11 Segundo número inteiro: 7 O resto da divisão é: 4 Primeiro número inteiro: 9 Segundo número inteiro: 2 O resto da divisão é: 1 Primeiro número inteiro: 13 Segundo número inteiro: 5 O resto da divisão é: 3 Veja a resolução comentada deste exercício em 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 a, b, resto; // vamos ler os dois números inteiros Console.Write("Primeiro número inteiro: "); a = Int32.Parse(Console.ReadLine()); Console.Write("Segundo número inteiro: "); b = Int32.Parse(Console.ReadLine()); // agora vamos calcular o resto da divisão resto = a - ((a / b) * b); // e mostramos o resultado Console.WriteLine("O resto da divisão é: " + resto); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
![]() |
C# ::: Namespace System.Windows.Forms ::: Formulários e Janelas |
Como definir uma imagem de fundo para um formulário C# Windows Forms usando a propriedade BackgroundImageQuantidade de visualizações: 14061 vezes |
Formulários Windows Forms podem conter uma imagem de fundo. Isso pode ser feito por meio da propriedade BackgroundImage. Em tempo de design, só precisamos clicar no formulário, acessar a janela de propriedades (Properties) e modificar o valor da propriedade BackgroundImage. Quando clicamos no botão ao lado do valor da propriedade, temos acesso à janela Select Resource. Deixe a opção Project resource file marcada e clique o botão Import. Selecione a imagem que você deseja usar e clique o botão OK. Imediatamente a imagem importada será aplicada ao fundo do formulário. É importante observar que esta forma de adicionar a imagem de fundo evita que tenhamos que enviar a imagem juntamente com nossa aplicação. Como a imagem importada fará parte do Resources da aplicação, ela será compilada e fará parte do .exe resultante. É possível também carregar uma imagem e colocá-la como fundo para um formulário em tempo de execução. Veja um trecho de código no qual carregamos uma imagem JPG localizada em uma pasta imagens no mesmo diretório do .exe da aplicaçã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){ // using System.IO; this.BackgroundImage = new Bitmap(Path.GetDirectoryName( Application.ExecutablePath) + @"\imagens\foto.jpg"); } |
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array de strings em ordem alfabética em C# usando a classe StringComparerQuantidade de visualizações: 17475 vezes |
Nesta dica mostrarei como classificar um vetor de strings C# em ordem alfabética. Para isso nós vamos usar um objeto da classe StringComparer. Veja o código completo para o exemplo: ---------------------------------------------------------------------- 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) { // cria e inicializa um array de strings string[] cidades = {"Goiânia", "São Paulo", "Rio de Janeiro", "Curitiba"}; Console.WriteLine("Ordem original:"); for (int i = 0; i < cidades.Length; i++) { Console.WriteLine(cidades[i]); } // vamos criar um objeto da classe StringComparer StringComparer ordenar = StringComparer.CurrentCultureIgnoreCase; // agora classificamos o vetor em ordem alfabética Array.Sort(cidades, ordenar); Console.WriteLine(); Console.WriteLine("Ordem alfabética:"); for (int i = 0; i < cidades.Length; i++) { Console.WriteLine(cidades[i]); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Goiânia São Paulo Rio de Janeiro Curitiba Ordem alfabética: Curitiba Goiânia Rio de Janeiro São Paulo |
C# ::: Windows Forms ::: TextBox |
C# Windows Forms Avançado - Como rolar as linhas de um TextBox para baixo uma de cada vez usando a API do WindowsQuantidade de visualizações: 7172 vezes |
Em algumas situações gostaríamos de rolar para baixo o conteúdo de um TextBox de múltiplas linhas uma linha de cada vez. Para isso podemos usar a API do Windows, mais especificamente a mensagem WM_VSCROLL com o valor SB_LINEDOWN para seu parâmetro wParam. O valor do parâmetro lParam é zero. Veja um trecho de código que rola para baixo o conteúdo de um TextBox uma linha de cada vez. Antes de executar este exemplo, tenha a certeza de ter um TextBox de múltiplas, com barras de rolagem e conteúdo que force o aparecimento das barras de rolagem. Comece adicionando a linha: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System.Runtime.InteropServices; na seção de usings do seu formulário ou classe. Em seguida adicione o trecho de código abaixo no corpo da classe, como um método: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- [DllImport("user32.dll", EntryPoint = "SendMessage", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); Finalmente coloque 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 button2_Click(object sender, EventArgs e){ // antes de executar este exemplo certifique-se de que // a propriedade Multiline do TextBox esteja definida // como true e a propriedade ScrollBars contenha o valor // Vertical ou Both textBox1.Multiline = true; textBox1.ScrollBars = ScrollBars.Vertical; // constante para a mensagem WM_VSCROLL const uint WM_VSCROLL = 0x115; // constante para o parâmetro wParam const int SB_LINEDOWN = 1; // handle para a caixa de texto IntPtr handle = textBox1.Handle; IntPtr wParam = (IntPtr)SB_LINEDOWN; IntPtr lParam = IntPtr.Zero; // vamos fazer com que o TextBox role uma linha para baixo SendMessage(textBox1.Handle, WM_VSCROLL, wParam, lParam); } |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |