Tutorial C# – III – Introdução às Console Applications
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.
Este artigo tem mais de um ano
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? 🙂
@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.
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.
Ja agora para quando um tutorial Java?, eu por mim até podia contribuir com umas bases ja que sou muito bom nessa linguagem
Bom trabalho
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)
@Pedro
Olá Pedro, tens o a versão Express do C# instalada?
Cumps.
Penso que não.
Mais logo vou ver se arranjo o programa então.
Obrigado 😉
@Pedro, nao estaras a criar um projecto de visual basic em vez de c#?
O gajo da foto tem uns dedos dos pés muito esquisitos 😀
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.
@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.
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
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
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!
@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.
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?
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.
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
@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.
@Luis
Para isso existem os testes unitarios 😉
Muito BOm seu tutorial..
Parabens!!
gostaria que colocasses o código com pequenos comentários para possibilitar uma melhor compreensão.
o seu tutoral é interessante parabens!!
Ó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!
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”
}
Não sei porquê aparecem muitos erros. Tudo o que seja aspas…
Legal, para quem ta começando é uma ótima ajuda
😉
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)
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(“|___________________________|”);
Parabéns amigo muito bom seu tutorial me ajudou muito.
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.