22.10.2014 Views

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SomaIdade = SomaIdade + v[i].Idade;<br />

if (v[i].Sexo == 'F' && v[i].Salario > 500)<br />

NumMulheres++;<br />

if (v[i].Salario > MaiorSal)<br />

MaiorSal = v[i].Salario;<br />

}<br />

MedIdade = SomaIdade/t;<br />

MedSal = SomaSal/t;<br />

}<br />

main()<br />

{<br />

TDados w[20];<br />

int q;<br />

int MediaSal, MediaIdade, Mulheres, MaiorSalario;<br />

clrscr();<br />

LeDados(w, q);<br />

clrscr();<br />

ExibeDados(w, q);<br />

Indicadores(w, q, MediaSal, MediaIdade, Mulheres, MaiorSalario);<br />

printf("\nMedia Salarial: %d\nMediaIdade: %d\nNumero de mulheres com salarios superiores a R$<br />

500,00: %d\nMaior Sal rio: %d\n", MediaSal, MediaIdade, Mulheres, MaiorSalario);<br />

getch();<br />

}<br />

9.3 O que são arquivos<br />

Até o momento, os dados manipulados pelos nossos programas (dados de entrada, dados gerados pelo<br />

programa e resultados do processamento) foram armazenados na m<strong>em</strong>ória do computador que, como já foi<br />

dito, é uma m<strong>em</strong>ória volátil, no sentido de que todas as informações nela armazenadas são perdidas quando a<br />

execução do programa é, por qualquer motivo, encerrada.<br />

É evidente que um programa que gerencia os recursos humanos de uma <strong>em</strong>presa não pode manipular<br />

os dados relativos aos funcionários apenas na m<strong>em</strong>ória do computador. Isto implicaria, por ex<strong>em</strong>plo, a<br />

necessidade de que foss<strong>em</strong> digitados todos os dados <strong>em</strong> todas as execuções do programa. É evidente que os<br />

dados relativos a cada um dos funcionários da <strong>em</strong>presa dev<strong>em</strong> estar armazenados, de forma permanente, <strong>em</strong><br />

um disco, de modo que o programa que gerencia os recursos humanos possa acessá-los <strong>em</strong> execuções<br />

distintas.<br />

Dados e informações reunidos e armazenados num disco constitu<strong>em</strong> um arquivo e a linguag<strong>em</strong> C<br />

permite que se manipule arquivos <strong>em</strong> discos, fornecendo recursos para a realização das operações básicas<br />

que pod<strong>em</strong> ser neles executadas: criação de um arquivo, alteração dos dados de um arquivo, exclusão de<br />

dados de uma arquivo, inclusão de novos dados no arquivo, exibição (na tela ou <strong>em</strong> formato impresso) do<br />

conteúdo de uma arquivo, etc..<br />

9.4 Arquivos de registros (Arquivos binários)<br />

Os arquivos de uso mais comum na prática de programação <strong>em</strong> C são os arquivos que armazenam<br />

dados oriundos de estruturas. Por ex<strong>em</strong>plo, um sist<strong>em</strong>a que gerencie uma locadora de fitas deve manipular<br />

um arquivo que armazene para cada fita, um código, o título do filme, o t<strong>em</strong>a, a data de aquisição, o preço de<br />

custo, o valor da locação, etc. No momento da entrada, estes dados pod<strong>em</strong> ser armazenados numa estrutura<br />

para ser<strong>em</strong>, <strong>em</strong> seguida, armazenados num arquivo. Um conjunto de dados relativo a uma fita (neste<br />

ex<strong>em</strong>plo) é chamado registro e um arquivo <strong>em</strong> que um conjunto de registros está armazenado é chamado<br />

arquivo de registros. Nesse caso, os dados são gravados <strong>em</strong> formato análogo ao formato utilizado para<br />

armazenamento <strong>em</strong> m<strong>em</strong>ória. Por esta razão, estes arquivos também são chamados arquivos binários.<br />

Uma grande parte das operações que são feitas <strong>em</strong> arquivos requer a verificação de que o registro que

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!