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

Atps Programação Estruturada 2

Dissertações: Atps Programação Estruturada 2. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  29/9/2013  •  5.376 Palavras (22 Páginas)  •  539 Visualizações

Página 1 de 22

Programação Estruturada II

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 múltiplas linhas.

2° Passo

Para a solução do problema proposto serão criados dois módulos.

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

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

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 localização

// --> 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á executada.

}

while(car1 != '/');

}

//Conta os comentários de uma única linha

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

{

nLinesComment++;

...

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