Parâmetros de função
Seminário: Parâmetros de função. Pesquise 862.000+ trabalhos acadêmicosPor: weligton • 4/4/2014 • Seminário • 536 Palavras (3 Páginas) • 235 Visualizações
2ª ETAPA
Passo 1
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.
Passo 2
Foram realizadas 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.
Passo 3
Aqui temos os códigos fontes dos arquivos alterados no desenvolvimento desta etapa.
3.1 Arquivo: MainCodeCount.c
#include "LibCodeCount.h"
int main(int argc, char *argv[])
{
int numeroLinhas, numeroComentarios, numeroVazias;
numeroLinhas = numeroComentarios = numeroVazias = 0;
char *aux;
if(argc < 2)
{
puts("\nUso correto: >MainCodeCount nomearquivo.ext [-c]");
}
else
{
printf("\n\tCode Count - Programmers Tool");
printf("\n\t Versao 1.0 - 2013");
aux = argv[1];
printf("\n\n\tContagem para: \"%s\"", aux);
if(argc == 3)
{
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);
printf("\n\tPorcentagem de comentarios.........: %.2f", 100);
printf("\n\tNumero de linhas vazias............: %i", numeroVazias);
printf("\n\n\n");
}
else
{
printf("\n\n Este programa foi desenvolvido para contar as linhas");
printf("\n
...