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

ATPS - Programação Estruturada II

Por:   •  3/4/2015  •  Trabalho acadêmico  •  3.491 Palavras (14 Páginas)  •  487 Visualizações

Página 1 de 14

                             

Tecologia em Analise e Desenvolviemento de Sistemas

PROGRAMAÇÃO ESTRUTURADA II


Sumário

Introdução        

Programa contador de linhas        

Validando o programa Contador de Linhas        

Conclusão        

Bibliografia        


Introdução

Esse trabalho visa criar um programa que leia, através de uma linha de comando, códigos fontes escritos em linguagem C e retorne o número de linhas total do código, além do total de linhas em branco, total de linhas de comentário simples e total de linhas de comentário multi-linhas.


Programa contador de linhas

O programa foi desenvolvido na linguagem C. Ele é dividido em dois arquivos ou dois módulos, um principal e outro auxiliar: MainCodeCount.c e LibCodeCount.h. O primeiro arquivo contêm a função principal que será chamada através de um comando no Prompt. O segundo arquivo, que é uma biblioteca, contêm uma função que faz a contagem das linhas.

A função principal recebe obrigatoriamente como primeiro parâmetro o nome do arquivo a ser pesquisado o número de linhas. A função pode também receber três parâmetros que são opcionais: -h ou -help; -c ou -comment; e -s ou -silent.

Ao receber o parâmetro -h ou -help o programa apresentará para o usuário uma explicação de como funciona o programa. Ao receber o parâmetro -c ou -comment o programa contará o número de linhas de comentário, se esse parâmetro não for enviado o programa só mostrará o número total de linhas e o número de linhas em branco do arquivo. O terceiro parâmetro que pode ser enviado para o programa é o parâmetro -s ou -silent que fará o programa não apresentar resultados na tela de comando.

Eis a seguir os dois módulos que compõem o código fonte do nosso programa:

Arquivo MainCodeCount.c

#include                 /* para printf(), scanf(), gets(), puts(), define FILE */

#include                /* para system()                                                           */

#include              /* para strstr()                                                              */

#include "LibCodeCount.h" /* para ccRun()                                                            */

int main(int argc, char *argv[])

{

    int i, help = 0, comment = 0, silent = 0;

    int nLines = 1, nLinesCommentS = 0, nLinesCommentM = 0, nLinesEmply = 0;

        

    for (i=2; i

        {

        help    = help    || (strstr(argv[i], "-help"   ) != NULL);

        help    = help    || (strstr(argv[i], "-h"      ) != NULL);

       

        comment = comment || (strstr(argv[i], "-comment") != NULL);

        comment = comment || (strstr(argv[i], "-c"      ) != NULL);

       

        silent  = silent  || (strstr(argv[i], "-silent" ) != NULL);

        silent  = silent  || (strstr(argv[i], "-s"      ) != NULL);

        }

   

    printf("\n---------------------------------------------------------------------------");

   

    if (help)

    {

        printf("\n");

        printf("O programa CodeCount conta linhas de um codigo escrito em linguagem C.\n");

        printf("Alem de contar a quantidade de linhas do codigo, o programa CodeCount\n");

        printf("conta o total de linhas em branco.\n");

        printf("\n");

        printf("Para usar esse programa digite o endereco do programa juntamente com seu\n");

        printf("nome. Depois digite o endereco e nome do arquivo C que quer contar as\n");

        printf("linhas.\n");

        printf("\n");

        printf("Se alem de contar as linhas, voce quiser saber o total de linhas de\n");

        printf("comentario simples e comentario multi-linhas, digite \"-c\" ou \"-comment\"\n");

        printf("apos o nome do arquivo.\n");

        printf("\n");

        printf("Voce pode ainda obter uma pequena explicacao do programa digitando\n");

        printf("\"-h\" ou \"-help\".\n");

        printf("\n");

        printf("Se voce nao quer que apareca o resultado na tela digite \"-s\" ou \"-silent\".\n");

    }

   

    if (!silent)

    {

        printf("\ncounting for \"%s\"...\n\n", argv[1]);

    }

   

    ccRun(argv[1], &nLines, &nLinesCommentS, &nLinesCommentM, &nLinesEmply, comment, silent);

   

    printf("\n\n");

   

    system("PAUSE");

}

Arquivo MainCodeCount.h

#include

#include

void ccRun(char* file, int* nLines, int* nLinesCommentS, int* nLinesCommentM, int* nLinesEmpty, int comment, int silent)

{

   

    FILE *dataFile;

    short int ch1 = 0;

    short int ch2 = 0;

    short int ch3 = 0;

...

Baixar como (para membros premium)  txt (13.4 Kb)   pdf (500.6 Kb)   docx (77.7 Kb)  
Continuar por mais 13 páginas »
Disponível apenas no TrabalhosGratuitos.com