Buscar

Meu_Primeiro_Programa_de_Verdade

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Meu Primeiro Programa de Verdade 
 
Usando a linguagem de programação C/C++ escreva um programa que recebe um nome 
completo e imprime, em uma janela de console, no Windows 10, apenas as letras ímpares deste 
nome. Considere o zero como sendo o primeiro número par. 
Solução no Visual Studio 
 
Entre a linha 1 e a linha 5 está um conjunto de bibliotecas incluídas para que você não 
tenha problemas na maior parte dos exercícios que faremos nesta disciplina. Você deve testar 
se todas elas são realmente necessárias. Retirando uma de cada vez e compilando novamente. 
Na linha 7 começa a função main(), lembre-se que esta função é necessária para que os 
programas criados a partir deste código possam ser executados no sistema operacional onde o 
seu programa irá rodar, neste caso, no Windows 10. Sem a função main() o sistema operacional 
não sabe onde o seu programa começa. Observe que optei por uma função bem simples, retorna 
um inteiro e não recebe nenhum argumento. 
As linhas 8 e 9 são usadas apenas para declarar as variáveis. Verifique se todas as 
variáveis declaradas são necessárias para o código. 
A linha 10 escreve a mensagem “informe um nome:” sem as aspas na janela do console; 
A linha 11 usa a função gets_s() para armazenar todos os caracteres digitados no 
teclado, até que você pressione a tecla Enter, no vetor (array) frase, de comprimento 100. 
Observe que o Visual Studio não permite o uso de funções que sejam depreciadas pela 
linguagem de programação. Algumas funções são depreciadas, de tempos em tempos, pelos 
mantenedores da linguagem quando é encontrado algum problema de segurança na linguagem. 
Sendo assim, usei a função gets_s() em lugar da antiga gets(). Tente usar o gets(). 
A linha 12, usa uma função strlen() para carregar na variável tam o comprimento da 
string carregada em frase. Você sabe onde está esta função? Em que biblioteca? 
A linha 14 usa a função printf() para imprimir uma mensagem na tela. Observe que 
utilizei, nesta linha, um caractere de controle dentro da mensagem: o “\n”. Apesar de termos 
dois caracteres “\” e “n”, o conjunto destes caracteres no seu código representará apenas um 
caractere ASCII no seu programa o caractere CR/LF (hex 0A). Faça experiências, trocando o “\n” 
de posição para ver o que acontece com a mensagem. 
As linhas 15, 16, 17, 18 e 19 são usadas para encontrar os caracteres ímpares. 
Como ficaria este código se eu quisesse os caracteres pares? 
A próxima linha interessante é a linha 22. Nesta linha eu utilizo a função 
system() para parar o programa e imprimir na tela a mensagem: “Pressione qualquer 
tecla para continuar...”. Você consegue descobrir em qual biblioteca está esta função? 
Solução no Dev-C++ 
 
Observe que o código é um pouco diferente. O Dev-C++ não se importa, por padrão, se 
você está usando uma função depreciada ou não. Teste este código e veja se ele funciona com 
a função gets_s(). Usei a função gets() neste código, de propósito para que você, na sua vida 
profissional, tome cuidado com estas funções que são inseguras. 
Uma observação muito importante 
Note que tomei o cuidado de não utilizar caracteres acentuados. O processo de 
acentuação no Windows 10 é um pouco complicado. Na verdade, isto é complicado em qualquer 
sistema operacional. Em outros exemplos, mais para o fim do seu curso, eu vou colocar estes 
caracteres acentuados. Afinal, falamos o bom e velho Português.

Outros materiais