Programação Estruturada
Artigo: Programação Estruturada. Pesquise 861.000+ trabalhos acadêmicosPor: guilherme0646 • 2/6/2014 • 1.701 Palavras (7 Páginas) • 188 Visualizações
Sumário
1ª Etapa 1º Passo .............................................................................................. 5
1ª Etapa 2º Passo .............................................................................................. 5
1ª Etapa 3º Passo .............................……………………................................. 5
a. Arquivo: CodeCount.cpp..................................................................................5
b. Arquivo: LibCodeCount.c................................................................................ 8
2ª Etapa 1º Passo................................................................................................9
2ª Etapa 2º Passo........................................................................................... 9
2ª Etapa 3º Passo..............................................................................................10
a. Arquivo: CodeCount.cpp................................................................................10
b. Arquivo: LibCodeCount.c...............................................................................13
Conclusão....................................................................................................... 15
Bibliografia........................................................................................................ 15
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á criado dois módulos.
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 analisa. Após 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 paramentos, pelo modulo principal, formatá-los 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.
a: 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);
...