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

ATPS Prog Estruturada II - Consoles

Artigo: ATPS Prog Estruturada II - Consoles. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  26/4/2014  •  923 Palavras (4 Páginas)  •  453 Visualizações

Página 1 de 4

Etapa 1

Passo 1

Leitura para o entendimento da solicitação do ATPS, com a identificação dos dois principais tipos de comentários disponíveis na linguagem C.

Os principais tipos de comentário são “//” que indica comentário em uma única linha e /* */ que permite realizar comentários com múltiplas linhas.

Passo 2

Solução utilizando-se dois módulos conforme solicitado.

Primeiro módulo: MainCodeCount.cpp

O arquivo principal é o MainCodeCount.cpp que contém o módulo toda a rotina de contagem das linhas do arquivo. Este módulo realiza a leitura do arquivo informado para análise, que é feita pelo segundo módulo, descrito abaixo.

Segundo módulo: LibCodeCount.c

Depois de realizada a análise é chamada a função ccRun que está no arquivo LibCodeCount.c, que contém os parâmetros necessários à realização da rotina.

A função ccRun é responsável por receber os dados passados nos parâmetros, pelo módulo principal, formatá-los e exibir as informações ao usuário.

Passo 3

Códigos fonte de ambos os módulos desenvolvidos para a etapa 1.

3.1 Arquivo: MainCodeCount.c

#include

#include

#include

#include

#include

#include "LibCodeCount.h"

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

{

int numeroLinhas, numeroComentarios, numeroVazias;

numeroLinhas = numeroComentarios = numeroVazias = 0;

char *aux;

if(argc < 2)

{

puts("\nUso correto: >MainCodeCount nomearquivo.ext [-c]");

}

else

{

printf("\n\tCode Count - Programmers Tool");

printf("\n\t Versao 1.0 - 2013");

aux = argv[1];

printf("\n\n\tContagem para: \"%s\"", aux);

if(argc == 3)

{

if ((strcmp(argv[2], "-c") == 0) || (strcmp(argv[2], "-comment") == 0))

{

ccRun(argv[1], &numeroLinhas, &numeroComentarios, &numeroVazias, 0, 0);

printf("\n\tNumero de linhas..........: %i", numeroLinhas);

printf("\n\tNumero de linhas vazias...: %i", numeroVazias);

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

}

else

{

ccRun(argv[1], &numeroLinhas, &numeroComentarios, &numeroVazias, 1, 0);

printf("\n\tNumero de linhas...................: %i", numeroLinhas);

printf("\n\tNumero de linhas com comentarios...: %i", numeroComentarios);

printf("\n\tPorcentagem de comentarios.........: %.2f", 100);

printf("\n\tNumero de linhas vazias............: %i", numeroVazias);

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

}

}

system("PAUSE");

return EXIT_SUCCESS;

}

3.2 Arquivo: LibCodeCount.c

#include

#include

void ccRun(char* file, int* nLines, int* nLinesComment, int* nLinesEmpty,

int noComment, int silent)

{

FILE * pFile;

int c;

int n = 0;

pFile = fopen (file, "r");

if (pFile !=NULL)

{

do

{ // DO

c = fgetc(pFile);

if (c == '\n')

{

n++;

}

} //DO

while (c != EOF);

fclose (pFile);

*nLines = n;

}

else

{

printf("\nNao foi possivel abrir o arquivo \"%s\"\n\n",argv[1]);

}

}

Etapa 2

Passo 1

A função main() pode conter parâmetros formais. Mas o programador não pode escolher quais serão eles. A declaração mais completa que se pode ter para a função main() é:

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

Os parâmetros argc e argv dão ao programador acesso à linha de comando no qual o programa é chamado.

Parâmetro ARGC – Argument Count

O argc é um inteiro e possui o número de argumentos com as quais a função main() foi chamada na linha de comando. Seu valor mínimo é igual a 1, pois o nome do programa é contado como sendo o primeiro argumento.

Parâmetro ARGV – Argument Values

O argv é um ponteiro para uma matriz de strings. Cada string desta matriz é um dos parâmetros da linha de comando. O argv[0] sempre aponta

...

Baixar como (para membros premium)  txt (8.4 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com