Ir ao conteúdo

Posts recomendados

Postado

Uma empresa tem 30 funcionários e resolveu conceder a todos um auxílio mensal de R$60,00 por mês para cada dependente menor de 18 anos. Escreva um programa que, para cada um dos 30 funcionários, leia seu número de dependentes. Em seguida, o programa deve ler a idade de cada dependente e imprimir o valor total do auxílio que este funcionário receberá.

 

FIZ ESSE CODIGO

 

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


int main()
{
     int i, j, idade, a=60, total, parcial, dependentes,invalido;


        printf("\nInforme o numero de dependendes menores de 18: ");
        scanf ("%d", &dependentes);

    for (j=0; j<dependentes; j++){

                printf("\nIdade do dependente: ");
                scanf("%d", &idade);

            }


        if ((idade>0)&&(idade<19)){

            total= a*dependentes;


            printf("\nO total a receber de auxilio e: RS %d,00", total);
        }

        else{
        printf("\nO total a receber de auxilio e de: RS %d", parcial);}

    return 0;
}
 

 

 

porém QUANDO A IDADE É ACIMA DE 18 O PROGRAMA OU IGNORA E SOMA MAIS 60 OU ZERA TUDO.

  • Curtir 1
Postado

@Hernany Luiz Seu código só tem o loop dos dependentes, faltou o loop mais externo a esse dos 30 funcionários. E da forma como fez não está certo porque no loop só está lendo as idades e não está calculando o valor do auxílio. Como você tem que testar cada idade para aplicar o valor, isso tem que ser feito dentro do loop, p.ex,

 

float total = 0;
...
for(int j = 1; j <= dependentes; j += 1){
    int idade;
    printf("Idade do dependente %d: ", j);
    scanf("%d", &idade);
    if(idade < 18){
        total += 60.0;
    }
}

 

  • Curtir 1
Postado
Em 04/09/2021 às 09:33, Hernany Luiz disse:

Uma empresa tem 30 funcionários e resolveu conceder a todos um auxílio mensal de R$60,00 por mês para cada dependente menor de 18 anos. Escreva um programa que, para cada um dos 30 funcionários, leia seu número de dependentes. Em seguida, o programa deve ler a idade de cada dependente e imprimir o valor total do auxílio que este funcionário receberá.

 

FIZ ESSE CODIGO

 

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


int main()
{
     int i, j, idade, a=60, total, parcial, dependentes,invalido
        printf("\nO total a receber de auxilio e de: RS %d", parcial);}

 

você declarou as variáveis 'parcial' e 'inválido' mas não determinou o que elas fazem. Por isso a parte do 'else' não faz muito sentido. Ele vai acabar incluindo os 60 do mesmo jeito. Ta bem confuso, porque você também não determinou o número de funcionários só de dependentes nesse for:

 

for (j=0; j<dependentes; j++){

                printf("\nIdade do dependente: ");
                scanf("%d", &idade);

            }

 

Você determinou um "j" mas não disse o que ele faz na função. Só mandou a pessoa entrar com a idade.

Começa de novo, e vai por partes, vai testando o código enquanto faz. Não faz tudo de uma vez só.

 

 

Postado

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int i, j, a=60, total, parcial, dependentes,invalido;
	int *idade;
	int EmesmoMenorComCerteza =0;
	printf("\nInforme o numero de dependendes menores de 18: ");
	scanf ("%d", &dependentes);
	// para cada malloc, deve ter um free
	idade = malloc(dependentes*sizeof(int));
	for (j=0; j<dependentes; j++)
	{
		printf("\nIdade do dependente: ");
		scanf("%d", &idade[j]);
		if ((0<idade[j])&&(idade[j]<19))
		{
			EmesmoMenorComCerteza++;
			printf("\nA receber de auxilio por dependente: RS %d,00", a);
		}
	}
	total= a*EmesmoMenorComCerteza;
	printf("\nO total a receber de auxilio e de: RS %d\n", total);
	// um free aqui
	free(idade);
	return 0;
}


Esses enunciados desses professores atualmente são estranhos...
Mas tá ai como poderia funcionar.

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