ATPS Programação Estruturada II
Dissertações: ATPS Programação Estruturada II. Pesquise 862.000+ trabalhos acadêmicosPor: soraaxs • 9/10/2013 • 1.498 Palavras (6 Páginas) • 778 Visualizações
FACULDADE ANHANGUERA (UNIABC)
ATPS – ETAPA I
Atividade de Autodesenvolvimento apresentado à Disciplina Programação Estruturada II da Faculdade Anhanguera de Santo André, como parte da avaliação na referida disciplina do Curso de Ciência da Computação.
ORIENTADOR: Prof º. Peter Rauer
SANTO ANDRÉ/SP
2013
Códigos do Arquivo – libCodeCount.c
//FUNCAO QUE CONTA AS LINHAS:
void ccRun (FILE *arquivo, int *linhas_totais, int *linhas_comentario, int *linhas_vazias)
{
//VARS QUE A FUNCAO VAI UTILIZAR:
int caractere,ultimo,tamanho,comentario_longo = 0, primeiro_caractere = 1;
//SETA OS VALORES DAS VARS COMO 0;
*linhas_totais = 0;
*linhas_comentario = 0;
*linhas_vazias = 0;
//LOOP QUE VARRE O ARQUIVO JÁ ABERTO:
do
{
ultimo = caractere;
caractere = fgetc(arquivo);
/*
AQUI CONTAMOS OS COMENTÁRIOS (SIMPLES E DE BLOCO):
*/
//PEGA COMENTÁRIO SIMPLES (//)
if(caractere == '/' && ultimo == '/' && comentario_longo == 0)
{
*linhas_comentario = *linhas_comentario + 1;
}
//PEGA O COMECO DOS COMENTARIOS DE BLOCO (/*)
if(caractere == '*' && ultimo == '/' && comentario_longo == 0)
{
comentario_longo = 1;
}
//PARA TODA LINHA DEPOIS QUE A VAR COMENTARIO_LONGO FOR SETADA COMO 1, SERÁ CONTADA COMO COMENTÁRIO:
if(caractere == '\n' && comentario_longo == 1)
{
*linhas_comentario = *linhas_comentario + 1;
}
//PEGA O FIM DOS COMENTARIOS DE BLOCO (*/)
if(caractere == '/' && ultimo == '*' && comentario_longo == 1)
{
comentario_longo = 0;
*linhas_comentario = *linhas_comentario + 1;
}
/*
AQUI CONTAMOS O TOTAL DE LINHAS E LINHAS VAZIAS:
*/
if(caractere == '\n')
{
*linhas_totais = *linhas_totais + 1;
}
//CONTA LINHA VAZIA:
if(caractere == '\n' && ultimo == '\n')
{
*linhas_vazias = *linhas_vazias + 1;
}
} while(caractere != EOF);//FIM DO LOOP QUE VARRE O ARQUIVO:
//CONTA + UMA LINHA:
*linhas_totais = *linhas_totais + 1;
}
Códigos do Arquivo – libCodeCount.h
//PROTÓTIPO DA FUNCAO CCRUN:
void ccRun (FILE *arquivo, int *linhas_totais, int *linhas_comentario, int *linhas_vazias);
Códigos do Arquivo – mainCodeCount.h
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include "libCodeCount.h"
#include "libCodeCount.c"
int main(int argc, char const *argv[])
{
//SETA AS CONFIGURACOES REGIONAIS DO PROGRAMA PARA PORTUGUES:
setlocale(LC_ALL, "Portuguese");
//SETA AS VARIÁVEIS DO PROGRAMA:
FILE *arquivo;
int linhas_totais, linhas_vazias, linhas_comentario, i, silent = 0, comment = 0;
//SE SOMENTE FOR PASSADO UM PARÂMETRO, EXIBE ALGUMAS INFORMACOES DO PROGRAMA E SAI DO MESMO:
if (argc == 1) {
printf("CodeCount - Software que conta o numero de linhas no arquivo.\n");
...