Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

lsbonfim

progama em C, compilador dev c++

Mensagens Recomendadas

lsbonfim

BOM DIA , Caros amigos tenho uma atividade da faculdade que tenho uma duvida que nao sei como solucionar,

A atividade consiste em :

# fazer um progama que leia um determinado arquivo e me falei quantas linhas de comentario tem , para identificar a linha deve-se ler /**/, e me falar onde o caminho onde estar armazenado.

segue o codigo

que fiz mas nao ta dando certo, se poderem me ajudar!!!

/******************************************************************

   Curso de Programação C - Programação Estruturada II
   
   Projeto..........:   projeto atps 
   Arquivo..........:  
   Assunto..........:    Funcao de Leitura de dados em Arquivo.
   o programa le o arquivo e compara se a string lida é igual ao arquivo. 
   Autor............:   leandro sousa bonfim
   Data de início...:   20/03/2010
   Última alteração.:    23/03/2010
   

******************************************************************/


#include <stdio.h>
#include <cstdlib>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
#include <string.h>


main()
{
int iContador=0;     
FILE *ponteiro;
char szDisco[100]="  ";
char szCompara[3]="/* ";
char arquivo[100]
/* Definição de variaveis :
              
    *ponteiro -> Atributo para leitura de dados em disco
    szDisco -> Variavel para entrada de dados via disco
    szCompara -> Variavel para comparação do conteudo do disco.
    
*/             


/* Rotina principal
   Esta rotina abre um ponteiro para leitura do disco
   e le os 100 bytes, definidos em fgets ate encontrar o final do arquivo.
   
*/

inicio: 
        
ponteiro = fopen("c:\\nova pasta\\teste.txt", "r");
fseek (ponteiro,0,0);          
do
{
       
strcpy(szDisco," ");
fgets(szDisco,100, ponteiro);
iContador++;
if (szCompara[0]==szDisco[0] && szCompara[1]==szDisco[1])
     {
       printf("Encontrei pelo menos uma ocorrencia do conteudo /**/ no arquivo\n\n");      
       goto fim;
       }                          

} while (feof (ponteiro) == 0);

fclose (ponteiro);


imprime:           
    printf("Nao encontrei pelo menos uma ocorrencia do conteudo /**/ no arquivo\n\n");
    
fim:    
                  
    printf ("O numero de linhas lidas eh %d linha(s)\n\n",iContador);     
    system("PAUSE");
   
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Peterv5

Concordo com o Localhost, utiliza antes procedimentos/funções. Se tiveres dificuldades em escreve-las tenta, e depois posta o que fizeste para que te possamos orientar no caminho certo.

Boa sorte.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lsbonfim

pessoal fiz essa mudança

 

main()

{

int iContador=0;   

FILE *ponteiro;

char szDisco[100]="  ";

char szCompara[3]="/* ";

char arquivo[100]

agora ele pede o caminho onde estar salvo o arquivo mais nao le o arquivo todo somente a primeira linnha preciso fazer com que ele le todo o arquivo e me diga somente as linha que começa com /*

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

Vais lendo com a função fgets 3 caracteres de cada vez e comparas.

Utilizas isto para ir percorrendo ficheiro:

while(!feof(ficheiro)) {
  //instructions
}


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
lsbonfim

amigos ja consegui resolver meu b.o,

agora vem outra duvida?

o meu progama tem que me pedir o drive a ser lido , e caso o drive nao seja valido e me retorne uma frase que esse drive e invalido e que digite um drive correto, mas nao consigo fazer podem me ajudar e no progama que segue acima.

grato

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.