Tutorial C# – III – Introdução às Console Applications

31 Comentários

Na continuidade dos tutoriais de C#, decidi hoje introduzir uma novidade. As Console Application. Até agora os tutoriais foram sobretudo orientados às Windows Applications, mas hoje será relacionado com as Console Application.

Certamente muitos de vós estão a suspirar pelos tutoriais mais difíceis, mas como estes tutoriais ainda são de iniciação, servem sobretudo para aprender as noções básicas sobre C# para quem não sabe este tipo de linguagem.

Dito isto, vamos então começar a programar.
Vamos dar uma ajuda a muita gente, o tema do tutorial é sobre tabuada. O código que será escrito serve para no fim apresentar a tabuada de um número inteiro entre 1 e 9. O número será escolhido pelo utilizador.
Como se trata de uma Console Application, é necessário escolher essa opção.

– Crie um novo projecto e escolha Console Application

 

Irá poder verificar que agora já não existe nenhum lugar para colocar “botões”, “textbox” e outros elementos gráficos. Pois nas Console Application a apresentação dos resultados é tipo “DOS”.

O código deve ser escrito dentro das chavetas do static void.

Vamos criar duas variáveis de inteiros.

Uma variável para “guardar” o número que o utilizador escolher, e uma variável para contar o número de vezes que já foi feito o cálculo, isto é, como a tabuada acaba aos “10”, é necessário o programa saber quando acaba.

– Crie a variável int numero e int contador

Não se esqueça de atribuir o valo 0 (zero) às variáveis.

int numero = 0 ;
int contador = 0;

Enquanto nas Windows Application tem botões e textbox para inserir números, nas Console Application isso não acontece.

Neste caso, para poder “aparecer” algo no ecrã da console, e para escrever o número terá de usar a classe Console.

Vamos então permitir ao utilizador inserir um número.

– Para isso escreva Console e de seguida coloque um ponto (.)

Irá verificar que surgiram bastantes opções para a classe.

– Neste caso vamos usar a WriteLine (Console.WriteLine)

Como o próprio nome indica, “linha para escrever”.

Com este código podemos acrescentar a pergunta que queremos que seja mostrada.

Para isso coloque:

* Console.WriteLine (“Introduza o número da tabuada que quer saber?”);

Como já foi explicado em tutoriais anteriores, não se esqueça de colocar as aspas, pois é uma string.

Se pressionar o CTRL + F5, o resultado deverá ser igual à imagem seguinte.

Agora é necessário fazer com que o programa saiba qual foi o número que o utilizador introduziu.

Para isso teremos de acrescentar o seguinte código.

– numero = Int32.Parse(Console.ReadLine());

Este código faz o seguinte:

  • Atribui à variável numero, o valor inserido pelo utilizador.
  • Converte o número introduzido num inteiro (Int32.Parse).
  • O Console.ReadLine faz com que o programa “leia a linha”

Agora que o programa já “sabe” o número que foi introduzido, vamos fazer com que a validação seja feita.

Como foi mencionado no início, o utilizador só poderá introduzir um valor entre 1 e 10.

Para esta validação, vamos precisar do if e do else.

A lógica de pensamento é:

Se o número for igual ou inferior a 0 ou o número for superior a 10

O programa avisa que o número está fora do permitido.

Senão

Elabora a tabuada enquanto não atingir 10 resultados

Apresenta os números referentes à tabuada.

– A expressão “ou” em C# escreve-se com o código ||

O código será:

if (numero <= 0 || numero > 10)

{

Console.WriteLine(“O número inválido. Fora do intervalo”);

}

else

 

while (contador <= 10)

{

Console.WriteLine(numero + ” x ” + contador + ” = ” + numero * contador);

contador = contador + 1;

}

Uma nota importante é o facto de se a primeira validação (se o número está entre os parâmetros permitidos) estiver correcta, ele “saltará” para o While.

No While verifica se já foram atingidos todos os ciclos (10). Ao apresentar os resultados, e como o faz individualmente, indica ao contador que foi contabilizado mais um número (contador = contador +1).

