atps programação estruturada ii

8
CURSO DE SISTEMAS DE INFORMAÇÃO ATPS: PROGRMAÇÃO ESTRUTURADA II

Upload: renato-pereira

Post on 02-Dec-2015

762 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ATPS Programação Estruturada II

CURSO DE SISTEMAS DE INFORMAÇÃO

ATPS: PROGRMAÇÃO ESTRUTURADA II

Page 2: ATPS Programação Estruturada II

FACULDADE

CURSO DE SISTEMAS DE INFORMAÇÃO

ATPS: PROGRAMAÇÃO ESTRUTURADAII

Prof.

Resumo

Este trabalho tem como finalidade, apresentar um projeto de uma aplicação que conte

linhas comuns e comentadas.

.

Page 3: ATPS Programação Estruturada II

INTRODUÇÃO 04

CONCEITOS ASSOCIADOS 04

1. Código fonte

2. Documentação 06

Page 4: ATPS Programação Estruturada II

INTRODUÇÃO

Este documento visa apresentar detalhadamente como o código faz para contar linhas comuns e linhas comentadas de um arquivo .txt , que é o desafio proposto pela a ATPS.

CODIGO FONTE

#include <stdio.h>

#include <stdlib.h>

int Conta()

{

FILE * p; //variável q armazenara o arquivo txt

int c1, c2; //variáveis q armazenarão os caracteres

int nL = 0,nC = 0; //variaveis para os contadores

p= fopen ("ArquivoTexto.txt","r"); //abri o arquivo .txt

if (p !=NULL) // verifica se não é o final do arquivo

c1 = fgetc(p);//atribui um caractere do arquivo txt a c1

while (c1 != EOF)//enquanto c1 ñ for nulo faça

{

if(c1 == '\n'){ nL++; } // se c1 for igual a enter(pula linha) nL incrementa 1

Page 5: ATPS Programação Estruturada II

if(c1 == '/')//se c1 for igual a "/" faça

{

c2 = fgetc(p); //atribui o próximo do arquivo txt a c2

if(c2 == '*') //se c2 for igual a "/" faça

{

do{

do{

c1 = fgetc(p);//atribui o próximo caracter do aquivo txt a c1

if(c1 == '\n' && c1 != c2)//se c1 for igual a "\n"(enter ou pula linha) faça

{

nC++;//incrementa 1 em nC

nL++;//incrementa 1 em nL

}

c2 = c1;//passa caracter de c1 para c2

}

while(c1 != '*');//enquanto c1 ñ for "*" faça

c1 = fgetc(p);//atribui o próximo do arquivo txt a c1

}

while(c1 != '/');//enquanto c1 ñ for "/" faça

}

if(c1 == '/' && c2 == '/'){ nC++; }//se c1 e c2 forem igual a "/" incremente 1 em nC

}

c2 = fgetc(p);//atribui o próximo caractere do aquivo txt a c2

if(c2 == '\n' && c1 == '\n')

{nL++;}//se c1 e c2 forem igual a "\n"(enter ou pula linha) incremente 1 em nC

c1 = c2;//passa caracter de c2 para c1

}

fclose(p);//fecha o arquivo txt

printf("Número de linhas = %d.\n", nL); //imprime na tela o valor de nL

printf("Número de linhas comentadas = %d.\n", nC);//imprime na tela o valor de nC

}

main()

Page 6: ATPS Programação Estruturada II

{

Conta();

system("pause");

}

DOCUMENTAÇÂO

Executável contador de Linhas e Comentários de um arquivo.txt.

Foi Desenvolvido um programa cujo seu objetivo é de contar número de linhas e comentários

de um arquivo.txt.

O código foi desenvolvido baseado em um modelo apresentado pela ATPS em que o mesmo

conta apenas o número de linhas. Houve a alteração da estrutura para que faça a contagem

também de comentários.

ó código está estruturado basicamente em duas funções sendo, Main e Conta. A função main

chama a função Conta e pausa o sistemas ao fim da execução. A função Conta possui as

váriaveis

- "FILE", ponteiro da variável "p" que armazenara o arquivo .txt.

- "c1"e"c2",armazenam os caracteres individuais de "p" do arquivo .txt.

- "nL"e"nC", armazenam os valores de contagem.

Seu Objetivo e armazenar o arquivo txt e desmembrar em caracteres

para que seja feita a procura dos seguintes caracteres sequenciais:

- "/" && "/",

- "/" && "*/"

- "*" && "/"

- "\n"

Assim por meio de funções condicionais (if) podemos contar a quantidade de linhas e de

linhas comentadas.