Ir para conteúdo

POWERED BY:

Arquivado

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

Raphael1001fly

Ler comentários de um Arquivo TXT

Recommended Posts

Boa Noite, passei o sábado todo tentando resolver esse problema, eu li em vários sites e nada! meu código esta quase pronto e eu acredito ter entendido a lógica do problema, mas a sintaxe esta errada e eu não sei como corrigi-la, eu agradeço desde já vocês do fórum. Não sei mais o que fazer :cry:

 

Obrigado.

 

Enunciado!

 

Desenvolver um algoritmo que baseado na leitura caractere a caractere de um arquivo texto, contabilize o número de linhas total, o número de linhas de comentário simples e o número de linhas de comentário multi-linhas.
Por exemplo, considerar o arquivo:
// Este é um comentário de uma linha só.
for (i = 0; i < 10; i++)
{
/* Este é um comentário de duas linhas.
O término é ocorre na próxima linha.
*/
printf(“Valor de i %d”, i); //Um comentário aqui não deve ser computado.
Meu Código!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (){
FILE * pFile;
int tot = 0, ct= 0,mct=0,operacao,c;
char total_linha[80];
printf("Programa Contador de Linhas 1.0\n\n");
printf("Digite:\n\n\n 1-Contagem Total de Linhas\n\n\n 2-Ajuda\n\n");
scanf("%d",&operacao);
system("CLS");
switch (operacao){
case 1:
printf ("digite o nome do arquivo ");
scanf("%s",&total_linha);
cc(total_linha); // Chama a Função cc
break;
case 2:
printf("1-Escolha o nome do arquivo que deseja abrir e sua respectiva extencao\n\n\n 2-Pressione Enter e Aguarde a Contagem de Linhas\n\n");
break;
}
system("PAUSE");
return 0;
}
int cc(char total_linha[80]){
FILE * pFile;
int c;
int tot = 0, ct = 0, mct = 0;
pFile = fopen (total_linha,"r");
if (pFile ==NULL){}
while ((c = fgetc(pFile)) != EOF)
if (c == '\n') tot++; // Esse Funciona
else
if (c == '//') ct++; // Esse Não 1 Erro
while ((c == '/*') != '*/') // Esse Não 2 Erros
if (c == '\n') mct++;
printf("Total de linhas = %d.\n", tot);
printf("Numero de simples comentarios = %d.\n", ct);
printf("Numero de multi comentarios = %d.\n", mct);
printf("Total de comentarios = %d.\n", ct+ mct);
fclose(pFile);
return 0;
}
A mensagem de erro é :[Warning] multi-character character constant [-Wmultichar]
OBS: Tentei usar:
if (stcmp(c,"/n") tot++;
if (stcmp(c,"//") ct++;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.