Ir para conteúdo
Fórum Script Brasil

webpantoja

Membros
  • Total de itens

    55
  • Registro em

  • Última visita

Sobre webpantoja

  • Data de Nascimento 09/08/1985

Perfil

  • Gender
    Male
  • Location
    Brasília

webpantoja's Achievements

0

Reputação

  1. Só completando, mesmo uma função void pode ser interrompida. void func() { return; //Isto aqui breca a função }
  2. webpantoja

    Comparando CPF

    Como assim não dá para usar o strcmp?? :blink: String nada mais é do que uma cadeia de caracteres. O problema é que o strcmp trabalha com variáveis constantes... tente usar então o c_str() da string que retorna uma cadeia de caracteres constantes... tipo assim: std::string cpf1("123.456.789-00"); std::string cpf2("111.111.111-11"); if( strcmp( cpf1.c_str(), cpf2.c_str() != 0 ) { std::cout << "CPF inválido!!!" << std::endl; } Dá uma olhada nisso aí e vê se dá certo. Att, WebPantoja
  3. Quntelab, Bom se bem entendi acho que é isso que você procura: char c[6] = "TESTE"; std::stringstream ss; ss << std::hex << std::setfill('0'); for( int i = 0; i < 6; i++ ) { ss << std::setw(2) << (short) (unsigned char) c[i]; }; std::cout << ss.str(); Espero ter ajudado, WebPantoja
  4. Gutenbergs, Coloca o código aí para ver como está. Na gravação no arquivo, você poderia usar a função fwrite, ficaria melhor: fwrite (frase , 1 , sizeof(frase) , fp );
  5. Gutenbergs, Eu acho que faltou você abrir chaves aí no seu while... FILE * fpFile; int c; int count = 0; pFile=fopen ("myfile.txt","r"); if (pFile==NULL) perror ("Error opening file"); else { do { c = getc (pFile); printf("%c",c); count++; } while (c != EOF); } Faz uma identação que fica melhor de visualizar. Sempre que for trabalhar com arquivo fazer uma verificação para ver se ele realmente abriu antes de trabalhar com ele... para evitar possíveis falhas de segmentação. Espero ter ajudado. WebPantoja
  6. webpantoja

    Calcular CRC32

    Bem... acho que não é todo mundo que está familiarizado com o CRC32... ele serve para verificar se não ouve alterações na transmissão de dados, através de cálculos polinomiais. Vou postar aí o CRC32 que eu implementei aí: unsigned int reflect( unsigned int ref, char ch ) { int i; unsigned int value = 0; //Swap bit 0 for bit 7 //Bit 1 for bit 6, etc. for( i=1; 1<(ch + 1); i++ ) { if( ref & 1) { value |= 1<< (ch -i); } ref >>= 1; } return value; } void initCRC32Table( void ) { unsigned int ulPolynomial = 0x04c11db7; int i, j; for( i=0; i <= 0xFF; i++ ) { m_crc32RefTable[i] = reflect( i, 8 ) << 24; for( j=0; j<8; j++ ) { m_crc32RefTable[ i ] = (m_crc32RefTable[i] << 1 ) ^ (m_crc32RefTable[i] & 0x80000000 ? ulPolynomial : 0 ); } m_crc32RefTable[i] = reflect( m_crc32RefTable[i], 32 ); } } unsigned int calcCrc32( unsigned int preset, char* buf, int nbytes ) { unsigned int result; int i; result = preset; result ^= 0xffffffff; for( i=0; i < nbytes; i++ ) { result = (result >> 8) ^ m_crc32RefTable[(result & 0xff) ^ buf[i] ]; } result ^= 0xffffffff; return result; } int getCRC32( const char* fileName ) { long size = 0; int handle = open( fileName, O_RDONLY ); if( handle > 0 ) { size = handle; if( size <= 1 ) { //Error return 0; } if( close(handle) != 0 ) { //Error return 0; } } FILE* fp; int sz; unsigned int crc32 = 0xffffffff; if( (fp = fopen( fileName, "rb" ) ) == NULL ) { return 0; } else { bool feof = false; char buffer[80]; bool firstPacket = true; while( feof == false ) { sz = fread( buffer, 1, sizeof(buffer), fp ); if( firstPacket == true ) { crc32 = calcCrc32( crc32, &buffer[0x20], sz-0x20 ); } else { crc32 = calcCrc32( crc32, buffer, sz ); } firstPacket = false; if( sz != sizeof(buffer) ) { feof = true; } } } fclose( fp ); return( crc32 ); } Então se alguém já usou o CRC32 queria que desse uma olhada para ver se está OK. Att, WebPantoja
  7. webpantoja

    Calcular CRC32

    Ae galera minha primeira dúvid ano fórum! :lol: Estou fazendo um programa que preciso calcular o CRC32 de um arquivo binário. Bom, o cálculo para obter este CRC32 é extremamente complicado, mas já implementei. Mas estou com dúvida se realmente o resultado que estou obtendo é o resutlado válido. Gostaria que se alguém tivesse um arquivo de exemplo para me passar e o resultado experado seria de muita ajuda. Att, WebPantoja
  8. Hum... Tenta executar sem passar o 'C:'... só o nome da pasta junto com o nome do arquivo para ver se dar certo... PS: Estou tentando ajudar meio que no escuro, pois eu não estou em máquina windows no momento (Thank God!!!) :lol:
  9. Lanhellas, A Sintaxe está correta, então se está compilando acho que o problema é algo externo ao programa. Verifique se o caminho está correto, se o arquivo realmente existe... Pode usar este comando aqui para testar se o caminho está correto. Ele printa o que tiver no path... faz ele aí e vê se o arquivo .txt seu aparece na tela. system( "dir c:\\VNC\\" );
  10. Head, Faltou só a condição do IF... não existe else sem if. for( int i=0; i<n; i++ ) { for( int j=0; j<m; j++ ) { if(i==0 || i==tamanho_principal-1 || j==0 || j==tamanho_secundario-1) { printf("o"); } else { printf (" ") } printf("\n"); } } while (i<n) { j=0; while (j<m) { if(i==0 || i==tamanho_principal-1 || j==0 || j==tamanho_secundario-1) { printf("o"); }else { printf (" "); } j++; } i++; // Deixa para incrementar i no final printf ("\n"); }
  11. ReiLeao, Você não pode adicionar o registro inteiro não? acho que seria mais fácil... tipo assim struct cadastro { char nome[50], endereco[50]; }; int cadastrar() { struct cadastro cad; FILE * arq; arq = fopen("registro.txt","w+"); printf("\nDigite o nome: "); gets(cad.nome); printf("Digite o endereco: "); gets(cad.endereco); fwrite(&cad,sizeof(struct cadastro),1,arq); // Salva no arquivo fclose (arq); } int ler() { int retorno; struct cadastro cad; FILE * arq; if ((arq = fopen("registro.txt","r")) == NULL) { printf(" \n Registro não existe !"); getch(); } retorno = fread(&cad,sizeof(struct cadastro),1,arq); // Le do arquivo while ( retorno == 1) { printf("\n Nome: %s",cad.nome); printf("\n Endereco: %s",cad.endereco); retorno = fread(&cad,sizeof(struct cadastro),1,arq); } fclose (arq); } Bom... é uma idéia... espero ter ajudado. Att, WebPantoja
  12. webpantoja

    compilador markdown

    joka, O programa está completo? Seria bom você dar um exemplo de dados de entrada, aí fica melhor para visualizar o problema.
  13. Headbanger, Que bom que você conseguiu evoluir aí nos programas. Agora, eu juro que não consegui entender a sua última pergunta... tenta expor de forma mais condensada qual sua dúvida. Att, WebPantoja
  14. webpantoja

    WebPantoja

    Opa, olha só meus modos, já estou enviando mensagens há algum tempo aqui e ainda nem me apresentei.. :P Eu sou formado em Ciências da Computação e pós-graduado em Engenharia de Software. Trabalho em Brasília como Analista de Sistemas, em uma empresa de tecnologia de rastreamento via celular/satélite, no qual desenvolvo dispositivos de comunicação nas linguagens C/C++, ambiente linux. Nosso sistema principal é desenvolvido em C++, no qua ltenho mais experiência que C. Conheci este site a pouco tempo e, entre uma compilada e outra aqui no serviço, gostaria de ajudar os iniciantes ou qualquer outro que tenham dúvida nestas linguagens. Também gostaria de conhecer mais gente da área. Quem quiser pode ficar a vontade para me mandar mensagem. :D Att, WebPantoja
  15. Headbanger, Antes de começar a fazer um laço de repetição, inicialize as variáveis, assim: int horaDezena = 0, horaUnidade = 0, minutoDezena = 0, minutoUnidade = 0, segundoDezena = 0, segundoUnidade = 0; Depois quando estiver em um laço de repetição você tem que incrementar a variável, ou seja, fazer com que ela some +1 no valor dela, ficando de 0 -> 1, 1 -> 2, até que chegue na condição de parada... assim while( horaDezena <= 2 ) { while( horaUnidade <= 3 ) { while( minutoDezena <=5 ) { while (minutoUnidade <=9) { while (segundoDezena <=5) { while (segundoUnidade <=9) { printf ("%d horaDezena, %d horaUnidade, %d minutoDezena, %d minutoUnidade, %d segundoDezena, %d segundoUnidade\n"); segundoUnidade++; //soma +1 no valor da variável } segundoDezena++; //soma +1 no valor da variável } minutoUnidade++; //soma +1 no valor da variável } minutoDezena++; //soma +1 no valor da variável } horaUnidade++; //soma +1 no valor da variável } horaDezena++; //soma +1 no valor da variável } Também é importante fazer uma boa identação (dar espaços sempre que for um novo bloco dentro de um bloco). Fica melhor a leitura do código. Tenta aí, deve dar mais alguns erros mas vê se funciona. Qualquer outra dúvida posta aí. Att, WebPantoja
×
×
  • Criar Novo...