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

Programação Estruturada II - Etapa 1 E 2

Artigos Científicos: Programação Estruturada II - Etapa 1 E 2. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  25/11/2013  •  5.176 Palavras (21 Páginas)  •  433 Visualizações

Página 1 de 21

1ª Etapa

1° Passo

Leitura para 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 o // que indica comentário em uma única linha e /* */ que permite realizar comentários com multiplas linhas.

2° Passo

Para a solução do problema proposto serão criados dois modulos.

O arquivo principal é o CodeCout.cpp que contém o modulo toda a rotina de contagem das linhas do arquivo. Esta modulo realiza a leitura do arquivo informado para analiza. Após realizada a análise é chamada a função ccRun que esta continda no arquivo LibCodeCount.c, passando alguns parametra necessários para realização da rotina.

A função ccRun é responsável por receber os dados passados por paramentros, pelo modulo principal, formatalos e exibir as informações ao usuário.

1ª Etapa

3° Passo

Aqui temo os códigos fontes dos arquivos gerados no desenvolvimento desta etapa.

Arquivo: CodeCount.cpp

#include

#include

#include

//Inclui o arquivo que contém as funções de Calculo de número de linhas

#include "LibCodeCount.c"

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

{

FILE *pFile;

char car1, car2;

int nLines = 0, nLinesComment = 0, nLinesEmpty = 0;

//Abro o arquivo para verificar se o mesmo existe.

pFile = fopen(argv[1],"r");

//Verifica se o arquivo foi aberto.

if(pFile != NULL)

{

car1 = fgetc(pFile);

/*Irá verificar todos os caracteres do arquivo, para localizar

// --> Comentário de linha.

/* e * / --> Comentério em bloco e contar todas as linhas do

comentário.

\n --> Quebra de linha, indica que a linha terminou.

*/

while (car1 != EOF){

//Se encontrar um \n conta uma linha em branco.

if(car1 =='\n')

{

nLines++;

}

//Verifica se o caracter atual é /, se esta afirmação for

//verdadeira e o próximo caracter for = * será iniciado o

//processo de contagem das linhas do comentário em bloco.

if(car1== '/'){

car2 = fgetc(pFile);

//Conta as linhas dos comentários em bloco.

if(car2 == '*'){

do{

do{

car1 = fgetc(pFile);

if(car1 == '\n' && car1 != car2)

{

//Conta as linhas do bloco de comentário.

nLinesComment++;

//Contagem de linhas do arquivo.

nLines++;

}

//Se for encontrado um \n no bloco de comentário,

//o mesmo não é contado como comentário e sim

//como linha em branco.

else if(car1 == '\n' && car2 == '\n')

{

nLinesEmpty++;

}

car2 = car1;

}

while(car1 != '*');

car1 = fgetc(pFile);

//Até que seja encontrado */ a rotina de contagem de

//linhas no bloco de comentário será execultada.

}

while(car1 != '/');

}

//Conta os comentarios de uma unica linha

if(car1 =='/' && car2 =='/')

{

nLinesComment++;

}

}

...

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