joao.palma Posted February 18, 2009 at 04:35 PM Report Share #245350 Posted February 18, 2009 at 04:35 PM Boa Tarde... 🙂 O meu problema é o seguinte: Um funcionario só pode faltar X dias. Esse funcionario pode tirar os dias todos de ferias ou ir tirando... O que eu não sei é como vou contar os dias úteis entre as 2 datas... 😞 Estou a utilizar o Borland Developer Studio linguagem C++ 🙂 alguém me pode ajudar??? Link to comment Share on other sites More sharing options...
TheDark Posted February 19, 2009 at 09:15 PM Report Share #245645 Posted February 19, 2009 at 09:15 PM Contas os dias todos, e depois, a partir do 1º fim de semana, por cada 7 dias, retiras 2. Isto sem contar com feriados. Desaparecido. Link to comment Share on other sites More sharing options...
joao.palma Posted February 19, 2009 at 10:33 PM Author Report Share #245684 Posted February 19, 2009 at 10:33 PM @TheDark Contas os dias todos, e depois, a partir do 1º fim de semana, por cada 7 dias, retiras 2. Isto sem contar com feriados. Podes-me dizer como faço isso em c++?? É que eu sou novo em c++... Ainda não sei muito bem as funções... Link to comment Share on other sites More sharing options...
TheDark Posted February 20, 2009 at 06:35 PM Report Share #245854 Posted February 20, 2009 at 06:35 PM Se apresentares dúvidas concretas, é mais fácil ajudar-te. Podes mostrar o que já fizeste, ou tentaste fazer. Desaparecido. Link to comment Share on other sites More sharing options...
joao.palma Posted February 20, 2009 at 10:25 PM Author Report Share #245906 Posted February 20, 2009 at 10:25 PM para ja so fiz a diferença entre as dus datas... 😕 Link to comment Share on other sites More sharing options...
TheDark Posted February 21, 2009 at 02:06 PM Report Share #245977 Posted February 21, 2009 at 02:06 PM A diferença entre as duas datas? Queres dizer que tens o número de dias entre elas? Desaparecido. Link to comment Share on other sites More sharing options...
joao.palma Posted February 22, 2009 at 08:01 PM Author Report Share #246155 Posted February 22, 2009 at 08:01 PM sim.. mas eu so kero contar os dias uteis.... Link to comment Share on other sites More sharing options...
Aqua Costa Posted February 22, 2009 at 11:40 PM Report Share #246193 Posted February 22, 2009 at 11:40 PM // diferença entre as duas datas int dif; // numero de semanas int nsem; // numero a subtrair int nsub // numero dias uteis int duteis; //calcula numero de semanas nsem = dif/7; // calcula numero de dias a subtrair nsub = nsem * 2; // calcula numero de dias uteis duteis = dif - nsub como és novo em c++ não usei funções, fiz o código mas simples que consegui 😛 mas não está totalmente correcto, pois este código está simples de mais, pois apenas funciona com o numero de dias 7,14,21, etc, se quiseres que te ajude a desenvolver é só pedir Link to comment Share on other sites More sharing options...
joao.palma Posted February 23, 2009 at 09:31 AM Author Report Share #246225 Posted February 23, 2009 at 09:31 AM @Aqua Costa Obrigado... tambem ja tava a pensar em fazer um ciclo e verificar se era dia de semana ou fim de semana ou feriado... Tipo: Para data1 ate data2 fazer if (dayofweek(strtodate(edit1.text)))=1 then {   dif=dif-1   else    if (dayofweek(strtodate(edit1.text)))=7 then      dif=dif-1 } e depois criar uma tabela para feriados e verificar os feriados.... o que achais deste codigo? Link to comment Share on other sites More sharing options...
Cybernavigator Posted February 23, 2009 at 02:00 PM Report Share #246282 Posted February 23, 2009 at 02:00 PM Não sei se funciona mesmo com a syntax correcta. Vou-te explicar uma coisa sobre o c++, só usas "=" se estiveres a atribuir valores, se queres comparar usas "==" depois, (desmintam-me se tiver enganado) no c++ não usas then, e se apenas queres retirar uma unidade ao dif, podes fazer só dif--; ou --dif; ainda que o código funciona-se, com tantos erros não executava, o código corrigido é if (dayofweek(strtodate(edit1.text))==1)   dif--; else   if (dayofweek(strtodate(edit1.text))==7)     dif--; Ainda assim acho que deverias ponderar usar apenas contas para o teu caso, se tens o numero de dias retiras apenas fins de semana e feriados. Penso ser mais simples para uma futura compreensão. Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico*** Link to comment Share on other sites More sharing options...
joao.palma Posted February 25, 2009 at 06:20 PM Author Report Share #246680 Posted February 25, 2009 at 06:20 PM @Cybernavigator E o que achas do ciclo? Achas que está bem? Link to comment Share on other sites More sharing options...
TheDark Posted February 25, 2009 at 08:23 PM Report Share #246720 Posted February 25, 2009 at 08:23 PM Uma curiosidade: onde é que vocês foram buscar a função dayofweek? Desaparecido. Link to comment Share on other sites More sharing options...
Cybernavigator Posted February 26, 2009 at 01:25 AM Report Share #246819 Posted February 26, 2009 at 01:25 AM Calculo que a função tenha sido criada por ele. @joao.palma Aquilo não é um ciclo, é uma condição, como condição ta bom. Melhores cumprimentos,João Lopes***Esta mensagem foi escrita ao abrigo do novo Acordo Ortográfico*** Link to comment Share on other sites More sharing options...
joao.palma Posted February 26, 2009 at 04:17 PM Author Report Share #246915 Posted February 26, 2009 at 04:17 PM Se não estou em erro esta o que esta função faz é: Da o numero da semana a partir de uma data. Retorna de 1 a 7, sendo que 1 é domingo e 7 é sábado... Ex. 26/02/2009 retorna 5! ou seja quinta-feira... http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/index.jsp?topic=/com.businessobjects.integration.eclipse.designer.doc/designer/Functions169.html http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx http://docserver.userland.com/date/dayOfWeek http://www.devmedia.com.br/articles/viewcomp.asp?comp=869 Nota: Também não sei bem como é pk foi um colega meu k me disse... Mas depois de uma pesquisa acho que ele tem razão... Link to comment Share on other sites More sharing options...
TheDark Posted February 26, 2009 at 07:45 PM Report Share #246959 Posted February 26, 2009 at 07:45 PM Nenhum dos links que indicaste tem relação com C++. O que mais se aproxima é o da MSDN, que no entanto se refere a um enumerado de .NET e não é uma função. Desaparecido. Link to comment Share on other sites More sharing options...
joao.palma Posted February 27, 2009 at 04:55 PM Author Report Share #247121 Posted February 27, 2009 at 04:55 PM Boas... desde já o meu muito obrigado a todos... Já consegui fazer a parte dos fim de semanas agora só falta mesmo os feriados... O código abaixo é copy & past do programa.... //Significados... //Table1 = tabela //DtAux = Variavel(uma terceira variavel que vai armazenar a data corrente....) for (DtAux = Table1DtIni->AsDateTime ; DtAux <= Table1DtFin->AsDateTime; DtAux++) { if (DtAux.DayOfWeek() == 1){ Table1DtDif->AsFloat=Table1DtDif->AsFloat-1; ttdflt=ttdflt-1;} else { if (DtAux.DayOfWeek()== 7){ Table1DtDif->AsFloat=Table1DtDif->AsFloat-1; ttdflt=ttdflt-1;}} } Agora só falta mesmo os feriados mas acho que isso é só mais uma tabela um for e um if e ta feito acho eu... Link to comment Share on other sites More sharing options...
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