Ir ao conteúdo

Posts recomendados

Postado

Pessoal, não estou conseguindo contar os caracteres diferentes do alfabeto...alguém consegue me dizer o que estou fazendo de errado? colocando o meu nome no arquivo (Airton Nigolino) retorna sempre 17.

#include<stdio.h>
#include<string.h>
#include<ctype.h>

/*Programa que receba do usuário um arquivo texto e um caracter. 
Mostre na tela quantas vezes aquele caractere ocorre dentro do arquivo.*/
int main(){
char c;
char texto ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int contador = 0;

FILE *arq;
arq = fopen("arquivo1.txt", "r");
if(arq == NULL)
printf("Erro ao tentar abrir o arquivo.\n");
else{
  while((c = fgetc(arq)) != EOF){
    if(toupper(c) !=texto)
    contador++;
  }
  fclose(arq);
  printf("Existem %d caracter no arquivo\n", contador);
}
return 0;
}

 

Postado

Olá @nigolino!

 

Antes de estudamos o codificação, estude comigo o enunciado do problema.

Compreendeu que o programa solicita do usuário duas informações?

 

Pois é, você deve inserir o caminho de um arquivo de extensão txt em seguida um caractere.

 

Com relação ao algoritmo...

A busca deve ser feita caractere por caractere nisso a estrutura do código está certa.

 

Não está coerente somente na variável texto; que é um ponteiro para string literal.

 

Na proposição IF; a expressão correta é igual e não diferente, pois se a condição é verdadeira então incrementa-se a variável contador e como estamos interessados em contar as ocorrências de uma certo caractere no arquivo então o resultado deve ser sim para igual, e não para diferente. 

 

Certo!

Postado
47 minutos atrás, MB_ disse:

Não está coerente somente na variável texto; que é um ponteiro para string literal.

Como faço para corrigir esse problema....estou aprendendo ainda e não compreendi direito.

Postado
45 minutos atrás, nigolino disse:

Como faço para corrigir esse problema....estou aprendendo ainda e não compreendi direito.

Pelo enunciado você deve escolher 1 caractere para ser buscado no arquivo.

 

é uma     char    caractere= 'a'

não uma char * texto= "abdmabdamdambd"

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!