Planilha ASCII

Este projeto consiste em construir uma planilha eletrônica em modo texto, usando a biblioteca NCurses para a gestão do terminal. A interface da planilha deve ser similar à figura abaixo:

Funcionalidades

Formato CSV

O formato CSV - Comma Separated Values (Valores Separados por Vírgula) é um formato popular para a representação de tabelas de dados. Existem diversas variantes desse formato, então neste projeto assumimos a seguinte especificação:

Exemplo de um arquivo CSV:

exemplo.csv
Data,Descrição,Valor
05/04/2016,"Despesas apto (luz, água)",50
07/04/2016,Material de limpeza,20.30
11/04/2016,Matrícula inglês,110
13/04/2016,"Papelaria (cadernos, canetas)",25
15/04/2016,Supermercado,60
19/04/2016,Credito ônibus,50
20/04/2016,Almoço (pizza),20
26/04/2016,Camiseta,35
30/04/2016,Aluguel,"500"

Valores nas células

Células podem ser referenciadas usando suas coordenadas: por exemplo, a string A5 referencia o valor da célula na coluna A e linha 5.

Controles

As operações de ler novo arquivo ou encerrar o programa devem perguntar se o usuário deseja salvar o conteúdo atual antes!

Forma de chamada

Requisitos do código-fonte

Material de apoio

Ncurses:

Instalação da biblioteca NCurses no Linux (Ubuntu, Debian, Mint):

sudo apt-get install libncurses-dev

O código de inicialização da biblioteca NCurses, com as configurações necessárias para este projeto, é o seguinte:

  initscr () ;		// inicializa a biblioteca ncurses
  raw () ;		// permite tratar teclas de controle (^C, ^Z, etc)
  keypad (stdscr, TRUE) ; // habilita leitura de teclas de setas, Fn, etc
  noecho () ;		// não escreve as teclas lidas na tela
  curs_set (0) ;	// esconde o cursor do terminal

Projetos similares a este: