Ir ao conteúdo
  • Cadastre-se

Operação com arquivos - erro estranho


Asteca94

Posts recomendados

Boa Noite

É o seguinte. Eu fiz duas funções. Uma grava os dados do arquivo em duas matriz (nome e tel) e a outra ordena em ordem alfabética a matriz de nome.

Até que funciona, porém se eu colocar mais de 20 dados no arquivo, o programa retorna um erro de aplicativo.

Aqui estão as funções


void listaCont()
{
char nome[100][60], tel[100][20], ch[60], num[20];
int i, j, k;
for( i=0 ; i<100 ; i++ ){
for( j=0 ; j<60 ; j++ ) nome[i][j] = '\0';
for( k=0 ; k<20 ; k++ ) tel[i][k] = '\0';
}
temp(nome,tel);
for( i=0 ; i<contaLin() ; i++ )
for( j=0 ; j<contaLin() ; j++ ){
if(strcmp(nome[i],nome[j])==-1){
strcpy(ch,nome[i]);
strcpy(num,tel[i]);
strcpy(nome[i],nome[j]);
strcpy(tel[i],tel[j]);
strcpy(nome[j],ch);
strcpy(tel[j],num);
}
}
printf("\n\t\xC9");
for( j=0 ; j<61 ; j++ ) printf("\xCD"); printf("\xCB");
for( j=0 ; j<25 ; j++ ) printf("\xCD"); printf("\xBB\n");
for( i=0 ; i<contaLin() ; i++ ){
printf("\t\t\t\t\t\t\t\t\t\t\t\t\xBA");
printf("\r..................................................................... \xba%s ",tel[i]);
printf("\r\t\xba %s\n",nome[i]);
}
printf("\t\xC8");
for( j=0 ; j<61 ; j++ ) printf("\xCD"); printf("\xCA");
for( j=0 ; j<25 ; j++ ) printf("\xCD"); printf("\xBC\n");
printf("\t\t\t Aperte qualquer tecla para voltar ao menu.");
getch();
}

void temp(char nome[][60], char tel[][20])
{
char ch[60], num[20], temp;
lista = fopen("lista.txt","r");
int i = 0, j = -1;
do
{
do
{
if((i==0)&&(j==-1));
else nome[i][j] = temp;
j++;
} while((temp=fgetc(lista))!='|');
nome[i][j+1] = temp;
j = 0;
while((temp=fgetc(lista))!='\n')
{
tel[i][j] = temp;
j++;
}
tel[i][j+1] = temp;
j = 0;
i++;
temp = fgetc(lista);
}while(temp!=EOF);
fclose(lista);
}

Alguém sabe qual é o erro??

Ele ocorre também mesmo quando o arquivo tem poucas linhas quando eu, pela função main chamo muitas vezes a função listaCont().

Obrigado

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!