erro no loop [RESOLVIDO]

1. erro no loop [RESOLVIDO]

lucas
ljparaujo

(usa Debian)

Enviado em 04/05/2015 - 19:05h

superiores podem me ajudar com esse programa ele compila normal porem quando vou repetir o loop para continuar o loop so acontece uma vez depois encerra o programa podem me ajudar o dizer o que eu fiz de errado, aqui esta o algoritmo
#include <stdio.h>
int main()
{
float numAnimal,precoUni,totalPago,comissao;
int escolha;
char tecla = 's';

while(1)
{

printf("Tabela eletronica de compra.\n\n");
printf("[G]ado.\n[E]quinos.\n[O]vinos.\n");

scanf("%c",&escolha);

if(escolha == 'g')
{
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.05;

printf("Comissão a ser paga: %.2f\n",comissao);


}

if(escolha == 'e')
{
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.07;

printf("Comissão a ser paga: %.2f\n",comissao);

}

if(escolha == 'o')
{
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.03;

printf("Comissão a ser paga: %.2f\n",comissao);


}

printf("Deseja continuar, [S,N] ? : ");

tecla = getchar();

scanf("%c",&tecla);

tecla = tolower(tecla);

printf("%c", tecla);

if(tecla != 's')
{
break;
}

}

return 0;

}
agradeço de ante mão ajuda


  


2. MELHOR RESPOSTA

Thiago Henrique Hüpner
Thihup

(usa Linux Mint)

Enviado em 04/05/2015 - 19:42h

Amigo, coloque seu código entre as tags [code] e [/code]

Eu editei de uma forma que funcione.
Qualquer dúvida só postar aqui

#include <stdio.h>
#include <ctype.h> // "tolower"

int main(void){

float numAnimal,precoUni,totalPago,comissao;
char escolha; // Você está utilizando como int
char tecla = 's';

float totalComprado = 0;

while(1){
printf("\n\n\tTabela eletronica de compra.\n\n");
printf("[G]ado.\n[E]quinos.\n[O]vinos.\nDigite a escolha: ");
scanf("%c",&escolha);

escolha = tolower(escolha);

if(escolha == 'g'){
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.05;

printf("Comissão a ser paga: %.2f\n",comissao);

totalComprado += (totalPago + comissao);

}else if(escolha == 'e'){
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.07;

printf("Comissão a ser paga: %.2f\n",comissao);

totalComprado += (totalPago + comissao);

}else if(escolha == 'o'){
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.03;

printf("Comissão a ser paga: %.2f\n",comissao);

totalComprado += (totalPago + comissao);
}

getchar();
printf("Deseja continuar, [S,N] ? : ");
scanf("%c",&tecla);
getchar();

tecla = tolower(tecla);

if(tecla != 's')break;

printf("\n\nTotal: \t%.2f\n",totalComprado);

}

return 0;

}


Espero ter ajudado

[]'s

T+

3. Re: erro no loop [RESOLVIDO]

thiago henrique
Thiago211

(usa openSUSE)

Enviado em 04/05/2015 - 23:02h

ljparaujo escreveu:

superiores podem me ajudar com esse programa ele compila normal porem quando vou repetir o loop para continuar o loop so acontece uma vez depois encerra o programa podem me ajudar o dizer o que eu fiz de errado, aqui esta o algoritmo
#include <stdio.h>
int main()
{
float numAnimal,precoUni,totalPago,comissao;
int escolha;
char tecla = 's';

while(1)
{

printf("Tabela eletronica de compra.\n\n");
printf("[G]ado.\n[E]quinos.\n[O]vinos.\n");

scanf("%c",&escolha);

if(escolha == 'g')
{
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.05;

printf("Comissão a ser paga: %.2f\n",comissao);


}

if(escolha == 'e')
{
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.07;

printf("Comissão a ser paga: %.2f\n",comissao);

}

if(escolha == 'o')
{
printf("Preço unitario do animal (R$): ");
scanf("%f",&precoUni);

printf("Numero de animais a serem adiquiridos: ");
scanf("%f",&numAnimal);

totalPago = numAnimal * precoUni;

printf("Preço total a ser pago: %.2f\n",totalPago);

comissao = totalPago * 0.03;

printf("Comissão a ser paga: %.2f\n",comissao);


}

printf("Deseja continuar, [S,N] ? : ");

tecla = getchar();

scanf("%c",&tecla);

tecla = tolower(tecla);

printf("%c", tecla);

if(tecla != 's')
{
break;
}

}

return 0;

}
agradeço de ante mão ajuda



Nosso amigo Thihup ja te ajudou mas só um conselho ;) te indicaria a usar funcoes nos codigos ,isso vai deixar o codigo mais organizado ,e vai te ajudar a melhorar na construcao de algoritmos .

Pra você ter uma idéia tente implementar esse código com funco&#7869;s : funcão gado ,equino e bovino ,e verá que é um pouco mais complicado ;)

T+
Abraço.



4. Re: erro no loop [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Linux Mint)

Enviado em 05/05/2015 - 12:19h

Amigo, se ajudei, marque o tópico como resolvido e escolha a melhor resposta !

Espero ter ajudado

[]'s

T+


5. resolvido

lucas
ljparaujo

(usa Debian)

Enviado em 05/05/2015 - 14:58h

muito obrigado a todos








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts