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

ATPS - PROGRMAÇÃO ESTRUTURADA 1a. ETAPA

Casos: ATPS - PROGRMAÇÃO ESTRUTURADA 1a. ETAPA. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  26/11/2012  •  5.371 Palavras (22 Páginas)  •  1.030 Visualizações

Página 1 de 22

01ª 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. Depois de realizada a análise é chamada a função ccRun que esta contida no arquivo LibCodeCount.c, passando alguns parâmetro necessários para realização da rotina.

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

1ª Etapa

3° Passo

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

Arquivo: CodeCount.cpp

#include <conio.h>

#include <stdio.h>

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

}

while(car1 != '/');

}

//Conta os comentarios de uma unica 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