Assim, o resultado apresentado será:

O número introduzido (variável numero) vezes (*) o variável contador.

Como deve ter reparado, no código para apresentar o resultado o código tem:

(…) numero + ” x ” + contador + ” = ” + (…)

Isto serve exclusivamente para adicionar texto entre variáveis para que seja possível o resultado ficar igual a 8 x 1 = 8.

8 (variável numero) x 1 (variável contador) = 8.

– Pressione as teclas CTRL + F5

E o resultado final será:

Apesar de todos sabermos a tabuada (penso eu), este tutorial serviu exclusivamente para apresentar o código em Console Application. Os tutoriais seguintes serão orientados às Windows Application.

Na próxima semana o tema será base de dados, em que o objectivo é fazer uma simples ligação entre o programa e uma base de dados. Também servirá para dar início à construção de um pequeno programa, para funcionar como o nosso gestor de CDs ou Livros.

Espero que tenham gostado.

Partilhar:
Tags:

Comentários

31

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Gerardo
    Gerardo

    Gostaria de fazer uma sugestão. Trabalho em informática e tenho montes de keys da empresa (todas legais CLARO 🙂 ).

    Será que em vez de fazeres um gestor de livros e/ou CD’s, que existem milhares por ai. Não poderias fazer um gestor de serials/keys?

    Tipo: programa – versão – se já foi utilizada ou não – etc.
    Com possibilidade de N keys por programa?

    É que já procurei por ai e nunca encontrei nada do tipo encontrei. Tenho as serials num exel.
    Talvez este programa desse jeito a muita gente (a mim dava com certeza). E ficavamos a saber o mesmo do que com o gestor de livros/cd’s.

    É a minha sugestão.

    PS: A minhas serials e keys são todas legais, OK? 🙂

  2. Avatar de Ice
    Ice

    @Gerardo,

    não seria mais intuitivo da tua parte na próxima semana baseares-te no que aprendeste e a partir daí fazer tu mesmo o tal gestor de keys?

    Estes tutorais destinam-se a quem quer aprender C#, não propriamente (e perdoem-me a expressão) fazer a papinha toda.

    Esta é a minha sugestão para ti.

  3. Avatar de Ze das Couves
    Ze das Couves

    Acho que devias ter começado exactamente pelas console applications e não pelas window applications, ao menos é o que normalmente se lecciona a nível universitário, e como fui ensinado em relação ao Java.

  4. Avatar de Ze das Couves
    Ze das Couves

    Ja agora para quando um tutorial Java?, eu por mim até podia contribuir com umas bases ja que sou muito bom nessa linguagem

  5. Avatar de Pedro Pinto
    Pedro Pinto

    Bom trabalho

  6. Avatar de Pedro

    No meu só aparece isto

    Module Module1

    Sub Main()

    End Sub

    End Module

    E dá erro em todos os sítios que eu puser as variáveis….
    Tenho o Microsoft Visual 2008 Express Edition (Inglês)

  7. Avatar de Hélio Moreira
    Hélio Moreira

    @Pedro

    Olá Pedro, tens o a versão Express do C# instalada?

    Cumps.

  8. Avatar de Pedro

    Penso que não.
    Mais logo vou ver se arranjo o programa então.

    Obrigado 😉

  9. Avatar de Ricardo Lourenço
    Ricardo Lourenço

    @Pedro, nao estaras a criar um projecto de visual basic em vez de c#?

  10. Avatar de Nuno
    Nuno

    O gajo da foto tem uns dedos dos pés muito esquisitos 😀

  11. Avatar de Shogun
    Shogun

    Apresentas-te o while neste tutorial, mas não explicaste o que é nem como funciona,penso que poderias também ter colocado os outros ciclos que existem,mas eu pecebo que isso poderá vir noutro tutorial,é apenas uma sugestão,sem caires no exagero penso que deves sp apresentar o maximo de informacao teorica as cenas novas que colocas,ajudaria a compreender um pouco melhor,senao e quase como ver e fazer igual.

    Parabens pelos tutoriais,espero n desmotivar com os meus comentarios,apenas quero tentar ajudar a melhorares alguns aspectos caso concordes cmg.

  12. Avatar de Hélio Moreira
    Hélio Moreira

    @Shogun

    Concordo. Vou corrigir essa parte (teórica) nos próximos tutoriais. Embora penso que ao dizer “No While verifica se já foram atingidos todos os ciclos (10). “, Mas eu penso em explicar melhor o ciclo While posteriormente. Pois como deves saber, normalmente o ciclo while é composto por “do” “while”. “faz (determinada operação)” “enquanto (não atingir o valor desejado)”.

    Mas obrigado pela dica/critica.

  13. Avatar de Aikon

    Pessoal, quem se interessa em criar um forum de discussão sobre linguagens de programação entre outros assuntos ?

    Tenho aplicativo de um forum pronto, só falta hospedar em um servidor com apache tomcat 5.5 e banco de dados MySql

    acho que poderia ser legal.

    Att
    Aikon

  14. Avatar de Mário
    Mário

    Gostei do artigo, acho que da para perceber os conceitos se bem que tentar aprender a programar apenas por aqui e bastante complicado.
    Já agora corrige a frase “* Console.WriteLine (“Introduza o número da numero que quer saber?”);” em vez de “numero” deverias querer dizer “tabuada”.

    Bom trabalho

  15. Avatar de Nelson N
    Nelson N

    Escrevi tudo certo (penso eu) e o resultado e:
    8 x 0 = 0
    8 x 0 = 0
    e assim indefinidamente.
    se introduzir 0 ou 12 o programa pára a dizer que está fora de intervalo;
    quer isto dizer que até aqui está certo. Acho que não lê contador = contador + 1, que é a última linha certo?
    obrigado!

  16. Avatar de Hélio Moreira
    Hélio Moreira

    @Nelson N

    Confirma se as chavetas estão correctas.Pois as chavetas fazem com que o ciclo funcione ou não. Ele não está a contabilizar as vezes que calculou.

    Cumps.

  17. Avatar de takas
    takas

    boas… eu ate estou a ter aulas de programação e estamos a começar a dar c# através da console, e ate gostava de estudar um pouco nas ferias, mas não tenho ideias sobre exercícios para fazer…. alguém da uma dica?

  18. Avatar de Shogun
    Shogun

    Comeca por fazer um interpretador de comandos,quando estiver vem ca k eu doute mais exercicios 😉

    Interpretador de comandos:

    – Apresentar um menu ao utilizador com os comandos disponiveis;
    – Ler da consola a opcao escolhida pelo utilizador;
    – Efectuar a operacao descrita na opcao e no fim voltar para o menu;
    – Colocar duas opcoes essenciais: Sair e Ajuda.

    Exemplo:

    1 – Calculadora
    2 – Lista de software
    3 – Ajuda
    4 – Sair

    escolha uma opcao: _

    Kd tiveres isso a funcionar avisa 😉 ou entao kk duvida k tenhas, mas antes de perguntares pensa bem.

  19. Avatar de Luis
    Luis

    Acho que deviam tratar o caso de quando o utilizador insere um outro caracter, diferente de um número inteiro. Neste exemplo, se inserirem uma letra, lança uma excepção.
    Acreditem que quando o programa à dado para o cliente testar ele encontra sempre exemplos de o crashar, com coisas que nem sequer passam na cabeça de quem cria o programa.

    Cheers

  20. Avatar de Hélio Moreira
    Hélio Moreira

    @Luis

    Olá Luís,

    O tratamento de excepções / validações será certamente apresentado posteriormente, mas neste início os tutoriais servem exclusivamente para “apresentar” o C# a quem ainda teve pouco contacto com esta linguagem de programação. De qualquer forma agradeço o teu comentário.

    Cumps.

  21. Avatar de Shogun
    Shogun

    @Luis

    Para isso existem os testes unitarios 😉

  22. Avatar de Vicente
    Vicente

    Muito BOm seu tutorial..
    Parabens!!

  23. Avatar de Guilherme
    Guilherme

    gostaria que colocasses o código com pequenos comentários para possibilitar uma melhor compreensão.
    o seu tutoral é interessante parabens!!

  24. Avatar de Marcelo
    Marcelo

    Ótimos tutoriais! Comecei a futucar no C# com a ajuda dos 3 que constam nesse site e estou ansioso para ver os seguintes. Quando teremos? hehehe…

    Parabéns aê! Está de forma bem simples mesmo!

  25. Avatar de Jefferson
    Jefferson

    Ops aí vai o código com algumas observações pra melhor compreensão.

    #include “biblioteca de comandos”

    int main() {
    int a, b, c; “Declaração de variáveis”

    a = 0;
    b = 0;
    c = 0;

    printf(“Digite um numero para saber sua respectiva tabuada!\n”); “Mensagem que aparece na tela. A barra invertida seguida de um ‘n’ é para pular uma linha”
    scanf(“%i”, &a); “O ‘scanf’ grava o valor digitado na variavel”

    do{ “O ‘do’ quer dizer ‘faça’ é uma estrutura de repetição”
    c = a * b;

    printf(“%i X %i = %i”, a, b, c);

    b++; “este valor é encrementado a cada repetição”
    printf(“\n”); “pula uma linha”

    }while(b < 11); “while quer dizer enquanto.. Então junto com o ‘do’ isso tudo fica assim: Faça esses comandos em quanto b for menor que 11”
    scanf(“%i”, &a); “ISSO EU SÓ USO PARA PARAR A TELA DEPOIS QUE TODOS OS COMANDOS SÃO EXECUTADOS”
    }

  26. Avatar de Francisco
    Francisco

    Não sei porquê aparecem muitos erros. Tudo o que seja aspas…

  27. Avatar de Tiago C
    Tiago C

    Legal, para quem ta começando é uma ótima ajuda

    😉

  28. Avatar de Anderson Lopez
    Anderson Lopez

    Cara,

    Adorei seu tutorial, comecei a ler desde o primeiro e estou começando a mexer com C#!

    Agradeço exclusivamente a simplicidade dos tutoriais, pois estou começando do básico, e estou simplesmente fascinado com o C#.

    Simplesmente Genial 😀

    Obrigado, espero seguir todos os tutoriais, e aprender com facilidade e utilidade essa linguagem.

    Abraço (de um leitor BR)

  29. Avatar de daniel
    daniel

    sera que alguem me pode ajudar a alterar este codigo e se puder ja com o codigo feito pois e pequeno o resto faço eu
    em console c# no menu enves de o utilizador introduzir 1 ,2 e 3 andar com as setas para o la e depois apareçer uma seta ou algo para dizer onde esta
    agradeço que me respondam para daniel-ribeiro13@hotmail.com
    o mini menu e este:

    Console.WriteLine(” ___________________________”);
    Console.WriteLine(“| |”);
    Console.WriteLine(“| 1-Alterar cor fundo |”);
    Console.WriteLine(“| |”);
    Console.WriteLine(“| 2-Alterar cor letra |”);
    Console.WriteLine(“| |”);
    Console.WriteLine(“| 3-Voltar atras |”);
    Console.WriteLine(“|___________________________|”);

  30. Avatar de Tiago Medrado
    Tiago Medrado

    Parabéns amigo muito bom seu tutorial me ajudou muito.

  31. Avatar de Marcelino Ribeiro
    Marcelino Ribeiro

    Como inserir dados em uma base de dados – DATA SET (Tabela) a partir do console application? Criei uma base no sql server, transferir a tabela para o applicativo criando um data set, mas não sei como gerar os códigos para quando necessário o usuário enviar os dados para o banco, fazer consulta etc.
    Já fiz pesquisa na net mas encontro apenas no windows form.
    Desde já agradeço.