[C/C++] Funções de Entrada em C
2 participantes
- covital
Membro VIP - Idade : 27
Posts : 2107
Créditos : 0
Respeito : 18
God damn asshole
[C/C++] Funções de Entrada em C
Ter 18 Dez 2012, 19:35
Funções de entrada
A entrada de dados é algo muito importante para qualquer programa, que deve ser usado em conjunto com uma função de saída.
A função de saída deve induzir o usuário a fazer uma ação, e a função de entrada é que vai armazenar esta ação do usuário.
Função de Entrada de C
As funções de entrada de C são encontradas na biblioteca padrão de entrada/saída, a STDIO.H.
Toda entrada de dado deve ser armazenada em um endereço de uma variável.
A entrada de entrada de dados é controlada pela função SCANF.
Todas as entradas que devem ser armazenadas devem estar entre aspas identificadas por uma máscara e para cada máscara deve conter um endereço de uma variável.
Para indicar o endereço de uma variável basta antes do nome da variável colocar o caracter que indica endereço, o "E comercial" (&).
Você também pode especificar entradas múltiplas na mesma linha.
No programa do exemplo 2 podemos digitar dois números separados por espaço, tabulação ou enter e no final ele mostrará o resultado da soma.
Dicas importantes
Mesmo a função scanf tendo a capacidade de receber vários dados na mesma função, o interessante é apenas usar uma entrada de dado para cada scanf. Assim, teremos mais controle da entrada de dados.
Não é possível carregar uma cadeia de caracteres com a função scanf, ou seja, se tiver um tipo de dado CHAR e entrarmos com uma frase, apenas a primeira letra será lida.
Um problema sério das funções de entrada de C é que tudo do teclado é considerado uma entrada, inclusive o ENTER. Então, se digitarmos um número e apertarmos o ENTER, além do número também fica armazenado o ENTER, que atrapalhará futuras entradas de dados, podendo ocorrer de um dado não ser digitado porque o programa irá considerar que mesmo antes de digitarmos o dado foi dado um ENTER. Esse problema pode ser facilmente resolvido se digitarmos a função GETCHAR () depois de cada SCANF.
Então, o exemplo 2 ficaria melhor dessa forma. Veja:
Fonte: tiexpert
A entrada de dados é algo muito importante para qualquer programa, que deve ser usado em conjunto com uma função de saída.
A função de saída deve induzir o usuário a fazer uma ação, e a função de entrada é que vai armazenar esta ação do usuário.
Função de Entrada de C
As funções de entrada de C são encontradas na biblioteca padrão de entrada/saída, a STDIO.H.
Toda entrada de dado deve ser armazenada em um endereço de uma variável.
A entrada de entrada de dados é controlada pela função SCANF.
Todas as entradas que devem ser armazenadas devem estar entre aspas identificadas por uma máscara e para cada máscara deve conter um endereço de uma variável.
Para indicar o endereço de uma variável basta antes do nome da variável colocar o caracter que indica endereço, o "E comercial" (&).
//EXEMPLO1
#include <stdio.h>
int main (void)
**
int nr;
printf ("Digite um numero: ")*
scanf ("%d", &nr)*
printf ("\n\n\nVoce digitou o numero: %d", nr)*
return 0;
**
Você também pode especificar entradas múltiplas na mesma linha.
//EXEMPLO2
#include <stdio.h>
int main (void)
**
int a, b, r;
printf ("Digite dois numeros para serem somados:\n")*
scanf ("%d %d", &a &b)*
r=a+b;
printf ("\nA soma de %d mais %d e igual a %d", a, b, r)*
return 0;
**
No programa do exemplo 2 podemos digitar dois números separados por espaço, tabulação ou enter e no final ele mostrará o resultado da soma.
Dicas importantes
Mesmo a função scanf tendo a capacidade de receber vários dados na mesma função, o interessante é apenas usar uma entrada de dado para cada scanf. Assim, teremos mais controle da entrada de dados.
Não é possível carregar uma cadeia de caracteres com a função scanf, ou seja, se tiver um tipo de dado CHAR e entrarmos com uma frase, apenas a primeira letra será lida.
Um problema sério das funções de entrada de C é que tudo do teclado é considerado uma entrada, inclusive o ENTER. Então, se digitarmos um número e apertarmos o ENTER, além do número também fica armazenado o ENTER, que atrapalhará futuras entradas de dados, podendo ocorrer de um dado não ser digitado porque o programa irá considerar que mesmo antes de digitarmos o dado foi dado um ENTER. Esse problema pode ser facilmente resolvido se digitarmos a função GETCHAR () depois de cada SCANF.
Então, o exemplo 2 ficaria melhor dessa forma. Veja:
/*
EXEMPLO3
melhoramento do codigo do exemplo2
*/
#include <stdio.h>
int main (void)
**
int a, b, r;
printf ("Digite o primeiro numero que sera somado:\n")*
scanf ("%d", &a)*
getchar ()*
printf ("Digite o segundo numero que sera somado:\n")*
scanf ("%d", &b)*
getchar ()*
r=a+b;
printf ("\nA soma de %d mais %d e igual a %d", a, b, r)*
return 0;
**
Fonte: tiexpert
- Koily
Coordenador - Idade : 29
Posts : 4744
Créditos : 250
Respeito : 36
Foco, força e fé.
Warning :
Re: [C/C++] Funções de Entrada em C
Ter 18 Dez 2012, 22:01
Tutorial extremamente importante. Me pergunto se há algo que não é importante.. Bom tutorial, tiexpert é uma ótima fonte.
- covital
Membro VIP - Idade : 27
Posts : 2107
Créditos : 0
Respeito : 18
God damn asshole
Re: [C/C++] Funções de Entrada em C
Ter 18 Dez 2012, 22:16
Realmente,
é um ótimo site.
Quando terminar esse aqui,
vou postar sobre HTML ou PHP, eu acho.
é um ótimo site.
Quando terminar esse aqui,
vou postar sobre HTML ou PHP, eu acho.
- Koily
Coordenador - Idade : 29
Posts : 4744
Créditos : 250
Respeito : 36
Foco, força e fé.
Warning :
Re: [C/C++] Funções de Entrada em C
Ter 18 Dez 2012, 22:22
Isso se eu não postar antes! x] HTML é fácil, PHP é mais legal. Mas vou postar mesmo assim.
- covital
Membro VIP - Idade : 27
Posts : 2107
Créditos : 0
Respeito : 18
God damn asshole
Re: [C/C++] Funções de Entrada em C
Sáb 22 Dez 2012, 14:12
Você posta PHP e eu posto HTML, pode ser?
Por que para aprender PHP precisa ter a mínima noção do que é HTML.
Por que para aprender PHP precisa ter a mínima noção do que é HTML.
- Koily
Coordenador - Idade : 29
Posts : 4744
Créditos : 250
Respeito : 36
Foco, força e fé.
Warning :
Re: [C/C++] Funções de Entrada em C
Sáb 22 Dez 2012, 14:19
Pode ser, mas se você não sabe HTML, seria melhor eu postar umas coisas básicas antes, aí você vai vendo..
Voltando ao assunto do tópico.
Obs.: Conversamos por skype.
Voltando ao assunto do tópico.
Obs.: Conversamos por skype.
- Conteúdo patrocinado
Re: [C/C++] Funções de Entrada em C
Permissões neste sub-fórum
Não podes responder a tópicos
|
|