• Nenhum resultado encontrado

void lerdados(float *salario, int *horasextras, int *horasatraso, int *dependentes, int *tempodeservico) {

N/A
N/A
Protected

Academic year: 2021

Share "void lerdados(float *salario, int *horasextras, int *horasatraso, int *dependentes, int *tempodeservico) {"

Copied!
10
0
0

Texto

(1)

ex8

/*

8. Faça um programa que leia as seguintes informações dos funcionários de uma empresa: matrícula do funcionário, salário bruto, quantidade de horas extras, quantidade de

horas em atraso, quantidade de dependentes com auxílio creche e tempo de serviço na empresa.

Considerando-se que:

a) o funcionário trabalha 40 horas semanais e o mês tem 4 semanas;

b) o auxílio creche para cada dependente é de R$150,00; c) o desconto de INSS é 10% do salário bruto;

d) o funcionário tem direito a um bônus de R$50,00 para cada ano de trabalho.

Este programa deverá calacular e mostrar para cada funcionário:

1. valor recebido com horas extras, sabendo-se que a hora extra é 50% maior do que a hora normal trabalhada;

2. o desconto com atraso;

3. o valor total a receber com auxílio creche; 4. o valor do bônus recebido por tempo de serviço; 5. o salário líquido do funcionário.

(Termino da repetição com saída "Deseja Continuar (S/N)?") */

#include

void lerMatricula(int *matricula) {

printf("n Matricula: "); scanf("%d", &*matricula); }

void lerDados(float *salario, int *horasExtras, int *horasAtraso, int *dependentes, int *tempoDeServico) { printf("n Salario liquido: "); scanf("%f", &*salario);

(2)

printf("n Horas Extras realizadas: "); scanf("%d", &*horasExtras);

printf("n Horas de atraso: "); scanf("%d", &*horasAtraso); printf("n Quant. Dependentes: "); scanf("%d", &*dependentes); printf("n Tempo de serviço: "); scanf("%d", &*tempoDeServico); printf("nn");

}

float calculaINSS(float salario) { float inssDesconto;

inssDesconto=salario/10; return(inssDesconto); }

float calculaBonus(int tempoDeServico) { float bonus;

bonus = tempoDeServico*50.00; return(bonus);

}

float calculaAuxilioCreche(int dependentes) { float valorAuxilio;

valorAuxilio = 150.00*dependentes; return(valorAuxilio);

}

// Para saber quanto vale a trabalho/hora float valorHoraTrabalhada (float salario) { float horaPaga;

horaPaga = salario / 40; return(horaPaga);

}

float salarioOuDescontoExtra(int horasExtras, int horasAtraso, float horaPaga) {

float horaPagaExtra; int quantHoraExtra;

(3)

if (quantHoraExtra >0 ) { horaPagaExtra = horaPaga+(horaPaga/2); } else { horaPagaExtra = -(horaPaga); } horaPagaExtra = horaPagaExtra*quantHoraExtra; return(horaPagaExtra); }

float SalarioBruto(float bonus, float creche, float valorExtra, float salario) {

float b;

b = bonus + creche + valorExtra + salario; return(b);

}

void imprimeResultados(float bonusPorTempo, float valorCreche, float valorExtra, float salarioBruto, float inssDesconto, float horaPaga) {

p r i n t f ( " n B o n u s p o r t e m p o d e s e r v i ç o : R $ % 5 . 2 f " , bonusPorTempo);

printf("n Valor Auxilo creche: R$ %5.2f", valorCreche); printf("n Desconto do INSS: R$ %5.2f", inssDesconto); if (valorExtra>0) {

printf("n Valor recebido por horas extras: R$ %5.2f", valorExtra);

} else {

printf("n Valor descontado por atraso: R$ %5.2f", valorExtra); }

printf("n Valor hora paga: %5.2f ", horaPaga); printf("n SALARIO BRUTO: R$ %5.2f", salarioBruto); }

void main() {

int matricula, horasExtras, horasAtraso, dependentes, tempoDeServico;

(4)

int bonus; //variaveis de saida

float inssDesconto, bonusPorTempo, valorCreche, valorExtra, valorHoraTrabalho, salarioBruto;

do {

lerMatricula(&matricula); if (matricula==0)

break;

lerDados(&salario, &horasExtras, &horasAtraso, &dependentes, &tempoDeServico);

bonusPorTempo = calculaBonus(tempoDeServico); valorCreche = calculaAuxilioCreche(dependentes); valorHoraTrabalho = valorHoraTrabalhada(salario);

valorExtra = salarioOuDescontoExtra(horasExtras, horasAtraso, valorHoraTrabalho);

salarioBruto= SalarioBruto(bonusPorTempo, valorCreche, valorExtra, salario);

inssDesconto = calculaINSS(salarioBruto);

imprimeResultados(bonusPorTempo, valorCreche, valorExtra, salarioBruto, inssDesconto, valorHoraTrabalho);

printf("nn");

} while (matricula !=0); }

ex7

/*

7. Crie um programa que leia vários números inteiros e imprima ao final a sua soma.(Termino da repetição com saída "Deseja Continuar (S/N)?")

(5)

#include

/* Criando rotina limpaBuffer para usar o getchar() sem problemas */

