Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
lsbonfim

progama em C, compilador dev c++

Recommended Posts

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");
   
}

Share this post


Link to post
Share on other sites
Localhost

Dei-te uma seguestão mas tens de pôr dúvidas mais concretas.


here since 2009

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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 /*

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.