Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Gabriel_Moro

Membros Plenos
  • Total de itens

    73
  • Registro em

  • Última visita

  • Qualificações

    0%
  1. C Ordenar lista em C

    void ordenaT(celula *lista){ celula *ant, *atual, *aux; int ok=0; ant=lista; atual=lista; while(ok==0){ ok=1; ant=lista; atual=lista; while(atual!=NULL){ if(ant->tempo>atual->tempo){ ok=0; aux=ant; ant=atual; atual=aux; } ant=atual; atual=atual->prox; } } }
  2. C o que está errado neste programa STRUCT

    procure não usar o nome da struct como variavel também final é uma palavra reservada, então não nomeie nada com esse nome
  3. C Resolução para questão de fila

    struct Eleitor{ int idade; char nome[30]; int prioridade; }eleitor; tu pode criar uma fila de prioridade, se a pessoa tiver menos de 65 o prioridade recebe 0 senão 1 e no retirar_fila() primeiro verifica a partir do inicio se tiver alguém com prioridade, se tiver ele será o próximo a ser atendido, senão atende normalmente o primeiro da fila
  4. C Lista Encadeada - Não inserir números iguais

    printf("Novo elemento:\n\n "); scanf("%d", &novo->num); novo->prox = NULL; depois que tu tem um novo nodo, tu pode enviar ele para uma função que percorre toda a lista verificando se tem um valor igual, se depois de percorrer não tiver tu insere
  5. Ler palavras com acento em arquivos

    estou tentando tirar informações de um arquivo que contem nomes e idades, os nomes são brasileiros então muitos tem acentos e eu não estou conseguindo ler eles corretamente #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <locale.h> void criaTxt() { FILE *f = fopen("registroOrganizado.txt", "w"); fclose(f); } void mostraAntesOrganizado() { char texto[50]; FILE *f = fopen("1.csv", "r"); fseek(f, 0, SEEK_SET); while (1) { fgets(texto, sizeof(texto), f); if(feof(f)) break; printf("%s", texto); getchar(); } fclose(f); } int main(void) { setbuf(stdout, NULL); setlocale(LC_ALL, "Portuguese"); //criaTxt(); mostraAntesOrganizado(); return EXIT_SUCCESS; } 1.csv
  6. Arquivos .BMP

    não estou compreendendo essa leitura... assim como deviria ser não funciona #include <stdio.h> #include <stdlib.h> typedef struct cabecalhoArquivo { unsigned short int bfType; unsigned long int bfSize; unsigned short int bfReserved1; unsigned short int bfReserved2; unsigned long int brOffbits; } CABECALHOARQUIVO; int main () { CABECALHOARQUIVO *cara = malloc(sizeof(CABECALHOARQUIVO)); FILE *f = fopen("st1012.bmp", "rb"); fread(cara, sizeof(CABECALHOARQUIVO), 1, f); printf("Tipo: %x, Tamanho: %ld, BfReserved1: %hd, BfReserved2: %hd, BfOffBits: %ld", cara->bfType, cara->bfSize, cara->bfReserved1, cara->bfReserved2, cara->brOffbits); fclose(f); return 0 ; } e assim Byte a Byte funciona #include <stdio.h> #include <stdlib.h> typedef struct cabecalhoArquivo{ unsigned char bfType1; unsigned char bfType2; unsigned char bfSize1; unsigned char bfSize2; unsigned char bfSize3; unsigned char bfSize4; unsigned char bfReserved11; unsigned char bfReserved12; unsigned char bfReserved21; unsigned char bfReserved22; unsigned char brOffbits1; unsigned char brOffbits2; unsigned char brOffbits3; unsigned char brOffbits4; }CABECALHOARQUIVO; int main(void) { setbuf(stdout,NULL); CABECALHOARQUIVO *cara=malloc(sizeof(CABECALHOARQUIVO)); FILE *f=fopen("st1012.bmp", "rb"); fread(cara, sizeof(CABECALHOARQUIVO), 1, f); printf("Tipo: %x %x, Tamanho: %x %x %x %x, BfReserved1: %x %x, BfReserved2: %x %x, BfOffBits: %x %x %x %x", cara->bfType1, cara->bfType2, cara->bfSize4, cara->bfSize3, cara->bfSize2, cara->bfSize1, cara->bfReserved12, cara->bfReserved11, cara->bfReserved22, cara->bfReserved21, cara->brOffbits4, cara->brOffbits3, cara->brOffbits2, cara->brOffbits1); fclose(f); return EXIT_SUCCESS; }
  7. Arquivos .BMP

    estou tentando ler arquivos .BMP e não estou conseguindo, o site mais interessante sobre os .bmp que eu achei foi http://www.dragonwins.com/domains/getteched/bmp/bmpfileformat.htm (estou me baseando nele) #include <stdio.h> #include <stdlib.h> typedef struct cabecalhoArquivo{ char bfType1; char bfType2; int bfSize; short bfReserved1; short bfReserved2; int bfOffBits; }CABECALHOARQUIVO; typedef struct cabecalhoImagem{ int biSize; int biWidth; int biHeight; short biPlanos; short biBitCount; int biCompression; int biSizeImage; int biXPelsPerMeter; int biYPelsPerMeter; int biClrUsed; int biClrImportant; }CABECALHOIMAGEM; int main(void) { setbuf(stdout,NULL); CABECALHOARQUIVO *cara=malloc(sizeof(CABECALHOARQUIVO)); CABECALHOIMAGEM *cabI=malloc(sizeof(CABECALHOIMAGEM)); FILE *f=fopen("st1012.bmp", "rb+"); fread(cara, sizeof(CABECALHOARQUIVO), 1, f); printf("Tipo: %c%c, Tamanho: %d, BfReserved1: %hd, BfReserved2: %hd, BfOffBits: %d", cara->bfType1, cara->bfType2, cara->bfSize, cara->bfReserved1, cara->bfReserved2, cara->bfOffBits); fread(cabI, sizeof(CABECALHOIMAGEM), 1, f); printf("\nBiSize: %d, BiWidth: %d, BiHeight: %d, BiPlanos: %hd, BiBitCount: %hd, BiCompression: %d, BiSizeImage: %d, BiXPelsPerMeter: %d, BiYPelsPerMeter: %d, BiClrUsed: %d, BiClrImportant: %d", cabI->biSize, cabI->biWidth, cabI->biHeight, cabI->biPlanos, cabI->biBitCount, cabI->biCompression, cabI->biSizeImage, cabI->biXPelsPerMeter, cabI->biYPelsPerMeter, cabI->biClrUsed, cabI->biClrImportant); fclose(f); return EXIT_SUCCESS; } st1012.bmp
  8. busca no arquivo não funciona

    #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct musica { char cd[20]; int excluido; } MUSICA; void insere(FILE *f, MUSICA novo) { fwrite(&novo, sizeof(MUSICA), 1, f); } MUSICA *buscaCD(FILE *f, char cd[20], long *checkPoint) { MUSICA *m = malloc(sizeof(MUSICA)); fseek(f, SEEK_SET, 0); while (1) { *checkPoint = ftell(f); fread(m, sizeof(MUSICA), 1, f); if (feof(f)) break; if (strcmp(m->cd, cd) == 0) return m; } return NULL; } void altera(FILE *f, char busca[20], MUSICA alterado) { MUSICA *m; long checkPoint; m = buscaCD(f, busca, &checkPoint); fseek(f, checkPoint, 0); if (m != NULL) { fwrite(&alterado, sizeof(MUSICA), 1, f); printf("\nRegistro alterado!"); } else printf("\nRegistro inexistente!"); } void exclui(FILE *f, char busca[20]) { MUSICA *m; long checkPoint; m = buscaCD(f, busca, &checkPoint); fseek(f, checkPoint, 0); if (m != NULL && m->excluido == 0) { m->excluido=1; fwrite(m, sizeof(MUSICA), 1, f); printf("\nRegistro apagado!"); } else printf("\nRegistro inexistente!"); } void reorganiza(FILE *f) { MUSICA m; FILE *g = fopen("auxx.txt", "wb+"); fseek(f, SEEK_SET, 0); while (1) { fread(&m, sizeof(MUSICA), 1, f); if (feof(f)) break; if (m.excluido == 0) { fwrite(&m, sizeof(MUSICA), 1, g); } } fclose(g); } void mostra(FILE *f) { MUSICA m; fseek(f, SEEK_SET, 0); printf("\n"); while (1) { fread(&m, sizeof(MUSICA), 1, f); if (feof(f)) break; if (m.excluido != 1) printf("CD: %s\n", m.cd); } } int main() { FILE *f = fopen("arq.txt", "wb+"); MUSICA novo; MUSICA *busca; strcpy(novo.cd, "CD 123"); novo.excluido = 0; insere(f, novo); strcpy(novo.cd, "CD 456"); novo.excluido = 0; insere(f, novo); strcpy(novo.cd, "CD 789"); novo.excluido = 0; insere(f, novo); long checkPoint; busca = buscaCD(f, "CD 123", &checkPoint); if (busca != NULL) { printf("Achou: %s", busca->cd); } else { printf("Não achou!"); } busca = buscaCD(f, "CD 111", &checkPoint); if (busca != NULL) { printf("\nAchou: %s", busca->cd); } else { printf("\nNão achou!"); } mostra(f); strcpy(novo.cd, "CD 666"); novo.excluido = 0; altera(f, "CD 123", novo); strcpy(novo.cd, "CD 777"); novo.excluido = 0; altera(f, "CD 111", novo); mostra(f); exclui(f, "CD 456"); exclui(f, "CD 456"); mostra(f); reorganiza(f); fclose(f); remove("arq.txt"); rename("auxx.txt", "arq.txt"); f=fopen("arq.txt", "rb"); mostra(f); fclose(f); return 0; } arrumei o código para um arquivo binário, da uma olhada pra ver se esta tudo ok ou poderia melhorar alguma coisa
  9. busca no arquivo não funciona

    #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct musica { char cd[20]; int excluido; } MUSICA; void insere(FILE *f, MUSICA novo) { fprintf(f, "%s\n", novo.cd); fprintf(f, "%d\n", novo.excluido); } MUSICA *buscaCD(FILE *f, char cd[20], long *checkPoint, long *checkPoint2) { MUSICA *m = malloc(sizeof(MUSICA)); fseek(f, SEEK_SET, 0); while (!feof(f)) { *checkPoint = ftell(f); fscanf(f, "%19[^\n]%*c", m->cd); *checkPoint2 = ftell(f); fscanf(f, "%d", &m->excluido); if (strcmp(m->cd, cd) == 0) return m; } return NULL; } void altera(FILE *f, char busca[20], MUSICA alterado) { MUSICA *m; long checkPoint, checkPoint2; m = buscaCD(f, busca, &checkPoint, &checkPoint2); fseek(f, checkPoint, 0); if (m != NULL) { fprintf(f, "%s\n", alterado.cd); fprintf(f, "%d\n", alterado.excluido); printf("\nRegistro alterado!"); } else printf("\nRegistro inexistente!"); } void exclui(FILE *f, char busca[20]) { MUSICA *m; long checkPoint, checkPoint2; m = buscaCD(f, busca, &checkPoint, &checkPoint2); fseek(f, checkPoint2, 0); if (m != NULL && m->excluido == 0) { fprintf(f, "%d\n", 1); printf("\nRegistro apagado!"); } else printf("\nRegistro inexistente!"); } void reorganiza(FILE *f) { MUSICA m; FILE *g = fopen("auxx.txt", "w+"); fseek(f, SEEK_SET, 0); while (!feof(f)) { fscanf(f, "%19[^\n]%*c", m.cd); fscanf(f, "%d", &m.excluido); if (m.excluido == 0) { fprintf(g, "%s\n", m.cd); fprintf(g, "%d\n", m.excluido); } } fclose(g); } int main() { FILE *f = fopen("arq.txt", "w+"); MUSICA novo; MUSICA *busca; strcpy(novo.cd, "CD 123"); novo.excluido = 0; insere(f, novo); strcpy(novo.cd, "CD 456"); novo.excluido = 0; insere(f, novo); strcpy(novo.cd, "CD 789"); novo.excluido = 0; insere(f, novo); long checkPoint, checkPoint2; busca = buscaCD(f, "CD 123", &checkPoint, &checkPoint2); if (busca != NULL) { printf("Achou: %s", busca->cd); } else { printf("Não achou!"); } busca = buscaCD(f, "CD 111", &checkPoint, &checkPoint2); if (busca != NULL) { printf("\nAchou: %s", busca->cd); } else { printf("\nNão achou!"); } strcpy(novo.cd, "CD 666"); novo.excluido = 0; altera(f, "CD 123", novo); strcpy(novo.cd, "CD 777"); novo.excluido = 0; altera(f, "CD 111", novo); exclui(f, "CD 456"); exclui(f, "CD 456"); reorganiza(f); fclose(f); return 0; } criei um função de exclusão que só marca quando um item foi excluído e uma função pra reorganizar, que tira os dados excluidos, que esta duplicando os dados, o que poderia ser?
  10. busca no arquivo não funciona

    void altera(FILE *f, char busca[20], MUSICA alterado) { MUSICA m; fseek(f, SEEK_SET, 0); while (!feof(f)) { fscanf(f,"%19[^\n]%*c", m.cd); if (!strcmp(m.cd, busca)) { fprintf(f, "%s\n",alterado.cd); break; } } } como eu poderia fazer uma alteração direto no mesmo arquivo?
  11. busca no arquivo não funciona

    o que é o 19 e o *c?
  12. busca no arquivo não funciona

    #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct musica { char cd[20]; } MUSICA; void insere(FILE *f, MUSICA novo) { fprintf(f, "%s\n", novo.cd); } MUSICA *buscaCD(FILE *f, char cd[20]) { MUSICA *m = malloc(sizeof(MUSICA)); fseek(f, SEEK_SET, 0); while (!feof(f)) { fread(m, sizeof(MUSICA), 1, f); if (strcmp(m->cd, cd) == 0) return m; } return NULL; } void altera(FILE *f, char busca[20], MUSICA alterado) { int ok = 0; MUSICA *m = malloc(sizeof(MUSICA)); fseek(f, SEEK_SET, 0); while (!feof(f) && ok == 0) { fread(m, sizeof(MUSICA), 1, f); if (!strcmp(m->cd, busca)) { ok = 1; fwrite(m, sizeof(MUSICA), 1, f); fclose(f); } } } int main() { FILE *f = fopen("arq.txt", "w+"); MUSICA novo; MUSICA *busca; strcpy(novo.cd, "CD 123"); insere(f, novo); strcpy(novo.cd, "CD 456"); insere(f, novo); strcpy(novo.cd, "CD 789"); insere(f, novo); rewind(f); char procura[20]; strcpy(procura, "CD 123"); busca = buscaCD(f, procura); if (busca != NULL) { printf("Achou: %s", busca->cd); } else { printf("Não achou!"); } busca = buscaCD(f, "CD 111"); if (busca != NULL) { printf("\nAchou: %s", busca->cd); } else { printf("\nNão achou!"); } rewind(f); strcpy(procura, "CD 123"); strcpy(novo.cd, "CD 666"); altera(f, procura, novo); fclose(f); return 0; } não estou conseguindo buscar um dado no arquivo
  13. Problema em Float e Int

    int main(){ float pe; float nota1; float nota2; float nota3; float peso1; float peso2; float peso3; pe=media(nota1, nota2, nota3, peso1, peso2, peso3); //esqueceu de mandar a referencia para a função média printf("Média ponderada: %.2f",pe); return 0; }
  14. Soma de Matriz com Vetor

    int matriz[5][5], vetor[5], soma[5]; int i,j; for(i=0;i<5;i++) soma[i]=0;//como vou usar o vetor soma como um acomulador deve-se zera-lo antes de uma operação for(i=0;i<5;i++){ for(j=0;j<5;j++){ soma[i]+=matriz[i][j];//soma a linha da matriz } soma[i]+=vetor[i];//soma a posição do vetor } ficaria assim...
  15. Problema com Array

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×