Galera preciso de um help, quero monta um while desse tipo : while(jg != 1 || jg !=2){ comandos ... } Mas independente do valor contido na variavel "jg" ele executa os comando do mesmo jeito. o que posso fazer ?
Obrigado Galera, já consegui fazer funcionar... no lugar das barras "||", coloquei "&&", fazer um teste fechado , rsrs' Fiquei 1 hora pra lembra isso. Vlw ... o Código completo é esse : #include #include #include
int main() { system("chcp 1252 > chcp.tmp");
int jg,i,num; printf("\nDigite 1 para entrar no jogo, ou digite 2 para sair:"); scanf("%d",&jg); while(jg != 1 && jg != 2) { printf("\nValor Incorreto, tente novamente."); printf("\nDigite 1 para entrar no jogo, ou digite 2 para sair:"); scanf("%d",&jg); } while(jg == 1) { system("cls"); srand( (unsigned)time(NULL) ); printf("\n#######Vamos jogar#######"); printf("\nTente me vencer, escolherei 1 número de 0 a 10,"); printf("\nse você acertar qual o número eu escolhi, você venceu."); printf("\n\tTente a sorte ;)"); i = 1 + ( rand() % 10 ); printf("\nDê sua opnião = "); scanf("%d",&num); if(num == i) printf("\nParabéns, você me venceu !"); else printf("\n#SabeDeNadaInocente"); printf("\nDigite 1 para continuar no jogo, ou digite 2 para sair:"); scanf("%d",&jg); } printf("\nAperte ENTER para sair!"); return 0; }
22 de maio de 2014 às 16:42
Anônimo disse...
O miolo do meu codigo de PA
while (quant>0) { printf ("PA= %f\n", valor); valor+=razao; //valor inicial mais a razao quant--; //qunatidade de termos da P.A }
Testei rodou massa! testei e tudo comparando com o do site
25 de maio de 2014 às 09:21
Comentário excluído
Este comentário foi removido pelo autor.
17 de julho de 2014 às 19:59
Anônimo disse...
Ja declarei a biblioteca mas o compilador ainda não reconhece o 'pow'.
11 de abril de 2015 às 15:27
Anônimo disse...
Bom, este é o meu código no exercício da P.G.:
#include #include
int main()
{ int init, rate, term; int elemento, count = 1, total = 0;
// Recebendo dados do usuário final; printf("Termo inicial da P.G.: \n"); scanf("%d", &init); printf("Razao da P.G.: \n"); scanf("%d", &rate); printf("N de termos da P.G.: \n"); scanf("%d", &term);
// Lógica para determinar a soma dos termos da P.G. (total) com o auxílio da variável 'elemento', // que analisa cada elemento da P.G. e soma seu resultado à variável 'total'; while(count <= term) { elemento = init*pow(rate,(count-1)); total += elemento; count++; } printf("A soma dos termos da P.G. e: %d.", total); }
Quis criar um código que fosse além do exposto no site, e somasse todos os termos da P.G.; o problema é que o código roda perfeitamente, porém, ao utilizar dados como init:5, rate:5, e term:3, o programa retorna que a soma dos termos equivale a 154, quando na verdade equivale a 155. Testei inumeras entradas semelhantes, e dá o mesmo erro. O que pode estar errado?
Desde já, agradeço a vocês pelo excelente material!
Estou acompanhando até o momento, mas como nem tudo são flores, vamos lá: Eu acho meio fora da realidade estar ensinando While (o que eu acho um dos difíceis até então) usando Progressão Aritimética e Geometrica. Para mim matou sobre while alim, espero mais para frente ser mais simples...obrigado!
24 de novembro de 2015 às 15:34
Anônimo disse...
BOA TARDE PRECISO URGENTE SABER QUAL E A DIF, VLW
QUAL A DIFERENÇA DO COMANDO 'DO'DO COMANDO WHILE???????
9 de março de 2016 às 11:57
Lima disse...
Como faço para imprimir um nome várias vezes com while
Boa tarde, pessoal. Alguém se disponibiliza em me orientar de como posso desenvolver este programa,por favor?
Crie um programa, em linguagem C, que calcule o tamanho da árvore da vida, após um determinado número de ciclos de crescimento, levando-se em consideração que a árvore começa com um metro de tamanho.
Uma árvore, com 1 metro de tamanho, após 1 ciclo, fica com 2 metros. Uma árvore, com 1 metro de tamanho, após 2 ciclos, fica com 3 metros. Uma árvore, com 1 metro de tamanho, após 3 ciclos, fica com 6 metros. Uma árvore, com 1 metro de tamanho, após 4 ciclos, fica com 7 metros. Uma árvore, com 1 metro de tamanho, após 5 ciclos, fica com 14 metros. Uma árvore, com 1 metro de tamanho, após 6 ciclos, fica com 15 metros. Uma árvore, com 1 metro de tamanho, após 7 ciclos, fica com 30 metros.
25 de junho de 2016 às 09:56
Anônimo disse...
O que esta em baixo do {DO} E A CIMA do {while} vai ser repetido pelomenos uma vez ;mesmo si for verdadeiro ou não , depois que ele faz o teste no while
8 de setembro de 2016 às 05:12
Anônimo disse...
O que esta abaixo do {do} e acima do {while} vai rodar pelomenos uma vez ,mesmo si for verdadeiro ou não ;
8 de setembro de 2016 às 05:16
Comentário excluído
Este comentário foi removido pelo autor.
8 de março de 2017 às 17:22
Anônimo disse...
Geovani, ta colocando o incremento em erros para toda vez que a pessoa erra? ex:
erros++;
30 de março de 2017 às 14:50
Com o teste condicional IF ELSE, explicado aqui na apostila C Progressivo, você passou a ter mais controle sobre suas aplicações em C, pois agora você pode escolher o que será rodado em seu programa, dependendo dos valores lógicos que esse teste condicional faz.
Vamos agora introduzir outro importante assunto em linguagem de programação C: laços. Também conhecidos por loopings.
Com laços e testes, você passará a ter total controle do fluxo em seus códigos.
Clique aqui e saiba como obter seu certificado de programação C! Entre já no Mercado de Trabalho!
Leia esse conteúdo Offline: Apostila C Progressivo
Repetir e repetir: o que são e para que servem os laços em C
O laço while: definição e sintaxe
While, em inglês, significa 'enquanto'.
A função do laço while é repetir um determinado trecho ENQUANTO uma determinada condição for verdadeira.
Por exemplo, enquanto (while) o personagem tiver life, o jogo deve continuar.
Enquanto (while) a mp3 não terminar, ela deve continuar tocando.
Enquanto (while) um jogador não ganhar, perder ou der empate, o jogo da velha deve continuar rodando.
Enquanto o usuário não digitar 0, seu programa deve continuar rodando.
E poderíamos dar milhões de exemplos do quanto os laços, como o while, são importantes e essenciais em linguagem C.
Vamos, então, aprender a usá-lo.
A sintaxe é a seguinte:
while( condição )
{
//código que
//será repetido
}
Ou seja, o código do bloco só será rodado enquanto a condição der resultado verdadeiro.
Primeiro o while testa a condição, se for verdadeira, ele roda.
Ao término, ele testa novamente e roda novamente se for verdadeira.
Caso, em algum momento, o teste forneça valor lógico FALSO, o while vai parar e seu programa segue o fluxo normalmente.
Essas 'rodadas' de 'testa e roda' do while, e de outros laços, são chamadas de iterações.
E se a condição for sempre verdadeira? Como em:
while( 1 )
{
printf("O que acontece?\n");
}
Acontece um looping infinito. Esse printf, ou qualquer código naquele lugar, rodaria indefinidamente...só pararia quando você fechasse o aplicativo ou reiniciasse sua máquina.
Na grande maioria dos códigos em C, porém, essa condição vai mudando.
Geralmente é um número que cresce ou decresce, e ao atingir certo ponto, o while recebe FALSE como resultado do teste da condição, e o while termina.
Vamos ver alguns exemplos.
Exemplo comentado de código: Programa em C que conta de 1 até 10 usando o laço while
Primeiro declaramos uma variável, e inicializamos ela com o valor inicial, que é 1.
Logo em seguida ,fazemos com que o while dê um printf, mostrando o valor dessa variável ENQUANTO ela for MENOR ou IGUAL a 10.
Após imprimir o número 10, a variável é incrementada e passa a ter valor 11.
Como 11 não é menor ou igual a 10, o laço recebe valor lógico FALSE e termina sua execução.
#include <stdio.h>
int main(void)
{
int numero=1;
while(numero <= 10)
{
printf("%d\n", numero);
numero++;
}
}
Outros testes que resultariam positivo para esse exemplo:
while(numero < 19);
while(numero != 11);
Exemplo: Programa em C que conta de 10 até 1, usando o laço while
Agora vamos fazer o contrário do exemplo passado.
A lógico é a mesma: veja, raciocine e tente entender sozinho:
#include <stdio.h
int main(void)
{
int numero=10;
while(numero >= 1)
{
printf("%d\n", numero);
numero--;
}
}
Exemplo comentado de código: Crie um aplicativo em C que peça ao usuário o primeiro elemento de uma P.A, a razão da P.A e o número de elementos a serem exibidos.
O termo inicial P.A será armazenado na variável init.
A razão da P.A será armazenado na variável rate, e o número de elementos da P.A será armazenado na variável term.
Vamos usar duas variáveis de apoio, para contar.
Uma delas é a variável num, que representará o valor de cada termo da P.A. O valor dela será mudado a cada iteração, percorrendo todos os valores da P.A.
Já a variável count será usada para contar os termos da P.A. Os termos começam no primeiro (1) e terminar no último (term).
A fórmula para saber o valor do elemento 'an' de uma P.A é:
an = a1 + (n - 1) * razão
Assim, nosso código em C fica:
#include <stdio.h>
int main(void)
{
int init,
rate,
term;
int num,
count=1;
printf("Digite o numero inicial da P.A: ");
scanf("%d", &init);
printf("Digite a razao da P.A: ");
scanf("%d", &rate);
printf("Digite o numero de termos da P.A: ");
scanf("%d", &term);
while(count <= term)
{
num = init + (count - 1) * rate;
printf("Termo %d: %d\n",count, num);
count++;
}
}
Exemplo comentado de código: Crie um aplicativo em C que peça ao usuário o primeiro elemento de uma P.G, a razão da P.G e o número de elementos a serem exibidos. O raciocínio é análogo ao do exemplo anterior. Mas o termo 'an' de uma P.G é diferente da P.A, e é dado por:
an = a1 * (razao)^(n-1)
A única diferença aqui é que vamos usar a função pow da biblioteca math.h.
O uso dela é bem simples: pow(a,b) significa 'a elevado a b'.
Então, nosso código em C fica:
#include <stdio.h>
#include <math.h>
int main(void)
{
int init,
rate,
term;
int num,
count=1;
printf("Digite o numero inicial da P.G: ");
scanf("%d", &init);
printf("Digite a razao da P.G: ");
scanf("%d", &rate);
printf("Digite o numero de termos da P.G: ");
scanf("%d", &term);
while(count <= term)
{
num = init*pow(rate,(count-1));
printf("Termo %d: %d\n",count, num);
count++;
}
}
postado por Programação Progressiva às 07:16 em 22 de fev. de 2013
17 Comentários
Fechar esta janela Ir para formulário de comentárioDesculpe a ignorância, mas não entendi o que quer dizer P.A e P.G
4 de maio de 2014 às 19:12
PA (progressão aritimética) e PG (progressão geométrica).
5 de maio de 2014 às 08:25
Galera preciso de um help,
quero monta um while desse tipo :
while(jg != 1 || jg !=2){
comandos ...
}
Mas independente do valor contido na variavel "jg" ele executa os comando do mesmo jeito.
o que posso fazer ?
22 de maio de 2014 às 16:14
Obrigado Galera, já consegui fazer funcionar... no lugar das barras "||", coloquei "&&", fazer um teste fechado , rsrs' Fiquei 1 hora pra lembra isso. Vlw ...
o Código completo é esse :
#include
#include
#include
int main()
{
system("chcp 1252 > chcp.tmp");
int jg,i,num;
printf("\nDigite 1 para entrar no jogo, ou digite 2 para sair:");
scanf("%d",&jg);
while(jg != 1 && jg != 2)
{
printf("\nValor Incorreto, tente novamente.");
printf("\nDigite 1 para entrar no jogo, ou digite 2 para sair:");
scanf("%d",&jg);
}
while(jg == 1)
{
system("cls");
srand( (unsigned)time(NULL) );
printf("\n#######Vamos jogar#######");
printf("\nTente me vencer, escolherei 1 número de 0 a 10,");
printf("\nse você acertar qual o número eu escolhi, você venceu.");
printf("\n\tTente a sorte ;)");
i = 1 + ( rand() % 10 );
printf("\nDê sua opnião = ");
scanf("%d",&num);
if(num == i)
printf("\nParabéns, você me venceu !");
else
printf("\n#SabeDeNadaInocente");
printf("\nDigite 1 para continuar no jogo, ou digite 2 para sair:");
scanf("%d",&jg);
}
printf("\nAperte ENTER para sair!");
return 0;
}
22 de maio de 2014 às 16:42
O miolo do meu codigo de PA
while (quant>0)
{
printf ("PA= %f\n", valor);
valor+=razao; //valor inicial mais a razao
quant--; //qunatidade de termos da P.A
}
Testei rodou massa!
testei e tudo comparando com o do site
25 de maio de 2014 às 09:21
Este comentário foi removido pelo autor.
17 de julho de 2014 às 19:59
Ja declarei a biblioteca
mas o compilador ainda não reconhece o 'pow'.
11 de abril de 2015 às 15:27
Bom, este é o meu código no exercício da P.G.:
#include
#include
int main()
{
int init, rate, term;
int elemento,
count = 1,
total = 0;
// Recebendo dados do usuário final;
printf("Termo inicial da P.G.: \n");
scanf("%d", &init);
printf("Razao da P.G.: \n");
scanf("%d", &rate);
printf("N de termos da P.G.: \n");
scanf("%d", &term);
// Lógica para determinar a soma dos termos da P.G. (total) com o auxílio da variável 'elemento',
// que analisa cada elemento da P.G. e soma seu resultado à variável 'total';
while(count <= term)
{
elemento = init*pow(rate,(count-1));
total += elemento;
count++;
}
printf("A soma dos termos da P.G. e: %d.", total);
}
Quis criar um código que fosse além do exposto no site, e somasse todos os termos da P.G.; o problema é que o código roda perfeitamente, porém, ao utilizar dados como init:5, rate:5, e term:3, o programa retorna que a soma dos termos equivale a 154, quando na verdade equivale a 155. Testei inumeras entradas semelhantes, e dá o mesmo erro. O que pode estar errado?
Desde já, agradeço a vocês pelo excelente material!
21 de abril de 2015 às 07:56
Olá, ainda não consegui perceber para que serve o void, int main(void), alguem me poderá explicar?
Obrigado
7 de julho de 2015 às 09:15
Estou acompanhando até o momento, mas como nem tudo são flores, vamos lá: Eu acho meio fora da realidade estar ensinando While (o que eu acho um dos difíceis até então) usando Progressão Aritimética e Geometrica. Para mim matou sobre while alim, espero mais para frente ser mais simples...obrigado!
24 de novembro de 2015 às 15:34
BOA TARDE PRECISO URGENTE SABER QUAL E A DIF, VLW
QUAL A DIFERENÇA DO COMANDO 'DO'DO COMANDO WHILE???????
9 de março de 2016 às 11:57
Como faço para imprimir um nome várias vezes com while
10 de junho de 2016 às 08:22
Boa tarde, pessoal. Alguém se disponibiliza em me orientar de como posso desenvolver este programa,por favor?
Crie um programa, em linguagem C, que calcule o tamanho da árvore da vida, após um determinado número de ciclos de crescimento, levando-se em consideração que a árvore começa com um metro de tamanho.
Uma árvore, com 1 metro de tamanho, após 1 ciclo, fica com 2 metros.
Uma árvore, com 1 metro de tamanho, após 2 ciclos, fica com 3 metros.
Uma árvore, com 1 metro de tamanho, após 3 ciclos, fica com 6 metros.
Uma árvore, com 1 metro de tamanho, após 4 ciclos, fica com 7 metros.
Uma árvore, com 1 metro de tamanho, após 5 ciclos, fica com 14 metros.
Uma árvore, com 1 metro de tamanho, após 6 ciclos, fica com 15 metros.
Uma árvore, com 1 metro de tamanho, após 7 ciclos, fica com 30 metros.
25 de junho de 2016 às 09:56
O que esta em baixo do {DO} E A CIMA do {while} vai ser repetido pelomenos uma vez ;mesmo si for verdadeiro ou não , depois que ele faz o teste no while
8 de setembro de 2016 às 05:12
O que esta abaixo do {do} e acima do {while} vai rodar pelomenos uma vez ,mesmo si for verdadeiro ou não ;
8 de setembro de 2016 às 05:16
Este comentário foi removido pelo autor.
8 de março de 2017 às 17:22
Geovani, ta colocando o incremento em erros para toda vez que a pessoa erra?
ex:
erros++;
30 de março de 2017 às 14:50