LucasPS 1 Denunciar post Postado Junho 12, 2008 Faça um programa em C que calcule o salário de um empregado baseado no número de horas que trabalhou, e no seu salário por hora. Notas: As horas extras (> 40) são pagas em dobro o exercicio é esse, o que eu fiz ja foi: você bota quanto ele recebe por hora, e dps as horas dai ele multiplica e pronto, só que ele vai receber o dobro só o que exceder 40 horas, por ex. se ele trabalhar 50, pega 40 e multiplica pelas horas normais e pega 10 e multiplica pelo dobro segue o code ai pra vcs me ajudarem a fazer ele ver oq excedeu os 40 e fazer o dobro: #include <stdio.h> main() { float hr,xphr,tot; printf("Informe o numero de horas que o funcionario trabalhou: "); scanf("%f",&hr); printf("Informe quanto esse funcionario recebe por hora: "); scanf("%f",&xphr); tot=(hr*xphr); if (hr>40) { tot=(hr*(xphr*2)); } printf("Total do salario e': %f",tot); printf("\n"); system("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 12, 2008 interessante é você fazer assim pra ficar facil! oq ele trabalhow até 40 hrs armazena em uma variavel o total, e as hrs q passarem de 40 você armazena em outra variavel e no final junta as 2, chegou a entender?? exemplinho aki pra você: printf("Informe o numero de horas que o funcionario trabalhou: "); scanf("%f",&hr); if(hr>40) aux = hr - 40; printf("Informe quanto esse funcionario recebe por hora: "); scanf("%f",&xphr); tot=(hr*xphr); if (hr>40) { tot2=(aux*(xphr*2)); } printf("Total do salario e': %f",tot+tot2); []'s ---Título editado--- [Ajuda] Calcular pagamento de funcionario http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Calcular pagamento de funcionario[/b] Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 12, 2008 esse exemplo que você fez ja ta pronto funcionando? ele ta salvando as horas extras no aux? da uma olhada como eu fiz e ve se da pra melhorar: #include <stdio.h> #include <stdlib.h> main() { float h,ph,tot,he,tot2,tot3; printf("Informe as horas que o funcionario trabalhou: "); scanf("%f",&h); printf("Informe quanto ele recebe por hora: "); scanf("%f",&ph); if (hr<=40) { tot=(h*ph); printf("O Salario eh: %f",tot); } if (h>40){ he=(h-40); tot2=(40*ph); tot3=(he*(2*ph)); tot= (tot2+tot3); printf("TOTAL:: %3.2f\n",tot); } system("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 12, 2008 da pra dar uma enxugadinha de leve, eu crio variavel + você cria bem + hein :lol:! + cheguei a compilar + acho q esta correto sim! []'z Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 12, 2008 hehe vo pegar teu que ta menor como base vlws ai Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Silva Santos 0 Denunciar post Postado Junho 12, 2008 Mano seu codigo esta compilando mas ñ esta respondendo o esperado veja se eu entendi o problema se o funcionario trabalhar 50 horas (ele tem 40hr normais e 10hr extras) Segue exemplo. Com um salario de 300,00 entao seria 300,00 por 40hr e as 10hrs extra tem que ser baseada no salario base e pagas em dobro ou seja 300/40=7,50 logo as (10*7,50*2)+300,00=450 Entao eu colocaria u if assim: if (h>=40) printf ("\n\n O Salario e: %.2f",(((sal/40)*2)*(h-40)+sal));OBS: sal = No lugar onde você entrou com o valor da hora trabalhada entre com o salario total do funcionario e ai colo uma variavel.Qualquer duviva post ai e vamos ver no que o seu codigo Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 12, 2008 esse do quit deu 200 reais a mais do que seria o certo hehe tpw seria assim trabalhou 50 horas, recebendo 20 por hora dai pega 40*20=800 e os 10 da hora extra ficaria 10*(20*2)=400 certo? oq eu fiz ta assim, mais daria pra da uma enxugada nao sei como hehe Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Silva Santos 0 Denunciar post Postado Junho 12, 2008 Veja como fica o codigo # include <stdio.h> #include <stdlib.h> main () { float sal, hora; printf ("Informe o salario base: "); scanf ("%f",&sal); printf ("Informe quantas horas trabalhadas: "); scanf ("%f",&hora); if (hora>40) printf ("\n\n O Salario e: %.2f\n",(((sal/40)*2)*(hora-40)+sal)); else if(hora<=40) printf ("\n\n O Salario e: %.2f\n",sal); system ("pause"); return (0); } OBS: Se a hora trabalhada for maior que 40 ele vai pargar as 40horas com salario base e as extras em dobro e se a hora for menor ou igual a 40 só pagara o salario base. Se você quiser ou se o proprio programa requerer mais condições falai que a gente da uma olhada. Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 12, 2008 Roberto, voce ta fazendo como salario base, mais é tipo, informar as horas que ele trabalhou e quanto ele recebe por hora manja? essa quantia que ele recebe por hora o usuario que vai informar tb se ele trabalho 40 e ganha 20 por hora ele recebeu 800 agora se ele trabalhou 50 vai receber 1200 800 das 40 e 400 das 10 pagando o dobro Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Silva Santos 0 Denunciar post Postado Junho 12, 2008 Mano veja o seu enuciado Faça um programa em C que calcule o salário de um empregado baseado no número de horas que trabalhou, e no seu salário por hora. Notas: As horas extras (> 40) são pagas em dobrovocê ñ quer rsumir o seu codigo??????????????só altere o segundo if, seja o codigo corrigido. # include <stdio.h> #include <stdlib.h> main () { float sal, hora; printf ("Informe o salario base: "); scanf ("%f",&sal); printf ("Informe quantas horas trabalhadas: "); scanf ("%f",&hora); if (hora>40) printf ("\n\n O Salario e: %.2f\n",(((sal/40)*2)*(hora-40)+sal)); else if(hora<=40) printf ("\n\n O Salario e: %.2f\n",((sal/40)*hora)); system ("pause"); return (0); }Agora garanto pra você que esta resolvendo td certo e bem resumido Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 12, 2008 velho, sua conta ta errada, posso estar enganado, pense comigo: o funcionario recebe 20 reais por hora ele trabalhou 40 horas, entao ele recebeu 800 reais. as horas extras ele recebe o dobro, ou seja, 40 reais por hora se ele trabalhar 50, ele recebe 1.200 reais (800 das 40 horas e 400 das 10 horas) esse que o quit fez ta certo, só que ta dando 200 reais no total a mais do que seria o certo, ele ta contando o dobro de 20 que eu coloco nas horas como 60 hehe # include <stdio.h> #include <stdlib.h> main (){ float hr,ex,xphr,tot,tot2; printf("Informe o numero de horas que o funcionario trabalhou: "); scanf("%f",&hr); if(hr>40) ex=hr-40; printf("Informe quanto esse funcionario recebe por hora: "); scanf("%f",&xphr); tot=(hr*xphr); if (hr>40) { tot2=(ex*(xphr*2)); } printf("Total do salario eh: %.2f\n",tot+tot2); system ("pause"); } Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Silva Santos 0 Denunciar post Postado Junho 12, 2008 Mano veja como você esta enganado você disse 20,00 por hora isso significa que o salario base é de Qt?????? 800,00 ou seja 20,00*40=800,00 e se o cara tem mais 10 horas extras são 10*20,00*2=400,00 no final tem que somar 800,00+400,00=1.200,00!!!!!!!!!!! Mano compila o meu ultimo codigo com salario de 800,00 e com 50 horas trabalhada e compara se ñ da na mesma faz bem fazer o teste de mesa amigo!!!!!!!!!!!!!!!!!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
LucasPS 1 Denunciar post Postado Junho 12, 2008 entao mano, no teu eu tenho que saber quanto ele ja recebeu pelas 40 horas pra por la e ele "somar" as horas extras, mais o que pede é pra por só quantas horas ele trabalhou e quanto recebe por hora e ele ja te diz quanto recebeu contando horas extras ja Compartilhar este post Link para o post Compartilhar em outros sites
Roberto Silva Santos 0 Denunciar post Postado Junho 12, 2008 Pra findar a duvida # include <stdio.h> #include <stdlib.h> main (){ float sal, hora; printf ("Informe o valor da hora trabalhada: "); scanf ("%f",&sal); printf ("Informe quantas horas trabalhadas: "); scanf ("%f",&hora); if (hora>40) printf ("\n\n O Salario e: %.2f\n",(((hora-40)*2)*sal)+(sal*40)); else if(hora<=40) printf ("\n\n O Salario e: %.2f\n",(sal*hora)); system ("pause"); return (0); } http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites