• Matéria: Informática
  • Autor: guigomestwo
  • Perguntado 3 anos atrás

Construa um programa EM C que leia o salário de 8 pessoas e armazene-os.

Caso receba um número negativo ou igual a zero, ignore tal valor e peça para o usuário inserir um valor válido.

Em seguida, calcule e armazene quanto ficaria cada salário se houvesse um reajuste (aumento) de 8%.

Depois, imprima uma listagem numerada com o salário inicial e o novo salário com o reajuste.

URGENTEEEE

Respostas

respondido por: Guaxinim5573
1

No código usamos 2 arrays de números do tipo float para guardar o salário inicial e o salário reajustado de cada pessoa.

Usamos um for-loop para rodar ler um número do usuário e salvar os salários.

 Para ler a entrada do usuário, usamos um while-loop com a função scanf e validamos o input do usuário.

 Para reajustar o preço, usamos uma conta matemática simples. REAJUSTE = SALARIO + ((AUMENTO / 100) * SALARIO)

Código:

#include <stdio.h>

// Quantidade de aumento em porcentagem

// Deixe sempre com um "." (Exemplo: 8.0) para a variável ser um float.

#define AUMENTO 8.0

int main() {

// Guardaremos o alário inicial de todos os trabalhadores em um array, faremos o mesmo com os novos salários.

float salarios[8], reajustados[8];

// Usando um for loop para lermos o salário de 8 pessoas

for(int i = 0;i < 8;i++) {

 float salario;

 printf("Insira o salário da pessoa %d: ", i + 1);

 while(scanf("%f", &salario)!=1 && salario < 1) {

  // Salário inválido ou menor que 1.

  printf("%f\n", salario);

  if(!salario || salario < 1) {

   printf("Insira um valor válido.\n");

   // Limpar buffer do stdin

   printf("Insira o salário da pessoa %d: ", i + 1);

   while((getchar()) != '\n');

   continue;

  } else {

   break;

  }

 }

 // Guardando salário inicial

 salarios[i] = salario;

 // Guardando salário com reajuste

 reajustados[i] = salario + (float)((float)(AUMENTO / 100) * salario);

}

printf("\nCom aumento de %d%%, os novos salários são:\n", AUMENTO);

for(int i = 0;i < 8;i++) {

 printf("Pessoa %d: %.2f -> %.2f\n", i + 1, salarios[i], reajustados[i]);

}

return 0;

}

Código compilado com gcc 11.1.0 no sistema operacional Arch Linux.

Se ajudei, por favor, maque a resposta como melhor resposta.

Também estou deixando o código em formato de texto no anexo dessa resposta.

Happy Coding :)

Perguntas similares