TECNOLOGIA EM ANÁLISE DE DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO ESTRUTURADA II
Por: alexandreVilela • 18/5/2015 • Trabalho acadêmico • 529 Palavras (3 Páginas) • 343 Visualizações
[pic 1]
UT2 – CAMPUS MARTE
TECNOLOGIA EM ANÁLISE DE DESENVOLVIMENTO DE SISTEMAS
PROGRAMAÇÃO ESTRUTURADA II
TUTOR À DISTÂNCIA E PRESENCIAL CARLOS LATORRE
Alexandro vilela.............................RA.7160516023
Fabio Alexandre Chaves................RA.6057478675
Marco Aúrelio Silva.......................RA.6057476361
Luciane Tomie kajihara...................RA.6506276983
Ulisses Gomes Martins....................RA.6748360322
Jessé A.I. De Lima...........................RA.6949478457
SÃO PAULO/SP
2014
1.- INTRODUÇÃO
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 as 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 falado, é considerado o primeiro argumento). É para saber quantos elementos temos em argv que temos argc.
Foramrealizadas alterações nos dois módulos para atender as novas solicitações onde além do nome do arquivo que é um parâmetro obrigatório, estão sendo disponibilizados mais três parâmetros 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.
Aqui temos os códigos fontes dos arquivos alterados no desenvolvimento desta etapa.
1.1-CÓDIGO FONTE
=== Arquivo MainCodeCount.c ==
#include
#include
#include
#include "LibCodeCount.h"
int main(int argc, char *argv[])
{
int numeroLinhas, numeroComentarios, numeroVazias;
double porcentagemComentarios;
numeroLinhas = numeroComentarios = numeroVazias = 0;
if(argc < 2)
{
puts("\nUso correto: >MainCodeCount nomearquivo.ext [-c]");
}
else
{
printf("\n\tCode Count - Programmers Tool");
printf("\n\t Versao 1.0 - 2011");
printf("\n\n\tContagem para: %s", argv[1]);
if ((strcmp(argv[2], "-c") == 0) || (strcmp(argv[2], "-comment") == 0))
{
ccRun(argv[1], &numeroLinhas, &numeroComentarios, &numeroVazias, 0, 0);
printf("\n\tNumero de linhas..........: %i", numeroLinhas);
printf("\n\tNumero de linhas vazias...: %i", numeroVazias);
printf("\n\n\n");
}
else
{
ccRun(argv[1], &numeroLinhas, &numeroComentarios, &numeroVazias, 1, 0);
printf("\n\tNumero de linhas...................: %i", numeroLinhas);
printf("\n\tNumero de linhas com comentarios...: %i", numeroComentarios);
porcentagemComentarios = (numeroLinhas * numeroComentarios)/100;
printf("\n\tPorcentagem de comentarios.........: %2.1f%""%", porcentagemComentarios);
printf("\n\tNumero de linhas vazias............: %i", numeroVazias);
printf("\n\n\n");
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
=== Arquivo LibCodeCount.h==
void ccRun(char* file, int* nLines, int* nLinesComment, int* nLinesEmpty,int noComment, int silent);
===Arquivo LibCodeCount.cpp==
#include
#include "LibCodeCount.h"
void ccRun(char* file, int* nLines, int* nLinesComment, int* nLinesEmpty,int noComment, int silent)
{
FILE * pFile;
int c1, c2;
int nL = 0, nLE = 0, nC = 0;
pFile = fopen (file, "r");
...