void limpaBuffer() { int limpa;

do {

limpa = getchar();

} while ((limpa!='n') && (limpa!=EOF)); }

void main() {

float numero, soma; int conta=1;

char sn; do {

printf("n Digite o %dº numero a ser somado: ", conta); scanf("%f", &numero);

limpaBuffer();

soma = soma+numero; conta++;

printf("nDeseja encerrar o programa (s/n) ?"); sn = getchar();

//caso digite em maiusculo if(sn=='S')

sn='s';

} while(sn!='s');

printf("n Programa finalizado");

printf("n a soma dos numeros é igual a %5.2f", soma); printf("nn");

(6)

Do...while, getch, limpando

buffer

/*

6. Crie um programa que leia vários números inteiros e imprima ao final a quantidade de números positivos lidos.(Termino da repetição com saída "Deseja Continuar (S/N)?")

*/ #include void LimpaBuffer(void) { int valorLido; do { valorLido = getchar();

}while ((valorLido != 'n') && (valorLido!=EOF)); }

void main() { char sn;

int numero, contaPositivo=0; do {

printf("nDigite um numero (inteiro) qualquer: "); scanf("%d", &numero);

LimpaBuffer(); printf("n"); if (numero>0) contaPositivo++;

printf("n Gostaria de encerrar o programa? (S/N)"); sn = getchar();

if (sn=='s') sn='S';

(7)

} while (sn!='S');

printf("O programa encerrou n");

printf("Numeros positivos lidos: %d", contaPositivo); printf("nn");

}

Do ... while

/*

4. Faça um programa para calcular a área de N quadrados. (Fórmula a ser usada: Área = Lado x Lado).

*/

#include

void main() { float lado, area; int ordem=1, menu=1; do {

printf("n Digite o valor do lado do quadrado %d: ", ordem); scanf("%f", &lado);

area=lado*lado;

printf("---"); printf("n A area do quadrado é de %5.2f n ", area); printf("---"); ordem++;

printf("n Digite qualquer numero inteiro (!=0) para calcular num novo quadrado ou 0 (zero) para terminar :");

scanf("%d", &menu); printf("n");

} while(menu!=0); }

(8)

For com uso de funções - ex 3

Resolução do terceiro exercício – Lista 3 (Professor Carlos Leite)

/*

3. Faça um programa para ler base e altura de 5 triângulos e imprimir a sua área.

(Fórmula a ser usada: Área = (base alt)/2;) */

#include

float calculaArea (float, float); void imprimeArea(int, float); void main() {

int i, n;

float base, altura, area;

// clrscr(); ta dando erro no gcc (ubuntu) for (i=1; i<6; i++) {

printf("n Digite da base do triangulo numero %d: ", i); scanf("%f", &base);

printf("n Digite a altura do triangulo numero %d: ", i); scanf("%f", &altura);

area = calculaArea(base, altura); imprimeArea(i, area);

} }

float calculaArea (float base, float altura) { float a;

a = (base*altura)/2; return(a);

(9)

}

void imprimeArea(int n, float area) {

printf("n ---");

printf(" n A area do triangulo numero %d eh de %5.2f ", n, area); printf("n ---"); printf("nn"); // getch(); }

For - ex2

Resolução do segundo exercício – Lista 3 (Professor Carlos Leite)

/*

2. Faça um programa que permita imprimir os numeros 10,9,.. ,2,1. */ #include void main() { int i; printf("***********************"); for (i=10; i>1; i--) {

printf( " n%d ", i); }

printf("n***********************n"); }

(10)

ex1 - For

Resolução do primeiro exercício da Lista 3 do Prof. Carlos Leite.

/* 1. Faça um programa que permita imprimir os numeros 1,2, .. ,9,10. */ #include void main() { int i; printf("t---n"); printf("t| Exercicio 1 |n"); printf("t---"); for (i=1; i<11; i++) {

printf( " n t|t%dt|", i); }

printf("nt---n"); }

Referências

Documentos relacionados

Utilizando esta rede para compensar os efeitos não- lineares em malha fechada, cada sinal de controle calculado é multiplicado pelo ganho real e apresentado à rede, que gera o sinal

Resultados: Os subtipos mais comuns de TBEB, classificados pelas características na broncoscopia, foram tumoral e granular (em 22,2% para ambas) A baciloscopia de escarro

O luxuoso Contur design da DORMA abriga a avançada tecnologia eletromagnética do operador CS 80 MAGNEO para portas deslizantes, que opera com baixo consumo de energia..

78 Figura 3.27 Padrão de difração de pós obtido para o complexo ácido nalidíxico:Zn através (a) de síntese por solução, em comparação com os difractogramas

· Indicações sobre cuidados médicos urgentes e tratamentos especiais necessários Não existe mais nenhuma informação relevante disponível.. 5 Medidas de combate

Parece assim que os cardiologistas portugueses têm uma percec¸ão globalmente adequada da utilidade clínica da angio-TC, identificando os doentes que mais beneficiam da

Potencial = Todos os produtos de mesma CT4 trabalhados pelo ABRADIMEX no canal durante o MATNOV 19;

Composição específica da ictiofauna na Gamboa do Perequê nos meses amostrados, com as freqüências absolutas observadas em número de exemplares (Obs), porcentagens