Gurzi Posted March 25, 2006 at 03:07 PM Report #19435 Posted March 25, 2006 at 03:07 PM 3. Escreva um programa que calcule o salário semanal de um trabalhador. As entradas são o número de horas usadas na semana e uma valorização da hora. Até 40 h/semana usa-se a valorização dada. Acima de 40h e até 60h há um bónus de 50% para essa horas. Acima de 60h há um bónus de 100% para essas horas. Use uma função para fazer os cálculos. não entendo a parte " até 40 h /semana usa-se a valorização dada." ele diz que as entradas ou seja os parâmetros de recepção são as horas e a valorização da hora. não é melhor só as horas e depois dentro da função ter uns ifs que vejam se a hora for maior que 40 e menor que 60 bonus 50, acima de 60 bonus de 100% ? 😉 :dontgetit:
saramgsilva Posted March 25, 2006 at 03:23 PM Report #19440 Posted March 25, 2006 at 03:23 PM tipo seja x o valor que 1 pessoa recebe por hora se trab ate 40h/semana ganhas x*40 se trab 40h ate 60h/semana ganhas 40*x+ resto_horas*x*50% se trab + de 60h/semana ganhas 40*x+ resto_das_ horas*x*100% e claro recebe as horas e o valor por hora.. :dontgetit: www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Gurzi Posted March 25, 2006 at 03:58 PM Author Report #19444 Posted March 25, 2006 at 03:58 PM supostamente o valor por hora é igual para todos, ele nem refere quanto se ganhar por hora para cada caso, o que varia é o bónus!
saramgsilva Posted March 25, 2006 at 04:25 PM Report #19447 Posted March 25, 2006 at 04:25 PM isto nao tem nada de mais.... ? deixo aki 1 codigo...k te vai ajudar 😉 #include <stdio.h> int main(){ int s=0, h=0, salario=0, resto=0; printf("Qual o valor de base por hora do trabalhador em causa?\n "); scanf(" %d",&s); printf("Introduza o numero de horas que o trabalhador efectuou...\n"); scanf(" %d",&h); if(h<=40 && h>0) salario=s*h; else { if(h>40 && h<=60) { resto=h-40; salario=s*40+( (resto*0.5*s)+ resto*s ) ; } else { if( h>60) { resto=h-60; salario=s*(40)+ (resto*2*s); } else printf("ERRO NO NUMERO DE HORAS!!!"); } } printf("O trabalhador em causa trablho %d horas \ne tem recebe de base %d euros/hora\n vai receber %d \n",h,s,salario); system("PAUSE"); return 0; } www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Gurzi Posted March 25, 2006 at 04:28 PM Author Report #19449 Posted March 25, 2006 at 04:28 PM #include <stdio.h> #include <stdlib.h> float calculo_salario( int x , float y) { if (x <=40 ) return x * y; if (x>40 && x <=60) return (x * y)+(x * y)*0.50 ; else return (x * y) *2.0; } main() { int num_horas; float ganho_hora=0.0; printf("Introduza o numero de Horas que trabalhou nesta semana\n"); scanf("%d",&num_horas); printf("Qual o valor correspondente ao seu cargo por hora?\n"); scanf("%f",&ganho_hora); printf("O seu salario >> %.2f\n\n\t",calculo_salario(num_horas,ganho_hora)); system("PAUSE"); } my way... 😉 ;) 😄🙂
saramgsilva Posted March 25, 2006 at 04:35 PM Report #19451 Posted March 25, 2006 at 04:35 PM #include <stdio.h> #include <stdlib.h> float calculo_salario( int x , float y) { if (x <=40 ) return x * y; if (x>40 && x <=60) return (x * y)+(x * y)*0.50 ; else return (x * y) *2.0; } main() { int num_horas; float ganho_hora=0.0; printf("Introduza o numero de Horas que trabalhou nesta semana\n"); scanf("%d",&num_horas); printf("Qual o valor correspondente ao seu cargo por hora?\n"); scanf("%f",&ganho_hora); printf("O seu salario >> %.2f\n\n\t",calculo_salario(num_horas,ganho_hora)); system("PAUSE"); } my way... 😉😄🙂 :) coloca o caso de h<=0 dar erro...e estas a calcular mal...pq tens k ver que so as horas extras tem bonus... 😉 www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Gurzi Posted March 25, 2006 at 04:52 PM Author Report #19453 Posted March 25, 2006 at 04:52 PM #include <stdio.h> #include <stdlib.h> float calculo_salario( int x , float y) { if (x <=40 ) return x * y; if (x>40 && x <=60) return ((x-40) * y)*0.50+ (y * (x-(x-40))); else return ((x-60) * y)*2+ (y * (x-(x-60))); } main() { int num_horas; float ganho_hora=0.0; printf("Introduza o numero de Horas que trabalhou nesta semana\n"); scanf("%d",&num_horas); printf("Qual o valor correspondente ao seu cargo por hora?\n"); scanf("%f",&ganho_hora); printf("O seu salario >> %.2f\n\n\t",calculo_salario(num_horas,ganho_hora)); system("PAUSE"); } complety done 😉 ?
motherFFH Posted April 13, 2006 at 10:00 PM Report #22092 Posted April 13, 2006 at 10:00 PM As fórmulas parecem-me um bocado confusas... Reparem que se h for maior que 60, o valor até 60 é fixo, e idem para o caso das 40 horas. Ou seja, basta apenas fazer uma subtracção, o resto são constantes, no que fiz respeito a horas. Exemplo double pay(int h, double v) { if (h>60) return (h-60)*2*v + (60-40)*1.5*v + 40*v; if (h>40) return (h-40)*1.5*v + 40*v; return h*v; }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now