Exemplo de programa de linguagem C
Resenha: Exemplo de programa de linguagem C. Pesquise 862.000+ trabalhos acadêmicosPor: lzacarias • 31/3/2014 • Resenha • 2.321 Palavras (10 Páginas) • 549 Visualizações
Exemplo de programa em Linguagem C para contagem de linhas de um arquivo.
#include <stdio.h>
int main ()
{
FILE * pFile;
int c;
int n = 0;
pFile = fopen ("ArquivoTexto.txt", "r");
if (pFile !=NULL)
{
do { //DO
c = fgetc(pFile);
if (c == '\n') n++;
} //DO
while (c != EOF);
fclose(pFile);
printf("Número de linhas = %d.\n", n);
}
return 0;
}
O Desafio
Partido do exemplo anterior de contagem simples de linhas de um arquivo texto, o
desafio desta tarefa tem início ao se querer determinar o número de linhas do código que são
comentários formatados segundo a sintaxe da Linguagem C/C++. A sintaxe prevê dois tipos
de comentários: linha única começando com os caracteres “//” (barra, barra); e comentários
multi-linhas começando com “/*” (barra, asterisco) e com término determinado por “*/”
(asterisco, barra).
Para uma visão de um problema real, considere o exemplo de código fonte escrito em
C apresentado na Listagem 2. Observe os vários trechos com comentários para ajudar a
documentação do código-fonte.
Listagem 2. Exemplo real de código fonte com vários comentários.
//------------------------------------------------------------------------------
// Exemplo de Cabeçalho
//
// Neste tipo de comentário, faz-se uma breve apresentação do conteúdo do
// módulo em linguagem C. O código apresentado a seguir é um extrato de
// desenvolvimento criado para a disciplina de Classificação e Pesquisa.
// Pede-se ao leitor identificar os tipos de linhas com comentários, em
// especial a diferenciação de comentários de uma ou de várias linhas.
//
// Autor: Marcelo Augusto Cicogna.
// Revisões:
// 22/11/2005: Criação do módulo.
// 01/11/2006: Expansão do módulo em função da lista de exercícios.
//------------------------------------------------------------------------------
#include "TBinTree.h"
#include <stdio.h>
//------------------------------------------------------------------------------
// Funcões de manipulação do tipo TBinTree.
//------------------------------------------------------------------------------
TBinTree*
binTreeCreate(TData* pData)
/** Função para criação de uma nova árvore binária. É necessário fornecer um
valor para o primeiro nó.
@param pData variável do tipo TData para compor o nó raíz (root).
@return ponteiro para uma árvore binária.
@see BinTree.#dataCopy dataCopy()
@version 1.01Sistemas de Informação – 2ª Série – Programação Estruturada II
Jaqueline Brigladori Pugliesi, Jeanne Dobgenski, Marcelo Augusto Cicogna
Pág. 4 de 11
@author Marcelo Augusto Cicogna
*/
{
TBinTree* binTree = malloc(sizeof(TBinTree));
if (binTree != NULL)
{ //Alocação do node raíz.
TNodeBin* pNode = nodeCreate();
//Copia no novo nó o valor data passado como parâmetro.
dataCopy(pNode->pData, pData);
//Associa o novo nó ao root da árvore binária.
binTree->root = pNode;
}
return (binTree);
}
//------------------------------------------------------------------------------
void
binTreeInsertNode(TNodeBin* pNode, TData* pData)
/** Função para inserção de um novo nó em uma árvore binária.
Função recursiva por meio do parâmetro pNode.
@param pNode ponteiro para um nó da árvore binária.
@param pData ponteiro para uma variável do tipo TData a ser inserida.
@return Não há retorno
@see BinTree.#dataCopy dataCopy()
@version 1.01
@author Marcelo Augusto Cicogna
*/
{
TNodeBin* pNodeAux;
if (pNode != NULL)
{ //Se for para inserir do lado esquerdo.
if ( dataComp(pData, pNode->pData, 0) < 0 )
{
...