Ir ao conteúdo

Posts recomendados

Postado

Alguém sabe me informar por que toda vez que digito -1,o loop não para? 

 

 

#include <stdio.h>
#include <stdlib.h>


int main(){
int horas;
float sph;
while (horas != -1 ){
    printf("Digite o total de horas trabalhadas: \n");
    scanf("%d",&horas);
    printf("Digite o salário por hora do funcionário RS$: \n");
    scanf("%f",&sph);
    printf("O salário é de R$: \n %f \n",horas*sph);

}
}

 

Postado

Porque a condição de controle está situada no topo da estrutura, antes do primeiro laço e depois dos posteriores. O que você precisa e repensar a estrutura ou edit: ordem do conteúdo da repetição.

Postado
  Em 23/09/2019 às 11:55, MB_ disse:

Porque a condição de controle está situada no topo da estrutura, antes do primeiro laço e depois dos posteriores. O que você precisa e repensar a estrutura ou edit: ordem do conteúdo da repetição.

Expandir  

como assim?

Postado
  Em 23/09/2019 às 12:55, John Eris disse:

como assim?

Expandir  

Note que antes que o laço de repetição comece a variável horas é testada para diferente de -1, porém o usuário só vai adicionar alguma coisa depois desse evento. 

 

Poderia ter adicionado antes? Sim.

      int horas= 0; // Primeiro garanto (na declaração) o número em horas não negativo,
      float sph= 0; // garanto também que, o salário por horas inicie com valor coerente.

      
      printf("Digite o total de horas trabalhadas: ");
      scanf(" %d", &horas);
      while (horas != -1) {

            printf("Digite o salário por hora do funcionário RS$: ");
            scanf(" %f", &sph);

            printf("O salário é de R$: \n %f \n", horas*sph);

            printf("Digite o total de horas trabalhadas: ");
            scanf(" %d", &horas);
      }

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...