Ir ao conteúdo
  • Cadastre-se

Programação em c - problema para compilar


Posts recomendados

Por que meu programa não compila? sempre aparece erro na linha do ''for'' ( expected ";" before ")" token ). Eu programo no codeblocks. To aprendendo como usar o ''for'' agora, então deve ser por isso.

 

Proposta do exercicio:

 

•Um funcionário de uma empresa recebe, anualmente, aumento salarial. Sabe-se que:

a)Esse funcionário foi contratado em 2005, com salário inicial de R$ 1.000,00

b)Em 2006, ele recebeu aumento de 1,5% sobre o seu salário inicial

c)A partir de 2007 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior

•Faça um programa que determine o salário atual desse funcionário.

 

int main()
{
    float i, anoatual, salario, novosalario, perc;

    printf ("DIGITE O ANO ATUAL: \n");
    scanf ("%f", &anoatual);
    salario = 1000;
    perc= 1.5/100;
    novosalario= salario+perc*salario;

   for (i=2007;anoatual)
   {
       perc=2*perc;
       novosalario=novosalario+perc*novosalario;
   }
    printf ("O SALARIO NO ANO ATUAL é: %.f", novosalario);

}

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, vangodp disse:

for tem que ter 2 ponto e vírgulas dentro dos parêntesis, mesmo omitindo algum dos seus campos. Exemplo:
for ( i=0 ; i<5 ; )
for( ; i<5; i++)
for ( i=0 ; ; i++)

for(;;)

Como você pode ver, sempre leva os 2

entendi, e tem alguma regra de onde colocar o ponto e virgula?

isso - (i=2007;;anoatual) é igual á isso- (i=2007;anoatual;)  ?

Link para o comentário
Compartilhar em outros sites

@Larissa Toral seria isto for ( ; i=2007 ; anoatual)

pois o for funciona assim

como esse exemplo de como ele funciona

for(valor_inicial; condição_final; valor_incremento) {

     instruções;

}

ou

#include <stdio.h>

#include <conio.h>

int main(void)

{

  int contador; //variável de controle do loop

  for(contador = 1; contador <= 10; contador++)

  {

      printf("%d ", contador);

  }

  getch();

  return(0);

}

por exemplo está fazendo um contador de 0-10 sendo que está usando estes parametros do for)

Link para o comentário
Compartilhar em outros sites

18 minutos atrás, GabrielLP14 disse:

@Larissa Toral seria isto for ( ; i=2007 ; anoatual)

pois o for funciona assim

como esse exemplo de como ele funciona

for(valor_inicial; condição_final; valor_incremento) {

instruções; }

 

AGORA ENTENDI, MUIIIIIIIIIIIIIIIIIIIIITO OBRIGADA!

 

mas agora tenho outro problema (que não sei se você pode me ajudar)

o programa ta copilando tudo ok, porém ele não da o resultado final o "novosalario". Você sabe me dizer o porquê?

int main()
{
    float i, anoatual, salario, novosalario, perc;

    printf ("DIGITE O ANO ATUAL: \n");
    scanf ("%f", &anoatual);
    salario = 1000;
    perc= 1,5/100;
    novosalario= salario+perc*salario;


   for (;i=2007;anoatual)
   {
       perc=2*perc;
       novosalario=novosalario+perc*novosalario;

   }
    printf ("O SALARIO NO ANO ATUAL é: %.1f", novosalario);


}

 

Link para o comentário
Compartilhar em outros sites

@Larissa Toral tente criar uma váriavel do primeiro ano(e de o valor de 2007) e uma do ano atual e deixe com valor de 2016

dai quando você pedir pra digitar o valor você estaria pedindo para ver o salário daquele ano

se quiser eu faço um aqui para você ter uma base 

Link para o comentário
Compartilhar em outros sites

Espero ajudar:

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

int main()
{
    //Ano é formado apenas por inteiros
    int anoatual = 0;
    float i, salario, novosalario, perc, percSal;

    printf ("DIGITE O ANO ATUAL(maior que 2005): \n");
    scanf ("%d", &anoatual);

    //Salario
    salario = 1000;
    //Porcentagem a ser usada
    perc = 1.5;
    //Salario referente a porcentegam
    percSal = 1000 / perc;
    //Como estamos no ano inicial, nao usamos a porcentagem do ano passado
    novosalario=salario;

    //Como ja comecamos com 2006 acima, vamos continuar em 2006
    for (i=2006;i<=anoatual;i++)
    {
       //Porcentagem do salario anterior dobrada
       percSal=(novosalario/perc)*2;
       //Novo salario é o antigo mais a porcentagem do salario
       novosalario+=percSal;
    }
    printf ("O SALARIO NO ANO ATUAL: %.2f", novosalario);

    getchar();
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...