Ir ao conteúdo
  • Cadastre-se

José Pascoal

Membro Júnior
  • Posts

    14
  • Cadastrado em

  • Última visita

Reputação

0
  1. Ja consegui ler e mandar escrever mas nao le o ficheiro desde o incio vejam la se conseguem descobrir algum erro vou por em anexo o ficheiro .txt #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct DADOS { char email_emisor[50]; int dia, mes, ano; char email_receptor[50]; int opiniao; struct DADOS *nseg; }Dados; Dados* readFileText(const char *namefile, int *N) { char aux[80], *token; Dados *v; FILE *f; f = fopen(namefile, "r"); if (f == NULL) return NULL; v = (Dados*)malloc(sizeof(Dados)); if (v == NULL) return NULL; *N=0; while (!feof(f)) { v = (Dados*)realloc(v, (*N + 1) * sizeof(Dados)); if (v == NULL) return NULL; fgets(aux,80,f); token = strtok(aux,","); strcpy(v[*N].email_emisor,token); token = strtok(NULL,","); v[*N].dia = atoi(token); token = strtok(NULL,","); v[*N].mes = atoi(token); token = strtok(NULL,","); v[*N].ano = atoi(token); token = strtok(NULL,","); strcpy(v[*N].email_receptor,token); token = strtok(NULL,"\n"); v[*N].opiniao = atoi(token); (*N)++; } fclose(f); return (v); } int main() { Dados *v; char nfich[20]; int tam, i; printf("\nInsira nome do ficheiro: "); scanf("%s",nfich); v = readFileText(nfich, &tam); if(v==NULL){ printf("ERRO!"); return 0; } for (i = 0; i < tam; i++) { printf("%s_%d/%d/%d_%s_%d\n", v.email_emisor, v.dia, v.mes, v.ano, v.email_receptor, v.opiniao); } getchar(); return 0; } dados.txt
  2. Era mesmo esse o erro, obrigado. Sim é uma estrutura com o campo nome, o campo numero que sao inteiros e o campo nota que sao reais. Pensava que quando ordenava pelo nome o numero e a nota do respetivo nome tambem eram alterados mas ficam tal e qual como estavam...
  3. Tenho de organizar strings por ordem alfabetica com o bubble sort, tenho o seguinte código: void bubble_sort_crescente_aluno_nome (ALUNO v[], int N) { int i,k; char aux[80]; do { k=0; for(i=0;i<N-1;i++) if(strcmp(v.nome,v[i+1].nome)>1) { strcpy(aux,v.nome); strcpy(v.nome,v[i+1].nome); strcpy(v[i+1].nome,aux); k++; } } while(k!=0); } ele ordena algumas strings mas outras nao,sera que esta alguma coisa errada na função?
  4. Gostaria de saber como desenhar um triangulo rectangulo, em modo video, e como preencher esse triangulo.
  5. Por exemplo a palavra algoritmos so me esta a contar 3 e tem mais texto.txt texto.txt
  6. ele funciona mas com algumas palavras, nao as ta a contar bem
  7. este programar e para utilizador escrever uma palavra e devolver o numero que cotem o ficheiro essa palavra. Nao me esta a contar bem as palavras #include<stdio.h> #include<string.h> int main() { FILE *f; int c=0; char s[100]; char t[30000]; f=fopen("texto.txt","r"); if(f==NULL) printf("Erro na abertura do ficheiro!\n"); else printf("O ficheiro abriu com sucesso\n"); printf("Escreva a palavra que quer procurar no ficheiro:\n"); scanf("%s",s); while(fscanf(f,"%s",t)==1) if(strcmp(s,t)==0) c++; printf("A palavra escrita repete-se %d vezes\n",c); return 0; }
  8. Como demos esta matéria um bocado apressa precisava de uma pequena ajuda para perceber o seguinte exercício: Escreva um programa que mostre no ecrã quantas vezes ocorre o caráter c dentro da palavra s, sendo que tanto c como s são passados na linha de comando. Um exemplo da invocação do programa é o seguinte: $ ex8 e Fenomenal!! que deveria mostrar algo como O caráter ’e’ aparece 2 vezes na palavra ’Fenomenal!!’ Para fazer a contagem deve escrever a seguinte função: void contaOcorrencias(char s[] ,char c, int *res)
  9. Pois é esse o grande problema e nem tinha reparado! Obrigado
  10. Sim realmente nao tinha pensado nisso vou expremintar. Obrigado
  11. José Pascoal

    Função C

    Esta função nao está a funcionar quando abro o programa na linha de comandos e nao vejo o que possa estar errado. É uma função que recebe duas stringas e mostra as vogais presentes em cada uma. Na hora de executar nao aparecem as vogais. void mostraVogais(char a[],char b[]) { int i; printf("Vogais na 1ª frase: "); for(i=0;i!='\0';i++) if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u'||a=='A'||a=='E'||a=='I'||a=='O'||a=='U') printf("%c ",a); printf("\n"); printf("Vogais na 2ª frase: "); for(i=0;i!='\0';i++) if(b=='a'||b=='e'||b=='i'||b=='o'||b=='u'||b=='A'||b=='E'||b=='I'||b=='O'||b=='U') printf("%c ",b); printf("\n"); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...