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

Analise De Sistemas

Seminário: Analise De Sistemas. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  13/3/2014  •  Seminário  •  874 Palavras (4 Páginas)  •  178 Visualizações

Página 1 de 4

2ª Etapa

1° Passo

A função main() pode ter 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 com a qual o programa foi chamado.

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

O argv (argument values) é um ponteiro para uma matriz de strings. Cada string desta matriz é um dos parâmetros da linha de comando. O argv[0] sempre aponta para o nome do programa (que, como já foi dito, é considerado o primeiro argumento). É para saber quantos elementos temos em argv que temos argc.

2ª Etapa

2° Passo

Foram realizadas alterações nos dois modulos para atender as novas solicitações onde além do nome do arquivo que é um paramentro obrigatório, estão sendo disponibilizados mais três parametros opcionais que permitem ao usuário selecionar como as informações serão passadas e também disponibiliza um help para utilização do sistema.

Essas opções serão passadas por paramento ao modulo secundário que teve que ser alterado para receber os mesmos e processa-los corretamente para atender a solicitação do usuário.

2ª Etapa

3° Passo

Aqui temo os códigos fontes dos arquivos alterados 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 i,nLines = 0,nLinesComment = 0,nLinesEmpty = 0,noComment = 0,silent = 0,help = 0;

for(i=2;i 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++;

}

}

car2 = fgetc(pFile);

//Conta as linhas em branco

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

{

nLinesEmpty++;

nLines++;

}

car1 = car2;

}

//Fecho o arquivo.

fclose(pFile);

//Chamada para a função que irá exibri os contadores das linhas.

ccRun(argv[1],nLines,nLinesComment,nLinesEmpty,noComment,silent);

}

//Se o arquivo não foi encontrado é informado ao usuário.

else

{

...

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