Logo Hardware.com.br
KomsumProduckt
KomsumProduc... Novo Membro Registrado
25 Mensagens 7 Curtidas

[C] Pegar os valores que o usuário digite

#1 Por KomsumProduc... 10/05/2016 - 21:27
Queria fazer uma calculadora , como exemplo , uma adição e a pessoa seleciona a quantidade de valores que era vai colocar , tipo: 10 + 11 + 14 + 13 ; 4 valores pra somar .
Assim meu programa fala : Digite quantos valores iram ser utilizados : "ai a pessoa digita 3 por exemplo" . Agora o programa pede os valores pra cada valores que iram ser utilizados :
Digite o primeiro valor : "10 por exemplo" ;
Digite o segundo valor : "11 por exemplo";
Digite o terceiro valor : "13 Por exemplo"; seguinte os valores que iriam ser utilizador que foi dada 3 .

Ai quero que ele pega os 3 valores e soma , mais ai o problema.
Eu utilizo o "FOR" para ele repetir o "Digite o primeiro valor: ..." Porém , ele não lê os valores e queria saber como faço pra ler esses valores.
tpcvasco
tpcvasco General de Pijama Registrado
2.9K Mensagens 330 Curtidas
#2 Por tpcvasco
11/05/2016 - 09:01
Seria mais fácil se vc tivesse postado seu código tb...

Mas pelo q vc está descrevendo parece q seu problema é com scanf
https://www.hardware.com.br/comunidade/programa-ca/873308/
"Milhouse: - Médicos e bombeiros são heróis.
Bart Simpson: - Olha, as casas continuam pegando fogo e as pessoas continuam doentes. Os verdadeiros heróis são os Schwarzenegger's, os Stallone's, e, em menores proporções, os Vandame's..."
KomsumProduckt
KomsumProduc... Novo Membro Registrado
25 Mensagens 7 Curtidas
#4 Por KomsumProduc...
11/05/2016 - 19:05
Consegui arrumar o problema . Obrigado pra todos que ajudaram :3
Código abaixo:
[code=C]/*
#include
#include

int main(){

int VAL , CONT , RES , RESP;
printf("\n\nDigite quantos valores voce quer: ");
scanf("%d",&VAL);

for(CONT = 1 ; CONT <= VAL ; CONT++ ){
printf("\nDigite o %d° valor: ",CONT);
scanf("%d",&RES);
RESP = RESP + RES;
}
printf("Resposta : %d",RESP);
return 0;
}

*/[/code]
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#5 Por esquiloesper...
11/05/2016 - 20:54
É isso aí.

Mais cedo peguei a sua ideia e fiz a mesma coisa, porém executando as 4 operações. Percebi que você seguiu o mesmo raciocínio, parabéns!
Prossiga superando os desafios porque é assim que se adquire o conhecimento.
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
KomsumProduckt
KomsumProduc... Novo Membro Registrado
25 Mensagens 7 Curtidas
#6 Por KomsumProduc...
11/05/2016 - 21:13
esquiloesperto disse:
É isso aí.

Mais cedo peguei a sua ideia e fiz a mesma coisa, porém executando as 4 operações. Percebi que você seguiu o mesmo raciocínio, parabéns!
Prossiga superando os desafios porque é assim que se adquire o conhecimento.

Vlw , Mas minha alegria acabou... Da dando treta nas minhas contas.
O resultado qualquer esta dando um valor de memoria tipo : 2 + 2 = 3847032470 . Se poder me ajudar , agradeço ;3
[code=C]/*
#include
#include

int main(){

char DE;
int A[3];

printf("A) Adicao\n");
scanf("%c",&DE);
if(DE == 'A'){
printf("Digite quantos valores você ira usar: ");
scanf("%d",&A[0]);
for(CONT = 1 ; CONT <= A[0] ; CONT++){
printf("Digite o %dº valor: ",CONT);
scanf("%d",&A[1]);
A[2] = A[2] + A[1];
}
printf("RESULTADO : %d\n",A[2]);
}
}
*/[/code]
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#7 Por esquiloesper...
12/05/2016 - 11:54
KomsumProduckt disse:
O resultado qualquer esta dando um valor de memoria tipo : 2 + 2 = 3847032470 . Se poder me ajudar , agradeço ;
- Uai, muito simples. Veja isso:[code=C]A[2] = A[2] + A[1];[/code]
Você está utilizando A[2] na soma como se ele tivesse algum valor, quando na verdade ainda não tem.
Para corrigir, simplesmente altere essa parte:
[code=C]int A[3];[/code]Para:
[code=C]int CONT, A[3] = {0,0,0};[/code]
Boa sorte.
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
KomsumProduckt
KomsumProduc... Novo Membro Registrado
25 Mensagens 7 Curtidas
#8 Por KomsumProduc...
12/05/2016 - 12:18
esquiloesperto disse:
- Uai, muito simples. Veja isso:[code=C]A[2] = A[2] + A[1];[/code]
Você está utilizando A[2] na soma como se ele tivesse algum valor, quando na verdade ainda não tem.
Para corrigir, simplesmente altere essa parte:
[code=C]int A[3];[/code]Para:
[code=C]int CONT, A[3] = {0,0,0};[/code]
Boa sorte.

Resolveu o meu problema em adição e subtração , só que em multiplicação e divisão da dando ZERO como resultado.
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#11 Por esquiloesper...
12/05/2016 - 20:17
Como disse anteriormente eu fiz ontem, pela manhã.

_________

EDIT: - Aí vai um "help" pra ti (adaptado a teu código, pra tu entender)

Dentro do FOR, na linha onde é feito o cálculo eu fiz assim:

SE (CONT == 1) faça A[2] = A[1]
SENÃO realize o cálculo
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal