Ir ao conteúdo

Posts recomendados

Postado

Boa tarde 

 

Alguém pode por favor me ajudar a fazer este programa?

 

 

O Esporte Clube Montanhês, time da cidade de Ervália/MG, precisa reajustar os pagamentos de salários aos seus atletas devido à crise do COVID-19. Escreva um programa em C que atenda aos requisitos abaixo: a. Receba: (50 pts cada) i. o código da posição que determinado jogador de futebol atua, conforme tabela I; ii. o valor do salário fixo do jogador; iii. a quantidade de gols feitos, se for um jogador de linha, a quantidade de jogos sem sofrer gol, se for um goleiro. b. Calcule: (100 pts cada) i. o bônus de salário por desempenho, conforme tabela I; ii. o salário final (fixo mais bônus); iii. qual o percentual o salário bônus significa sobre o salário total. c. Mostre: (25 pts cada) i. o salário fixo; ii. o salário bônus; iii. o salário total; iv. o percentual do salário bônus sobre o salário total. Observações: i. Idente o código (100 pts); ii. Comente o código (50 pts); iii. Nomeie as variáveis com nomes válidos e coerentes; (50 pts); iv. Faça as consistências (150 pts); 2 de 2 v. Escreva sua codificação de forma lógica, clara e coerente (100 pts).

 

 

TABELA I (G = gols) G – Goleiro (GO) G = 0 R$ 10.000,00 0 < G < 5 R$ 1.000,00 4 < G R$ 0,00 D– Defesa (DF) G = 0 R$ 0,00 0 < G < 3 R$ 5.000,00 2 < G R$ 8.000,00 M – Meio (MF) G = 0 R$ 0,00 0 < G < 6 R$ 6.000,00 5 < G R$ 9.000,00 A – Ataque (AT) G = 0 R$ 0,00 0 < G < 10 R$ 10.000,00 9 < G R$ 18.000,00

Postado

switch() é um comando.

 

Você passa uma valor e as alternativas de código para cada valor. incluindo uma chamada default para quando não achar o valor certo. Imagine um char e você querer fazer coisas dependendo do valor. Pode escrever

char Letra = '? ';

switch( letra )
{
    case 'a':
    case 'b':
        // era 'a'ou 'b'
    	// coisas
    	break; // continua depois da } 
    case 'd':
        break;
    case 'e':
    	// e assim por diante
        break;
  default:
        // vem aqui se for outro valor
        break;
}

Algo assim. É um comando de seleção e em muitos casos fica mais legível que uma série de if()

Postado

Analisando seu problema, percebi que o enunciado nao exige a quantidade de gols sofridos pelo goleiro mas a quantidade de jogossem tomar gols. A tabela do problema mostra em G = gols. Mas o exercicio nao exige a entrada de quantos gols sofreu o goleiro somente quantidade de jogos sem tomar gols, como fazer os calculos de bonus e salario sem saber quantos gols tomou o goleiro?

Postado

 

Fiz um algoritmo para solucao do seu exercicio (trabalho), mas existem outras formas de fazer o mesmo fica de exemplo ou para estudo. Lembrando que o exercicio nao exige a quantidade de gols que o goleiro tomou, mas coloquei em codigo para seguir o mesmo padrão dos jogadores de linha.

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

