Olá, identifiquei o erro. Mas poderia explicar porque a diferença??
Fiz o exercício de subtrair os números, vejamos:
comentários no código!
#include
int main(void) {
int num1, num2, resultado; resultado = num1 - num2; /*declarei o calculo de "resultado" aqui e o resultado sai um numero estranho (-401232, por exemplo) */
printf("Subtraia dois numeros!\n\n"); printf("Digite o primeiro: "); scanf("%d", &num1); printf("O segundo: "); scanf("%d", &num2);
printf("A sobra dos numeros e %d", resultado); return 0;
}
Desta maneira, funciona normal:
#include
int main(void) {
int num1, num2, resultado;
printf("Subtraia dois numeros!\n\n"); printf("Digite o primeiro: "); scanf("%d", &num1); printf("O segundo: "); scanf("%d", &num2);
resultado = num1 - num2; /* movendo para cá tudo funciona lindo e maravilhoso*/ printf("A sobra dos numeros e %d", resultado); return 0;
ótimo site, sou iniciante na linguagem c e estou contente em encontrar esse site com ótima qualidade de ensino sobre essa linguagem .
estou com um problema com relação ao exercicio de divisão eu fiz e ficou assim: int main (void) { double num1,num2,resultado; printf("Digite o primeiro valor:"); scanf("%f",&num1); printf("Digite o segundo valor:"); scanf("%f",&num2); resultado= num1 / num2; printf("o resultado sera de: %.2f",resultado);
}
o problema é que o resultado sempre sai 0.59 independente dos valores divididos , poderia mostrar-me o erro e explicar?
int main() { double n1,n2; printf ("digite dois numeros: "); scanf ("%lf %lf",&n1, &n2); // Para armazenar um numero do tipo double é necessário colocar um 'l' antes do 'f' printf("%.3f / %.3f = %.3f", n1,n2,n1/n2); getchar; return 0; }
18 de junho de 2014 às 07:49
Anônimo disse...
Olá, em primeiro lugar gostaria de parabenizar o tutorial, estou aprendendo muito. Não é aqueles tutoriais chatos que estamos acostumados a encontrar na Net. Bem, com relação ao exercício de divisão eu fiz porém o resultado não é o esperado com o tipo double. Com float funciona. Poderia nos dar uma força nessa resposta ?
Abraços e obrigado.
3 de julho de 2014 às 09:34
Anônimo disse...
Primeiramente gostaria de parabenizar o blog, e seu material e sua dedicação é espetacular!!! Sou iniciante em C também, mas por favor me corruga se eu disser asneira, no código do Natan Santos ele esta usando uma palavra reservada como variável..(result).
8 de julho de 2014 às 17:12
Anônimo disse...
Crie um algoritmo que leia dois números, e em seguida exiba na tela uma mensagem dizendo se o maior deles é o primeiro, o segundo, ou se são iguais.
como e q eu faço isso no dev c++
5 de setembro de 2014 às 11:40
Anônimo disse...
O meu funciona normalmente, mas o resultado não aparece! Por exemplo .. depois q a conta é feita aparece como resultado o seguinte sinal (|-@:) pq n aparece os numeros?
int numero, numero2,resultado; printf ("Digite o primeiro numero para soma!: \n"); scanf ("%d",&numero); printf ("Digite o segundo numero para soma!: \n"); scanf ("%d",&numero2);
resultado = numero+numero2;
printf ("O resultado da soma é: \n",resultado);
31 de outubro de 2014 às 11:51
Anônimo disse...
#include
int main() { float num1, num2, resultado; printf("Digite um numero: "); scanf("%f", &num1);
printf("Digite outro numero: "); scanf("%f", &num2);
Bom galara, depois de colocar 'l' entre %f o meu exercício da divisão funcionou, e ficou assim: #include int main() { double num1, num2, resultado; printf("Vamos fazer uma subtracao, digite dois numeros:\n"); scanf("%lf %lf",&num1, &num2);
int main() { int num1, num2; //Variaveis de valor deutro ou variaveis de registro double resultado;
printf("Digite dois numeros: "); //Entrada de dados scanf("%d %d", &num1, &num2); printf("Os numeros digitados foram: %d e %d \n", num1, num2); //Saida de dados
float num3, num4; //Variaveis de valor deutro ou de ocupação, tanto faz.
printf("Digite dois numeros\(Decimais\): "); //Entrada de dados scanf("%f %f", &num3, &num4); printf("Os numeros decimais digitados foram %f e também %f \n", num3, num4); //Saida de dados
resultado = num1 + num2 * num3 / num4; //Calculo do resultado printf("%d + %d * %f / %f = %f ", num1, num2, num3, num4, resultado) ; //Saida de dados final, ou resultado do calculo.
Aê galera, fiz um simples boletin, e funciono perfeito :p
#include
int main() { float nota1, nota2, nota3, nota4, media; printf("Digite a nota do primeiro bimestre: "); scanf("%f", ¬a1);
printf("Digite a nota do segundo bimestre: "); scanf("%f", ¬a2);
printf("Digite a nota do terceiro bimestre: "); scanf("%f", ¬a3);
printf("Digite a nota do quarto bimestre: "); scanf("%f", ¬a4);
media = (nota1 + nota2 + nota3 + nota4)/4;
printf("A sua média final foi de %.2f", media); }
20 de março de 2015 às 06:28
Ciro Fonseca disse...
#include
int main()
{ double num1, num2, result; num1=0; num2=0;
printf("Digite o primeiro numero: "); scanf("%lf", &num1);
printf("Digite o segundo numero: "); scanf("%lf", &num2);
result = num1/num2;
printf("\nA divisao entre %.2lf e %.2lf e: %.2lf",num1,num2,result); }
Fiz assim, com lf%, pois utilizando somente o %f não é possivel armazenar o valor na variavel.
16 de maio de 2015 às 19:23
Anônimo disse...
Alguém pode me ajudar? só estou conseguindo declarar a primeira variável. #include int main () { int idade[2]; float altura[4], peso[5]; char nome[50], telefone[15];
printf("Informe o nome: "); scanf("%c", &nome);
printf("Informe a idade: "); scanf("%d", &idade);
printf("Informe a altura: "); scanf("%f", &altura);
printf("Informar o peso: "); scanf("%f", &peso);
printf("Informe o telefone: "); scanf("%c", &telefone);
Natan Santos respondendo a questão do Natan Santos deve ser a ordem de construção o chamado algoritmo, que deve seguir uma sequencia no caso não é possível declarar que a soma de a e b = c, sem antes declarar o valor de a e b que no caso entraria por meio do usuário, deve ser isso. Se for isso mesmo isso tem haver com lógica de programação e algoritmo que é definido como um "conjunto das regras e procedimentos lógicos perfeitamente definidos que levam à solução de um problema em um número finito de etapas" - google
Sendo que procedemos de tal forma diante do problema acender a luz: se estiver sentado e não for possível alcançar de onde eu estou então levantar dar o numero de passos até o interruptor apertar o interruptor
Sendo que é impossível inverter a ordem como dar o numero de passos ainda sentado, ou ligar a luz sem ter ainda alcançado.
19 de julho de 2015 às 15:39
Anônimo disse...
Também tive o mesmo problema no exercício da divisão. Com float funciona perfeitamente porém quando troca pra double o resultado não é o esperado. Alguém conseguiu descobrir o por quê?
A rotina scanf e muito útil mais não podemos deixar de lado os outros métodos de captura de dados como os da biblioteca conio.h Para quem quiser ver um vídeo sobre scanf eu vou deixar este link que mostra o comando na pratica.
RESPONDENDO A Blogger Herbert Fortes disse... Olá,
substituindo float por double para o execício não funciona. scanf não armazena o número digitado.
Por que?
1 de março de 2014 10:15
============================ o comando para receber um double é diferente do float: %lf = double, %f = float main() { double y; printf("nº:"); scanf("%lf",&y); printf("%lf\n",y); }
RESPONDENDO A Blogger breno_ferraro disse... Olá, estou com um problema, se eu quiser no lugar da operação colocar uma variável, tem como ? Ex: #include
int main() { int num1, num2, resultado; char oper; printf("Digite um numero: "); scanf("%d", &num1); {...} ==== Tem mais não será desse jeito, ao receber o +,- etc, o sistema está recebendo um caracter e não o identifica como um operador matemático, mas você pode fazê-lo reconhecer com laços if. exemplo if (oper == '+') { resultado = num1 + num2; } if (oper == '-') { resultado = num1 - num2; } etc....
3 de novembro de 2015 às 10:22
Anônimo disse...
Olá, gostaria de saber porque não foi usado o "return 0;" em ambos os exemplos. E do mesmo jeito funciona, posso não usá-los sempre?
Olá, só uma pequena correção. No último exemplo o o que imprime na tela é: printf("%.1f + %.1f = %.2f", num1,num2,resultado); quando deveria ser: printf("%.1f * %.1f = %.2f", num1,num2,resultado); Só uma troca de sinais que, neste caso, nem altera o resultado só o que é impresso mesmo.
30 de janeiro de 2016 às 11:30
Anônimo disse...
Não sei o que eu faria se não fosse esse site, vlw mesmo, estou aprendendo muito aqui. Quando eu começar a trabalhar, SE ainda o site estiver ativo, eu vou fazer uma doação.
Olá anônimo, continua na ativa sim, ainda pagamos domínio, servidor etc pra manter o site na ativa (por isso, qualquer doação é sempre bem vinda rs).
Mas os leitores não precisam se preocupar com conteúdo 'atual', a linguagem C é a mesma desde a década de 60, está tão impregnada em absolutamente tudo, em toda a tecnologia, que é impossível que ela seja alterada.
Podem continuar estudando, que os conhecimentos valem pra hoje, pra daqui 5, 10, 20, 50 anos...e estamos trabalhando em outros sites, outras linguagens, tudo aos mesmos moldes, gratuito, sem cadastro e livre para todos.
printf("O arco dessa Circunferencia mede %.2f centimetros de comprimento\n", resultfinal);
return 0; }
Eu fiz um teste com algo que eu precisei recentemente, Uma Calculadora de Arcos de Circunferencia, entao assim que vi esse post, vi que poderia usar isso para fazê-la... Muito Obrigado Professor. Estou pensando em fazer uma que te ajude a encontrar alem do angulo interno, o raio. Tudo isso é matematica básica e aliada a programação se torna genial =D
4 de julho de 2017 às 10:52
Anônimo disse...
Olá, estou com uma dúvida.
Preciso pedir para que o usuário me informe 10 valores e preciso armazenar todas. Consigo fazer isso em alguma estrutura de repetição ou tem que ser tudo manual?
Só tenho a agradecer a vocês por tudo que estão fazendo por mim e por muitos que participaram e que participam desse blog. Espero que vocês alcancem o que desejam com a criação desse site. Estou aprendendo mais aqui do que em minha faculdade.
Vai ter que criar uma condicao para cada operador. Ex: If (Oper=='+') Resultado=num1 + num2; Eles If (Oper=='-') Resultado=num1-num2; //E por aí vai..
25 de novembro de 2019 às 14:34
Anônimo disse...
Faça um programa que peça para o usuário fornecer os valores tipo float de 2 matrizes M e N , ambas com 4 linhas 5 colunas e que imprima na tela a matriz O= 5*M-2*N
11 de novembro de 2022 às 05:07
Até o momento, os artigos de nosso curso C Progressivo tem mostrado diversos programas, porém todos estáticos, sem controle e sem interação.
O programa simplesmente roda e mostra coisas na tela.
Porém, na vida real não é assim. Praticamente todos possuem algum tipo de interação com o usuário: recebem dados, cliques, arrastamos e soltamos etc.
Nessa lição iremos aprender a usar a função scanf e obter dados do usuário.
Vamos começar a 'conversar' com o computador. Leia esse conteúdo em um PDF: Apostila C Progressivo
Recebendo números inteiros com a função scanf
Escreva um programa em C que peça dois números inteiros e mostre sua soma.
Primeiro criamos três variáveis inteiras: num1, num2 e resultado.
Essas variáveis que vão armazenar os números que o usuário fornecer e o resultado da soma.
Após isso, usamos a função scanf() para pegar do usuário os dois número.
Em seguida, armazenamos a soma desses números na variável 'resultado', e exibimos essa variável num printf.
Veja como ficou o nosso código em C:
#include <stdio.h>
int main()
{
int num1, num2, resultado;
printf("Digite um numero: ");
scanf("%d", &num1);
printf("Digite outro numero: ");
scanf("%d", &num2);
resultado = num1 + num2;
printf("%d + %d = %d", num1,num2,resultado);
}
Recebendo mais de um número dentro de uma única scanf
Para evitar o trabalho de ter que escrever a scanf cada vez que você deseje receber um número do usuário, você pode colocar mais de um %d dentro do escopo da scanf.
#include <stdio.h>
int main()
{
int num1, num2;
printf("Insira dois numeros: ");
scanf("%d %d", &num1, &num2);
printf("Você digitou: '%d' e '%d'", num1, num2);
}
No caso acima, num1 vai ser o número que você digitou antes de dar enter, espaço ou tab.
E num2 sera o número que você digitou após dar enter, espaço ou tab
Exercício: Faça um programa que peça dois inteiros ao usuário e que mostre a diferença (subtração) entre o primeiro e segundo número.
Recebendo números reais ou decimais com a função scanf
Para receber números do tipo float ou double, fazemos exatamente como na seção anterior, sobre inteiros, somente com uma diferença que talvez você já saiba qual é: usamos %f ao invés de %d.
Faz todo sentido, não?
Exemplo: Crie um programa em C que peça dois números decimais ao usuário e mostre o produto deles, com precisão de dois números.
Lembrando que o símbolo de multiplicação é o asterisco, *:
Exercício: Faça um programa em C que peça dois números do tipo double ao usuário e mostre o resultado da divisão do primeiro pelo segundo e exiba esse resultado com 3 casas decimais.
PS: o símbolo de divisão é /
postado por Programação Progressiva às 21:32 em 7 de dez. de 2012
43 Comentários
Fechar esta janela Ir para formulário de comentárioOlá,
substituindo float por double para o execício não funciona. scanf não armazena o número digitado.
Por que?
1 de março de 2014 às 10:15
Olá, estou com um problema,
se eu quiser no lugar da operação colocar uma variável, tem como ?
Ex:
#include
int main()
{
int num1, num2, resultado;
char oper;
printf("Digite um numero: ");
scanf("%d", &num1);
printf("Digite uma operação (*+-/): ");
scanf("%c", &oper);
printf("Digite outro numero: ");
scanf("%d", &num2);
resultado = num1 oper num2;
printf("%d %c %d = %d", num1,oper,num2,resultado);
}
Obrigado por seus tutoriais
1 de março de 2014 às 10:53
Adicione um l na frente de f de %f e conseguirá pegar a variável double:
...
scanf("%lf", &num1);
...
fonte:
http://stackoverflow.com/questions/210590/why-does-scanf-need-lf-for-doubles-when-printf-is-okay-with-just-f
4 de março de 2014 às 05:14
int main()
{
int num1, num2, resultado;
char oper;
printf("Digite um numero: ");
scanf("%d", &num1);
printf("Digite uma operação (*+-/): ");
scanf("%c", &oper);
printf("Digite outro numero: ");
scanf("%d", &num2);
resultado = num1 oper num2;
printf("%d %c %d = %d", num1,oper,num2,resultado);
}
executa assim;
int main()
{
int num1, num2, resultado;
char oper;
printf("Digite um numero: ");
scanf("%d", &num1);
printf("Digite uma operação (*+-/): ");
scanf("%c", &oper);
printf("Digite outro numero: ");
scanf("%d", &num2);
if(oper = '+'){
resultado = num1 + num2;
}
else
printf("operador invalido!\n ");
printf("%d %c %d = %d", num1,oper,num2,resultado);
}
2 de abril de 2014 às 13:42
Fiz o código assim e o resultado sai errado:
int main(void)
{
int numero1, numero2, resultado;
resultado = numero1 + numero2;
printf("escreva dois numeros para somar \n");
scanf("%d", &numero1);
scanf("%d", &numero2);
printf("o resultado e %d", resultado);
return 0;
}
o que há de errado?
30 de abril de 2014 às 20:38
Olá, identifiquei o erro. Mas poderia explicar porque a diferença??
Fiz o exercício de subtrair os números, vejamos:
comentários no código!
#include
int main(void)
{
int num1, num2, resultado;
resultado = num1 - num2; /*declarei o calculo de "resultado" aqui e
o resultado sai um numero estranho (-401232, por exemplo) */
printf("Subtraia dois numeros!\n\n");
printf("Digite o primeiro: ");
scanf("%d", &num1);
printf("O segundo: ");
scanf("%d", &num2);
printf("A sobra dos numeros e %d", resultado);
return 0;
}
Desta maneira, funciona normal:
#include
int main(void)
{
int num1, num2, resultado;
printf("Subtraia dois numeros!\n\n");
printf("Digite o primeiro: ");
scanf("%d", &num1);
printf("O segundo: ");
scanf("%d", &num2);
resultado = num1 - num2; /* movendo para cá tudo funciona lindo
e maravilhoso*/
printf("A sobra dos numeros e %d", resultado);
return 0;
}
30 de abril de 2014 às 21:11
fiz meu programa de divisão, mas esta dando um erro em que o resultado aparece 0.00...
#include
int main (){
double num1;
double num2;
double result;
printf("\ninforme o primeiro numero, por favor\n\n");
scanf("%f",&num1);
printf("\ninforme o segundo numero, por favor\n\n");
scanf("%f",&num2);
result=num1/num2;
printf("\no resultado da divisao desses dois numeros eh %f\n\n",result);
system("pause");
return 0;
}
21 de maio de 2014 às 12:58
ótimo site, sou iniciante na linguagem c e estou contente em encontrar esse site com ótima qualidade de ensino sobre essa linguagem .
estou com um problema com relação ao exercicio de divisão
eu fiz e ficou assim:
int main (void)
{
double num1,num2,resultado;
printf("Digite o primeiro valor:");
scanf("%f",&num1);
printf("Digite o segundo valor:");
scanf("%f",&num2);
resultado= num1 / num2;
printf("o resultado sera de: %.2f",resultado);
}
o problema é que o resultado sempre sai 0.59 independente dos valores divididos , poderia mostrar-me o erro e explicar?
att.
29 de maio de 2014 às 20:08
faça assim que também da certo:
#include
int main()
{
double n1,n2;
printf ("digite dois numeros: ");
scanf ("%lf %lf",&n1, &n2); // Para armazenar um numero do tipo double é necessário colocar um 'l' antes do 'f'
printf("%.3f / %.3f = %.3f", n1,n2,n1/n2);
getchar;
return 0;
}
18 de junho de 2014 às 07:49
Olá, em primeiro lugar gostaria de parabenizar o tutorial, estou aprendendo muito. Não é aqueles tutoriais chatos que estamos acostumados a encontrar na Net. Bem, com relação ao exercício de divisão eu fiz porém o resultado não é o esperado com o tipo double. Com float funciona. Poderia nos dar uma força nessa resposta ?
Abraços e obrigado.
3 de julho de 2014 às 09:34
Primeiramente gostaria de parabenizar o blog, e seu material e sua dedicação é espetacular!!!
Sou iniciante em C também, mas por favor me corruga se eu disser asneira, no código do Natan Santos ele esta usando uma palavra reservada como variável..(result).
8 de julho de 2014 às 17:12
Crie um algoritmo que leia dois números, e em seguida exiba na tela uma
mensagem dizendo se o maior deles é o primeiro, o segundo, ou se são
iguais.
como e q eu faço isso no dev c++
5 de setembro de 2014 às 11:40
O meu funciona normalmente, mas o resultado não aparece! Por exemplo .. depois q a conta é feita aparece como resultado o seguinte sinal (|-@:) pq n aparece os numeros?
int numero, numero2,resultado;
printf ("Digite o primeiro numero para soma!: \n");
scanf ("%d",&numero);
printf ("Digite o segundo numero para soma!: \n");
scanf ("%d",&numero2);
resultado = numero+numero2;
printf ("O resultado da soma é: \n",resultado);
31 de outubro de 2014 às 11:51
#include
int main()
{
float num1, num2, resultado;
printf("Digite um numero: ");
scanf("%f", &num1);
printf("Digite outro numero: ");
scanf("%f", &num2);
resultado = num1 * num2;
printf("%.1f + %.1f = %.2f", num1,num2,resultado);
}
No último printf não seria * no lugar de +
26 de novembro de 2014 às 18:52
Bom galara, depois de colocar 'l' entre %f o meu exercício da divisão funcionou, e ficou assim:
#include
int main()
{
double num1, num2, resultado;
printf("Vamos fazer uma subtracao, digite dois numeros:\n");
scanf("%lf %lf",&num1, &num2);
resultado = num1 / num2;
printf("%f + %f = %.3f", num1, num2, resultado);
}
9 de dezembro de 2014 às 19:25
#include
int main()
{
int num1, num2; //Variaveis de valor deutro ou variaveis de registro
double resultado;
printf("Digite dois numeros: "); //Entrada de dados
scanf("%d %d", &num1, &num2);
printf("Os numeros digitados foram: %d e %d \n", num1, num2); //Saida de dados
float num3, num4; //Variaveis de valor deutro ou de ocupação, tanto faz.
printf("Digite dois numeros\(Decimais\): "); //Entrada de dados
scanf("%f %f", &num3, &num4);
printf("Os numeros decimais digitados foram %f e também %f \n", num3, num4); //Saida de dados
resultado = num1 + num2 * num3 / num4; //Calculo do resultado
printf("%d + %d * %f / %f = %f ", num1, num2, num3, num4, resultado) ; //Saida de dados final, ou resultado do calculo.
return(0);
}
11 de dezembro de 2014 às 09:56
Aê galera, fiz um simples boletin, e funciono perfeito :p
#include
int main()
{
float nota1, nota2, nota3, nota4, media;
printf("Digite a nota do primeiro bimestre: ");
scanf("%f", ¬a1);
printf("Digite a nota do segundo bimestre: ");
scanf("%f", ¬a2);
printf("Digite a nota do terceiro bimestre: ");
scanf("%f", ¬a3);
printf("Digite a nota do quarto bimestre: ");
scanf("%f", ¬a4);
media = (nota1 + nota2 + nota3 + nota4)/4;
printf("A sua média final foi de %.2f", media);
}
20 de março de 2015 às 06:28
#include
int main()
{
double num1, num2, result;
num1=0;
num2=0;
printf("Digite o primeiro numero: ");
scanf("%lf", &num1);
printf("Digite o segundo numero: ");
scanf("%lf", &num2);
result = num1/num2;
printf("\nA divisao entre %.2lf e %.2lf e: %.2lf",num1,num2,result);
}
Fiz assim, com lf%, pois utilizando somente o %f não é possivel armazenar o valor na variavel.
16 de maio de 2015 às 19:23
Alguém pode me ajudar? só estou conseguindo declarar a primeira variável.
#include
int main ()
{
int idade[2];
float altura[4], peso[5];
char nome[50], telefone[15];
printf("Informe o nome: ");
scanf("%c", &nome);
printf("Informe a idade: ");
scanf("%d", &idade);
printf("Informe a altura: ");
scanf("%f", &altura);
printf("Informar o peso: ");
scanf("%f", &peso);
printf("Informe o telefone: ");
scanf("%c", &telefone);
printf("O nome informado é: %c ", nome);
printf("A idade informada é: %d ", idade);
printf("A altura informada é: %f\n ", altura);
printf("O peso informado é: %f\n ", peso);
printf("O telefone informado é: %c ", telefone);
}
19 de maio de 2015 às 07:12
Natan Santos respondendo a questão do Natan Santos deve ser a ordem de construção o chamado algoritmo, que deve seguir uma sequencia no caso não é possível declarar que a soma de a e b = c, sem antes declarar o valor de a e b que no caso entraria por meio do usuário, deve ser isso.
Se for isso mesmo isso tem haver com lógica de programação e algoritmo que é definido como um "conjunto das regras e procedimentos lógicos perfeitamente definidos que levam à solução de um problema em um número finito de etapas" - google
Sendo que procedemos de tal forma diante do problema acender a luz:
se estiver sentado e não for possível alcançar de onde eu estou então
levantar
dar o numero de passos até o interruptor
apertar o interruptor
Sendo que é impossível inverter a ordem como dar o numero de passos ainda sentado, ou ligar a luz sem ter ainda alcançado.
19 de julho de 2015 às 15:39
Também tive o mesmo problema no exercício da divisão. Com float funciona perfeitamente porém quando troca pra double o resultado não é o esperado. Alguém conseguiu descobrir o por quê?
19 de julho de 2015 às 19:40
N se usa & pra armazenar strings, e 3 melhor vc usar gets ao invés de scanf pra string
30 de agosto de 2015 às 06:26
A rotina scanf e muito útil mais não podemos deixar de lado os outros métodos de captura de dados como os da biblioteca conio.h
Para quem quiser ver um vídeo sobre scanf eu vou deixar este link que mostra o comando na pratica.
http://zip.net/bdsjXQ
1 de novembro de 2015 às 18:42
RESPONDENDO A
Blogger Herbert Fortes disse...
Olá,
substituindo float por double para o execício não funciona. scanf não armazena o número digitado.
Por que?
1 de março de 2014 10:15
============================
o comando para receber um double é diferente do float: %lf = double, %f = float
main()
{
double y;
printf("nº:");
scanf("%lf",&y);
printf("%lf\n",y);
}
3 de novembro de 2015 às 10:18
RESPONDENDO A Blogger breno_ferraro disse...
Olá, estou com um problema,
se eu quiser no lugar da operação colocar uma variável, tem como ?
Ex:
#include
int main()
{
int num1, num2, resultado;
char oper;
printf("Digite um numero: ");
scanf("%d", &num1);
{...}
====
Tem mais não será desse jeito, ao receber o +,- etc, o sistema está recebendo um caracter e não o identifica como um operador matemático, mas você pode fazê-lo reconhecer com laços if. exemplo
if (oper == '+') {
resultado = num1 + num2;
}
if (oper == '-') {
resultado = num1 - num2;
} etc....
3 de novembro de 2015 às 10:22
Olá, gostaria de saber porque não foi usado o "return 0;" em ambos os exemplos. E do mesmo jeito funciona, posso não usá-los sempre?
4 de novembro de 2015 às 08:37
Parabéns ao amigo que deu dica com "LF" (no caso de Double), caso usarem "float" não dá erro, obrigado.
18 de novembro de 2015 às 17:08
Ola Pessoal,
Sou muito Leigo no assunto tentando finalizar o programa abaixo e não encontro o erro de jeito nenhum, alguém pode me ajudar por favor?
#include
#include
Main()
{
Float num1, num2;
Printf(“digite um numero\n”);
Scanf(“%f”,&num1, &num2);
Printf(“digite outro numero\n”);
Scanf(“%f”,&num2);
Printf(“=%f”,num1+num2);
Printf(“=%f”,num1-num2);
Printf(“=%f”,num1*num2);
Printf(“=%f”,num1/num2);
}
24 de novembro de 2015 às 11:20
Olá, só uma pequena correção. No último exemplo o o que imprime na tela é:
printf("%.1f + %.1f = %.2f", num1,num2,resultado);
quando deveria ser:
printf("%.1f * %.1f = %.2f", num1,num2,resultado);
Só uma troca de sinais que, neste caso, nem altera o resultado só o que é impresso mesmo.
30 de janeiro de 2016 às 11:30
Não sei o que eu faria se não fosse esse site, vlw mesmo, estou aprendendo muito aqui.
Quando eu começar a trabalhar, SE ainda o site estiver ativo, eu vou fazer uma doação.
4 de junho de 2016 às 13:47
Olá anônimo, continua na ativa sim, ainda pagamos domínio, servidor etc pra manter o site na ativa (por isso, qualquer doação é sempre bem vinda rs).
Mas os leitores não precisam se preocupar com conteúdo 'atual', a linguagem C é a mesma desde a década de 60, está tão impregnada em absolutamente tudo, em toda a tecnologia, que é impossível que ela seja alterada.
Podem continuar estudando, que os conhecimentos valem pra hoje, pra daqui 5, 10, 20, 50 anos...e estamos trabalhando em outros sites, outras linguagens, tudo aos mesmos moldes, gratuito, sem cadastro e livre para todos.
4 de junho de 2016 às 14:48
professor passou a seguinte questão
Enunciado
Faça um programa em C para mostrar o resultado inteiro da divisão
de dois números inteiros (numerador e denominador).
Caso o denominador seja zero, deve exibir a seguinte mensagem (sem aspas e sem acento): "Impossivel dividir".
Exemplo de Entrada
5
2
Exemplo de Saída
2
22 de junho de 2016 às 21:57
HUmmmmmmmm outras linguagens em outros sites... conte-me mais a respeito meu Jouvem.
22 de outubro de 2016 às 11:04
#include
int main()
{
int numero1, numero2, resultado;
printf("Digite um numero: ");
scanf("%d", &numero1);
printf("Digite outro numero: ");
scanf("%d", &numero2);
resultado = numero1 + numero2;
printf("A soma de %d + %d e igual a %d ", numero1, numero2, resultado);
}
27 de abril de 2017 às 17:05
#include
int main()
{
float raio, resultado1;
float PI = 6.28;
float angulo, resultado2, resultfinal;
float circ = 360;
printf("Ola, informe o comprimento do raio da Circunferencia: ");
scanf("%f", &raio);
resultado1 = PI * raio;
printf("Agora informe o angulo interno da Circunferencia: ");
scanf("%f", &angulo);
resultado2 = angulo / 360;
resultfinal = resultado1 * resultado2;
printf("\n");
printf("O arco dessa Circunferencia mede %.2f centimetros de comprimento\n", resultfinal);
return 0;
}
Eu fiz um teste com algo que eu precisei recentemente, Uma Calculadora de Arcos de Circunferencia, entao assim que vi esse post, vi que poderia usar isso para fazê-la... Muito Obrigado Professor.
Estou pensando em fazer uma que te ajude a encontrar alem do angulo interno, o raio. Tudo isso é matematica básica e aliada a programação se torna genial =D
4 de julho de 2017 às 10:52
Olá, estou com uma dúvida.
Preciso pedir para que o usuário me informe 10 valores e preciso armazenar todas. Consigo fazer isso em alguma estrutura de repetição ou tem que ser tudo manual?
26 de setembro de 2017 às 19:20
Muito bom, fiz todos os exercícios sem problemas, só costumo usar %lf ao invés de %f para double!.
25 de fevereiro de 2018 às 13:09
"Parabéns você descobriu o segredo" que zoeiro em!! Muito bom!
25 de fevereiro de 2018 às 13:45
#include
#include
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int numero1,numero2,resultado;
printf("PROGRAMA QUE IMPRIMI A DIFERENCA DE DOIS NUMEROS\n\n");
printf("Por Favor Digite o Primeiro numero :");
scanf("%d",&numero1);
printf("Por Favor Digite O segundo numero :");
scanf("%d",&numero2);
resultado=numero1-numero2;
printf(" %d - %d = %d\n\n\n",numero1,numero2,resultado);
float num1,num2,produto;
printf("PROGRAMA QUE IMPRIMI O PRODUTO DE DOIS NUMEROS\n\n");
printf("digite um numero por favor: ");
scanf("%f", &num1);
printf("digite outro numero por favor: ");
scanf("%f",&num2);
produto=num1 * num2;
printf("%.1f * %.1f = %.1f\n\n\n",num1,num2,produto);
double nu1,nu2,divisao;
printf("PROGRAMA QUE IMPRIMI A DIVISAO DE DOIS NUMEROS\n\n");
printf(" Por Favor Digite o Primeiro Numero: ");
scanf("%lf",&nu1);
printf("Por favor Digite o Sugundo Numero: ");
scanf("%lf",&nu2);
divisao = nu1 / nu2;
printf("%.2lf / %.2lf = %.2lf ",nu1,nu2,divisao);
return 0;
}
9 de julho de 2018 às 08:39
Só tenho a agradecer a vocês por tudo que estão fazendo por mim e por muitos que participaram e que participam desse blog. Espero que vocês alcancem o que desejam com a criação desse site. Estou aprendendo mais aqui do que em minha faculdade.
#include
#include
#include
#include
#include
#include
//www.cprogressivo.net/2012/12/A-funcao-scanf-recebendo-numeros-do-usuario.html
main (void)
{
setlocale(LC_ALL,"portuguese");
system ("color 3E");
int num1, num2, dif;
printf ("Digite dois números ", num1, num2);
scanf("%d %d", &num1, &num2);
dif=num1-num2;
printf("\nA diferença é %d", dif);
}
9 de setembro de 2018 às 23:36
Não estou conseguindo fazer o exercicio da divisão.
Já tentei vários códigos e nada.
#include
#include
int main()
{
double nu1,nu2,divisao;
printf("PROGRAMA QUE IMPRIMI A DIVISAO DE DOIS NUMEROS\n\n");
printf(" Por Favor Digite o Primeiro Numero: ");
scanf("%lf",&nu1);
printf("Por favor Digite o Sugundo Numero: ");
scanf("%lf",&nu2);
divisao = nu1 / nu2;
printf("%.2lf / %.2lf = %.2lf ",nu1,nu2,divisao);
system("pause");
}
o resultado que aparece no meu é uma multiplicacao
19 de agosto de 2019 às 09:08
Vai ter que criar uma condicao para cada operador. Ex:
If (Oper=='+')
Resultado=num1 + num2;
Eles If (Oper=='-')
Resultado=num1-num2;
//E por aí vai..
25 de novembro de 2019 às 14:34
Faça um programa que peça para o usuário fornecer os valores tipo float de 2 matrizes M e N ,
ambas com 4 linhas 5 colunas e que imprima na tela a matriz O= 5*M-2*N
11 de novembro de 2022 às 05:07