Ir para conteúdo
Fórum Script Brasil

Durub

Moderadores
  • Total de itens

    788
  • Registro em

  • Última visita

Tudo que Durub postou

  1. Durub

    duvida sobre define

    O primeiro é substituído pelo pré-processador do C, enquanto o segundo ocupa espaço na memória em runtime, mas é somente dado acesso de leitura. Não há nenhum tipo de tipagem com o #define. Só há uma substituição, geralmente o compilador faz a conversão do valor. Abraços.
  2. Durub

    Problema com interfaces

    Adicione o GradeBook.cpp ao projeto. Abraços.
  3. Durub

    Problema com interfaces

    O GradeBook.cpp não está sendo compilado. Você usa algum tipo de IDE? Abraços.
  4. #include <stdio.h> int main(void) { FILE *file; long tamanho; file = fopen("arquivo.ext", "a"); fseek(file, 0, SEEK_END); tamanho = ftell(file); fclose(file); return 0; } Depois não esqueça de voltar ao início com fseek(file, 0, SEEK_SET). Abraços.
  5. O professor já fez quase tudo para você, qual a sua dúvida? Abraçps.
  6. Durub

    strings e audio

    0x03FF significa 1024, eu tinha outra idéia em mente para testar quantos bytes foram lidos, mas essa funcionou normalmente e então não precisei do valor. Pode colocar bytesRead = 0x0001 ou bytesRead = 1 que funcionará normalmente. O certo seria você verificar o tamanho do arquivo e então fazer uma variável com alocação dinâmica a partir disso. Abraços.
  7. Sim. Constantes são aplicadas no período da compilação (mais precisamente, antes..). #include <stdio.h> #define true 1 #define false 0 int main(void) { int x = true; if(x == false) return 1; return 0; } Vai se transformar em: .. int x = 1; if(x == 0) ... E então o programa será compilado. Agora sobre os enum, infelizmente não sei responder. Abraços!
  8. Só uma dúvida, você utiliza scanf em alguma parte (anterior a esse código) no programa? Se sim, o scanf está deixando lixo no buffer de entrada que o gets tá lendo direto. E utilizar dois gets é uma solução extremamente porca neste caso. Abraços.
  9. O operador bitwise not (~) inverte os bits: NOT 1001 1101 = 0110 0010. Já o logical not (!) trata o valor todo como um boolean, e caso seja true, vai para false e vice-versa. #include <stdio.h> int main(void) { unsigned char x = 0x0F; /* 0000 1111 - 15 */ x = ~x; /* 1111 0000 - 240 */ printf("%d\n", x); if( !(!x) ) /* true -> false -> true */ printf("x e true: %d", x); return 0; } Abraços.
  10. Texto é uma string. O getline recebe um char. Modo correto de ler para um std::string. #include <iostream> int main(void) { char text[1024]; std::string x; std::cin.getline(text, 1024); /* input: alou (exemplo) */ std::cout << text << std::endl; /* output: alou */ x = text; std::cout << x; /* output: alou */ std::cin.get(); return 0; } Abraços.
  11. Brinque, se desafie a fazer coisas. Tenha um site de referência ao desenvolver seus programas. Em inglês: http://www.cplusplus.com/reference Abraços.
  12. Sim, você terá que adicionar um outro parâmetro. Abraços.
  13. Não há como você saber o tamanho do array de um pointer, a não ser que você utilize um caractere de controle mais uma função que conta quantos elementos tem. Como o strlen utilizando o 0, por exemplo. Mas por quê não dá para utilizar sizeof em um pointer? O sizeof é do pré-processador do C, então ele somente substitui o sizeof(var) pelo tamanho dela. Abraços.
  14. Não posso dar muita assistência nesse caso pois uso uma distribuição Linux. Anteriormente você utilizava o W, S, A, D normalmente? Como fazia? Abraços!
  15. O problema é que você está colocando os apóstrofos, remova-os e tudo funcionará perfeitamente. Abraços.
  16. Durub

    strings e audio

    Sim, é possível. Porém você terá que fazer algumas modificações. Em arquivos binários, o EOF pode vir antes do arquivo terminar. Então para ver se é hora de sair do while, você vai ter que testar quantos bytes ele leu, se for maior que 0, continue. Aqui, um código que acabei de escrever para testar: #include <stdio.h> int main(void) { FILE *file; FILE *wfile; char read[1024]; short int bytesRead = 0x03FF; file = fopen("hello", "r"); wfile = fopen("newcopy", "w"); while( bytesRead > 0 ) { bytesRead = fread(&read, 1, 1024, file); } fwrite(read, 1, 1024, wfile); return 0; } Funcionou perfeitamente. Abraços.
  17. Durub

    Leitura de Arquivo

    Qual o propósito da sua utilização do gotoxy? E você não deveria ler assim, caso o nome tenha menos de 30 caracteres ele irá pegar coisa do CPF. Leia o caractere e vá insirindo até você achar que é o cpf. (Vai ter que implementar alguma coisa para isso) Abraços.
  18. Durub

    (Resolvido) Criar Pasta

    #ifdef _WIN32 #include <windows.h> #else #include <sys/stat.h> #include <sys/types.h> #endif int criardiretorio(char *szPath) { #ifdef _WIN32 return CreateDirectory(szPath, NULL); #else return mkdir(szPath, 755); #endif } Lembre-se de usar //. Acabei de escrever, então pode conter erros. Abraços.
  19. Coloque um fflush(stdin) antes do for só pra testar. Se funcionar (isso se o seu compilador suportar isso, pois não é compliant com o standard) é problema com o scanf, ele está deixando lixo no buffer o que faz o pause ir direto. OU, o problema pode ser que você esteja tentando imprimir um int como string. Se quiser TENTAR fazer isso, pelo menos coloque um '\ 0' (junte \ com 0, aqui no fórum não dá pra colocar os dois juntos) no final do array. Abraços.
  20. Durub

    mE AJUDE TRAB DE FACULDADE

    O que você já fez? Abraços.
  21. Só uma dica, não precisa ficar colocando public em todas as funções e variáveis. Isso funciona perfeitamente, por exemplo: class base { public: base() { /* Código */ } virtual void metodo() { printf("base\n"); } }; class derivada : public base { public: derivada() : base() { } void metodo() { printf("filha\n"); } }; Abraços.
  22. Durub

    tempo de execucao

    Não existe função "pronta" que faz isso, mas você pode implementar facilmente. http://vertexbuffer.wordpress.com/2008/01/...jogo-com-ticks/ PS: Para pegar os ticks, use essa função ao invés da SDL_GetTicks: /* No ínicio do programa, pegue o número de ticks com GetTickCount() (se estiver usando Windows) e passe esse valor a função */ /* Se não quiser passar o valor toda hora, use uma variável global */ unsigned int GetTicks(unsigned int start) { #ifdef _WIN32 return GetTickCount(); /* #include <windows.h> */ #else struct timeval now; gettimeofday(&now, NULL); return (now.tv_sec-start.tv_sec)*1000+(now.tv_usec-start.tv_usec)/1000; #endif } Abraços.
  23. Durub

    Ajuda em C

    http://www.cplusplus.com/reference/clibrar...ing/strcmp.html Se as strings forem iguais, a função retorna 0. Abraços.
  24. Durub

    Livraria

    Quando tiver dúvidas, esteja à vontade para postar. Só que pelo o que você colocou, pareceu que queria que fizessem para você. Abraços.
×
×
  • Criar Novo...