TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

ContaLinha

Por:   •  29/9/2015  •  Trabalho acadêmico  •  2.951 Palavras (12 Páginas)  •  233 Visualizações

Página 1 de 12
  1. INTRODUÇÃO

        Muitos programas de computador do tipo “Console” são utilizados todos os dias. Para a plataforma Linux, esta é uma afirmação quase que incorporada à estrutura do próprio SO (Sistema Operacional). No SO Windows, os aplicativos de console, que são simples em interface, mas que desempenham tarefas muitas vezes sofisticadas, não são tão comuns à experiência típica de uso do sistema. Por exemplo, pode-se citar desde programas de linha de comando como “ipconfig” que auxilia na visualização das configurações de rede de um PC (personal computer), até programas como o “taskkill” que auxiliam o usuário a eliminar processos ativos na memória do computador.

        Para chamar o nosso programa através do promp de comando do Dos é preciso passar parâmetros para a função principal. Esses parâmetros são: um inteiro (argc) e um ponteiro para string (argv), onde o argc recebe a quantidade de argumentos e o argv[] recebe o argumento. O argc será no mínimo 1 que é o nome do programa que vamos chamar na linha de comando do promp. Portanto o argv[0] sempre será o nome do programa.

2. LAYOUT DO PROGRAMA

2.1. Main.c

int main(int argc, char **argv)// Parâmetros que serão digitados na linha de comando do prompt.

{

   Contalinha(argv[argc-1], comentario);// Chamada da função contadora de linhas.

   return 0;

}        

2.2. Contalinha.h

void Contalinha(char n_arquivo[], int comentario);

2.3. Contalinha.c

void Contalinha(char n_arquivo[], int comentario){

   FILE *file;// Ponteiro para arquivo.

   file = fopen(n_arquivo, "r");// Abertura do arquivo para leitura em modo texto.

}// Fim da função.

3. ELABORAÇÃO DA FUNÇÃO PRINCIPAL

#include <stdio.h>// Comandos de entrada e saída.

#include // Biblioteca padrão.

#include // Manipulação de strings.

#include "Contalinha.h"// Biblioteca da função Contalinha.

int main(int argc, char **argv)// Parâmetros que serão digitados na linha de comando do prompt.

{

   system("cls");// Limpa a tela no prompt de comando.

   int comentario=0;// Flag para incluir ou não as linhas comentadas.

   int i;// Contador.

   if(argc==2)comentario = 0;// O flag de comentario é zero caso não seja digitado -c.

   else

      for(i=1; iflag recebe 1 indicando a inclusão de linhas comentadas.

         if(strcmp("-c", argv[i])==0)comentario = 1;

   Contalinha(argv[argc-1], comentario);// Chamada da função contadora de linhas.

   puts("\n\n");

   system("pause");

   return 0;

}

        O nome do programa é o parâmetro obrigatório e os parâmetros opcionais serão o “-h” para mostrar a ajuda de como usar o programa, e também o “-c” para incluir as linhas comentadas na contagem.

4. ARQUIVO

        Para entender como desenvolver a função de contagem de linhas é preciso entender como funciona a leitura de um arquivo. Como exemplo, vamos usar o seguinte texto:

Olá,

Seja bem vindo!

        A leitura deste texto é feita da seguinte maneira no arquivo:

O

l

á

,

\n

S

e

j

a

b

e

m

v

i

n

d

o

!

EOF

        O caracter especial \n é para delimitar o fim da linha. Já a constante EOF indica o fim do arquivo.

        A ideia é, através do caracter \n, contar o número de linhas do programa. Mas para contar as linhas comentadas é preciso identificar os caracteres // para linha única de comentário e /* */ para bloco de comentários.

5. CODIGO-FONTE DA FUNÇÃO CONTADORA DE LINHAS

#include // Comandos de entrada e saída.

#include // Biblioteca padrão.

#include // Manipulação de strings.

void Contalinha(char n_arquivo[], int comentario){

   FILE *file;// Ponteiro para arquivo.

   /* Declaração de variáveis.*/

   char texto[sizeof(file)*1024];// A string texto terá o tamanho do arquivo em Byte, pois cada caracter ocupa um Byte na memória.

   char ch;// Para ler caracter a caracter do arquivo.

   int linha=0, vazia=0, coment=0, t_linha=0, cont=0, x;// Contadores.

   int bcom=0, lcom=0, lvazia=0, cvazia=0;// Flag (sinalizadores).

...

Baixar como (para membros premium)  txt (14.9 Kb)   pdf (251.5 Kb)   docx (38 Kb)  
Continuar por mais 11 páginas »
Disponível apenas no TrabalhosGratuitos.com