int main(int argc, char *argv[])
{
   
   //declaracao de variaveis
    int qtdGols, gGols, i, k;
    float salarioJ, totalB, totalS, porcentB;
    char tipoJdr[2], *strJogador;
    
    //entrada de dados
    printf("Qual codigo do jogador? Digite\ngo Para Goleiro\ndf para defensor\nmf para meio campo\nat para atacante.\nDigite aqui: ");
    gets(tipoJdr);
     strJogador = tipoJdr;
    printf("Digite o Salario do jogador, R$: ");
    scanf("%f", &salarioJ);
    
    //estrutura de for para comprar strings 
    for(i = 0; i < strlen(strJogador) - 1; i++){
            //for i -> primeiro caractere for k -> segunfo caractere
    	 	 for(k = strlen(strJogador) - 1; k > 0; k--){
                 //início dos condicionais de verificacao
    	 		if(tipoJdr[i] == 'g' && tipoJdr[k] == 'o'){
    	 		 		
    	                printf("Quantos gols tomados? ");
                        scanf("%d", &gGols);
    	               //checagem dos bonus      	     
    	               if(gGols == 0){
    	               	totalB= 10000;	               
    	                }else if(gGols < 5){
    	                	totalB = 1000;
    	                }else if(gGols > 5){
    	                   totalB = 0;	
    	                }
    	               //calculos de %do bonus e salario total 
    	               porcentB = totalB * salarioJ / 100;
    	                
    	               totalS = salarioJ + totalB + porcentB; 
    	           
    	               printf("\nRecebe R$: %.2f de salario fixo\nR$: %.2f de bonus\nO porcentual de bonus sobre o salario fixo R$: %.2f\nSalario total R$: %.2f", salarioJ, totalB, porcentB, totalS);
    	              
    	      		}else if(tipoJdr[i] == 'd' && tipoJdr[k] == 'f'){ 
                         printf("Quantos Gols marcados? ");
                         scanf("%d", &qtdGols);   
                          //checagem dos bonus 
                         if(qtdGols == 0){
    	               	totalB= 0;	               
    	                }else if(qtdGols < 3){
    	                	totalB = 5000;
    	                }else if(qtdGols > 2){
    	                   totalB = 8000;	
    	                }
    	               //calculos de %do bonus e salario total   
    	               porcentB = totalB * salarioJ / 100;
    	                
    	               totalS = salarioJ + totalB + porcentB; 
    	           
    	               printf("\nRecebe R$: %.2f de salario fixo\nR$: %.2f de bonus\nO porcentual de bonus sobre o salario fixo R$: %.2f\nSalario total R$: %.2f", salarioJ, totalB, porcentB, totalS);
                   
            	 }else if(tipoJdr[i] == 'm' && tipoJdr[k] == 'f'){ 
                   
                         printf("Quantos Gols marcados? ");
                         scanf("%d", &qtdGols);   
                        //checagem dos bonus 
                         if(qtdGols == 0){
    	               	totalB= 0;	               
    	                }else if(qtdGols < 6){
    	                	totalB = 6000;
    	                }else if(qtdGols > 5){
    	                   totalB = 9000;	
    	                }
    	              
    	                //calculos de %do bonus e salario total   
    	               porcentB = totalB * salarioJ / 100;
    	                
    	               totalS = salarioJ + totalB + porcentB; 
    	           
    	               printf("\nRecebe R$: %.2f de salario fixo\nR$: %.2f de bonus\nO porcentual de bonus sobre o salario fixo R$: %.2f\nSalario total R$: %.2f", salarioJ, totalB, porcentB, totalS);
           
            	 }else if(tipoJdr[i] == 'a' && tipoJdr[k] == 't'){ 
                  
                         printf("Quantos Gols marcados? ");
                         scanf("%d", &qtdGols);   
                        //checagem dos bonus 
                        if(qtdGols == 0){
    	               	totalB= 10000;	               
    	                }else if(qtdGols < 10){
    	                	totalB = 10000;
    	                }else if(qtdGols > 9){
    	                   totalB = 18000;	
    	                }
    	               
    	               //calculos de %do bonus e salario total 
    	               porcentB = totalB * salarioJ / 100;
    	                
    	               totalS = salarioJ + totalB + porcentB; 
    	           
    	               printf("\nRecebe R$: %.2f de salario fixo\nR$: %.2f de bonus\nO porcentual de bonus sobre o salario fixo R$: %.2f\nSalario total R$: %.2f", salarioJ, totalB, porcentB, totalS);
             
            	 }
    	 	
    	 }
  
     }
    	  	  	    	  	  	
	return 0;	
}

 

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