Ir ao conteúdo

Posts recomendados

Postado

Estou fazendo um exercício simples de laço de repetição, mas não está dando certo.

Eu teria que que aumentar o ano e o salário da pessoa no laço de repetição While, mas o laço fica repetindo na primeira testagem - 1997 = R$ 1045,00.

Teria que aumentar o salário até o ano de 2000, só que fica repetindo:

1997: R$ 1045,00.

1998: R$ 1045,00.

1999: R$ 1045,00.

2000: R$ 1045,00.

 

-O exercício é esse:

Um funcionário de uma empresa recebe aumento salarial anualmente. Sabemos que:

a) esse funcionário foi contratado em 1995, com salário inicial de R$ 1.000,00;

b) em 1996, recebeu aumento de 1,5% sobre seu salário inicial;

c) a partir de 1997 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior.

Faça um programa que determine o salário desse funcionário até o ano 2000.

 

O que eu fiz: 

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


int main (){

    setlocale(LC_ALL, "");
    
    float salario, salario_atual, salario_novo, aum, pc, aux;
    int ano;
    
    salario = 1000;
    printf("Salário em 1995: %.2f R$", salario);
    printf("\nO aumento salarial é de: 1,5%%\n");
	
	pc = 1.5;
    aum = (salario * pc) / 100;
    salario_atual = aum + salario;
    
    printf("\nSalário em 1996: %.2f R$\n", salario_atual);
    
    ano = 1996;
    while (ano < 2000){
    	ano++;
    	aux = (salario_atual * (pc * 2)) / 100;
    	salario_novo = salario_atual + aux;
    	printf("\nEm %d o salário será de: %.2f", ano, salario_novo);
    
	}
	
    return 0;
}

 

  • Amei 1
Postado

Você só se esqueceu de mudar os valores dos salários dentro do while, ou seja todo ciclo que ele fizer ele terá sempre os mesmo valores internamente, pois aux e salario_novo não recebe absolutamente nada de novo, você teria que colocar o percentual que dobra de ano em ano na conta que se encontra dentro do while bastando colocar o pc lá dentro e dobrá-lo com a cada ciclo ... pc *=  2

  • Curtir 1
Postado

@Vitor_TEC

1 hora atrás, Julia Tadei disse:

mano desculpa, eu entendi que as variáveis não estão recebendo um valor, porém eu não estou conseguindo colocar em prática. Se você puder escrever essa parte do código, eu agradeço. Eu realmente não estou conseguindo visualizar o que você disse.

 

  • Curtir 1
Postado

@Julia Tadei   creio que o que o  @Vitor_TEC   disse , foi  assim :

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main (){
    setlocale(LC_ALL, "");
    float salario, salario_atual, salario_novo, aum, pc, aux;
    int ano;
    salario = 1000;
    printf("Salário em 1995: %.2f R$", salario);
    printf("\nO aumento salarial é de: 1,5%%\n");
    pc = 1.5;
    aum = (salario * pc) / 100;
    salario_atual = aum + salario;
    printf("\nSalário em 1996: %.2f R$\n", salario_atual);
    ano = 1996;
    pc = 0.015;
    while (ano <= 2000){
        ano++;
        pc *= 2;
        salario_atual += salario_atual * pc;
        printf("\nEm %d o salário será de: %.2f\n\n\n", 
                                   ano, salario_atual);
    }
    return 0;
}

 

  • Amei 1

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

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

×
×
  • Criar novo...