Ir para conteúdo
Fórum Script Brasil

Durub

Moderadores
  • Total de itens

    788
  • Registro em

  • Última visita

Tudo que Durub postou

  1. Durub

    Vetores

    Isso tem a ver com o registrador eax no processador. O último valor que estava nesse registrador é retornado, já que você não tem outro return explícito no caso de não achar nada. O que você tem que fazer é adicionar um return no final da função caso ela não ache o valor no array. Outra coisa, os índices do seu array vão de 0 à 9, não de 1 à 10. No C, os índices dos arrays começam no 0.
  2. Se você quiser esse nível de controle sobre o processo, seria ideal você utilizar a função CreateProcess do Windows. Depois, para esperar ele terminar, usa a função WaitForSingleObject. WaitForSingleObject(HandleDoProcesso, INFINITE);
  3. A malloc funciona assim: você cria um ponteiro para uma região de memória, ainda indefinido. int *vetor; Só que, esse ponteiro não aponta para nada! Um ponteiro tem que apontar para alguma coisa. O que você faz? Você pede pro sistema operacional uma região de memória para usar. A única coisa que você precisa passar para a função malloc é o tamanho, em bytes, que você deseja. Ela retorna NULL (em caso de erro) ou um ponteiro válido, que você vai colocar no ponteiro criado anteriormente. (int *vetor) int *vetor; vetor = malloc(n); /* isto deve ser feito depois de o programa ter lido o n do usuário */ if(vetor == NULL) { /* erro */ } /* aqui você pode usar a variável vetor como se fosse uma array normal */ /* não se esqueça de liberar a memória quando você não precisar mais utiliza-lá */ free(vetor); return; Quaisquer dúvidas, fique à vontade!
  4. int vetor[n]; Essa linha é o problema. Não é assim que funciona para alocar arrays com tamanho dinâmico. Veja sobre a função malloc da stdlib.h.
  5. O que você não conseguiu? Eu poderia testar, mas apenas hoje (sábado) de tarde.
  6. Sim, é possível. Para criar um número aleatório em um intervalo, use esta "fórmula": numeroMaior e numeroMenor é o intervalo que você quer gerar. int numero = rand() % (numeroMaior - numeroMenor + 1) + numeroMenor; Retirei daqui: http://www.dreamincode.net/forums/topic/81...andom-interval/, então não posso confirmar se está certo. Mas é mais ou menos nesse caminho. Para gerar um número diferente para cada tipo de classe, apenas faça alguns ifs, comparando com strcmp (se for string). Abraços!
  7. Definitivamente o que o kuroi comentou. Se você for escrever texto, não abra em binário. Considere como uma "regra": se você não está usando fread e fwrite para ler e escrever, não use a flag de binário.
  8. Durub

    Referências

    Se me lembro corretamente, além de evitar que você cometa erros, há uma pequena ajuda à performance do programa.
  9. Durub

    que erro é esse?

    Apague este trecho do código e reescreva, a mão (não copie). Provavelmente irá solucionar o problema. Esse menos aí (–) não é um menos (-) de verdade, está mais para um "travessão".
  10. Durub

    Dica de IDE

    Visual Studio é uma das melhores IDEs que tem atualmente. Principalmente pra C++ e C#. Também acho uma boa opção a IDE Qt Creator e o CodeBlocks, ambos são ótimos.
  11. Você chegou a testar o último código que eu te dei? O código devia estar funcionando perfeitamente, só tentei chamar atenção ao fato que a função deveria retornar a hora, e não uma string completa. Isso você devia fazer ao imprimir a string para o usuário. Abraços.
  12. Durub

    AJUDAAAA!

    O que está dando errado? O que não está conseguindo fazer no menu, especificamente? Abraços.
  13. Com expressões regulares: function totalMinutos($expressao) { $regex = '/(\d+) Horas? e (\d+) Minutos?/'; preg_match($regex, $expressao, $matches); return $matches[1] * 60 + $matches[2]; } Mas acho que aí o problema já é outro... Por que a função difDeHoras retorna uma string assim, pra começar? Abraços.
  14. Multiplique as horas por 60 (para obter os minutos), e some os minutos já "existentes". function totalMinutos($hora) { $componentes = explode(":", $hora); /* separa em uma array da forma array(horas, minutos) */ return $componentes[0] * 60 + $componentes[1]; /* multiplica as horas por 60 e soma os minutos para obter o total */ } Aí é só usar. Exemplo: $difminutos = totalMinutos($diferencatempo); Abraços.
  15. Durub

    Como valido a data?

    Eu já tomaria uma abordagem diferente: #include <stdio.h> /* int ler_data(int* dia, int* mes, int* ano); Le uma data nas variaveis dia, mes, ano Se a função retornar 0, os valores dia, mes, ano são numéricos e estão com os valores inseridos pelo usuário Se a função retornar 1, ocorreu um erro de leitura e as variáveis dia, mes, ano podem conter lixo! */ int ler_data(int* dia, int* mes, int* ano) { char input[1024]; int valida; fgets(input, 1024, stdin); valida = sscanf(input, "%d/%d/%d\n", dia, mes, ano); return (valida == 3) ? 0 : 1; } /* int valida_data(int dia, int mes, int ano); Valida os valores dia, mes e ano Se a função retornar 0, todos os valores foram validados Se a função retornar 1, ocorreu um problema de validação com o dia (isso não garante que o mês e o ano estejam corretos!) Se a função retornar 2, ocorreu um problema de validação com o mês (isso não garante que o ano esteja correto!) Se a função retornar 3, ocorreu um problema de validação com o ano */ int validar_data(int dia, int mes, int ano) { if(dia > 31 || dia < 1) { return 1; } if(mes > 12 || mes < 1) { return 2; } if(ano < 1) { return 3; } return 0; } int main(void) { int dia, mes, ano; while(ler_data(&dia, &mes, &ano) || validar_data(dia, mes, ano)); printf("%d/%d/%d\n", dia, mes, ano); return 0; } Ele irá ficar pedindo uma data até o usuário inserir uma correta. (1-31/1-12/1-infinito) Abraços!
  16. Não sei sobre vídeo-aulas, mas se for partir para este lado, recomendo fortemente o Qt. É multi-plataforma (Windows, Linux, Mac e até celulares), tem uma API legal e uma documentação grande. Achei um hello world em forma de vídeo aula (em inglês)!: http://www.youtube.com/watch?v=QLT7oEt6gLE Abraços!
  17. O problema talvez seja que você esteja usando "ç" no nome de suas variáveis. Tente trocar de preço para preço e veja o que acontece. Abraços.
  18. Eram da época do DOS, não existem mais porque não há mais muito uso para elas. Abraços.
  19. Ah, entendi! Se ainda não aprendeu arrays na faculdade, provavelmente isso é exatamente o que queriam que você fizesse. Parabéns! De nada, e contribua com seu conhecimento mesmo! Abraços!
  20. Você não está pensando coletivamente. Pense no seguinte: você tem uma máquina que recebe o dado das pessoas, como suas notas. Quando requisitada, ela calcula a média de todas as notas. Porém, a cada nova pessoa que está digitando as informações na máquina, ela está reescrevendo sobre os dados da última pessoa. O que é necessário para corrigir isso? Fazer a máquina ter memória das pessoas passadas, é claro! Como fazer isso? Com arrays. http://pt.wikipedia.org/wiki/Array http://pt.wikibooks.org/wiki/Programar_em_C/Vetores Leia um pouco desses sites e acho que o erro no seu código estará aparente. Se ainda não tiver sucesso, poste novamente para que eu te instrua um pouco mais! ps: sobre seu for, lembre-se que arrays em C começam no 0, e não no 1 Abraços!
  21. Solução simples: Transforme esse número para uma string (cadeia de caracteres) e conte quantos caracteres resultaram. Solução difícil (e melhor para seu aprendizado!): Aprenda como se faz essa transformação e ao invés de transformar para uma string, conte o número de dígitos. Abraços.
  22. Durub

    Bibliotecas

    O ideal seria apenas ter um bom entendimento das bibliotecas padrões, ou ao menos saber por cima o que elas contém. Não é necessário decorar nomes e afins, você encontra eles em uma referência ou procurando pela internet. Por exemplo, sei que existe uma biblioteca "math.h" (para matemática) no C, mas não sei todas as funções e o que ela contém exatamente. Então, eu venho nesse site: http://www.cplusplus.com/reference/clibrary/cmath/ E pronto! Descubro tudo que eu preciso. Agora bibliotecas não-padrões já é outra história, depende muito do seu campo de atuação... Abraços.
  23. Durub

    Fazer um programa simples

    Movido. Obrigado! Abraços.
  24. Durub

    imagem bmp em C

    Tem várias bibliotecas para isso! Aqui tem um bom artigo sobre como ler você mesmo: http://www.brackeen.com/vga/bitmaps.html Abraços!
×
×
  • Criar Novo...