fflush(stdin); puts(“Produto”); scanf("%s", v[i].Prod); } t = i - 1; } void ExibeDados(TVenda v[100], int t) { int i; for (i = 0; i
SomaIdade = SomaIdade + v[i].Idade; if (v[i].Sexo == 'F' && v[i].Salario > 500) NumMulheres++; if (v[i].Salario > MaiorSal) MaiorSal = v[i].Salario; } MedIdade = SomaIdade/t; MedSal = SomaSal/t; } main() { TDados w[20]; int q; int MediaSal, MediaIdade, Mulheres, MaiorSalario; clrscr(); LeDados(w, q); clrscr(); ExibeDados(w, q); Indicadores(w, q, MediaSal, MediaIdade, Mulheres, MaiorSalario); printf("\nMedia Salarial: %d\nMediaIdade: %d\nNumero de mulheres com salarios superiores a R$ 500,00: %d\nMaior Sal rio: %d\n", MediaSal, MediaIdade, Mulheres, MaiorSalario); getch(); } 9.3 O que são arquivos Até o momento, os dados manipulados pelos nossos programas (dados de entrada, dados gerados pelo programa e resultados do processamento) foram armazenados na m<strong>em</strong>ória do computador que, como já foi dito, é uma m<strong>em</strong>ória volátil, no sentido de que todas as informações nela armazenadas são perdidas quando a execução do programa é, por qualquer motivo, encerrada. É evidente que um programa que gerencia os recursos humanos de uma <strong>em</strong>presa não pode manipular os dados relativos aos funcionários apenas na m<strong>em</strong>ória do computador. Isto implicaria, por ex<strong>em</strong>plo, a necessidade de que foss<strong>em</strong> digitados todos os dados <strong>em</strong> todas as execuções do programa. É evidente que os 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> um disco, de modo que o programa que gerencia os recursos humanos possa acessá-los <strong>em</strong> execuções distintas. Dados e informações reunidos e armazenados num disco constitu<strong>em</strong> um arquivo e a linguag<strong>em</strong> C permite que se manipule arquivos <strong>em</strong> discos, fornecendo recursos para a realização das operações básicas que pod<strong>em</strong> ser neles executadas: criação de um arquivo, alteração dos dados de um arquivo, exclusão de dados de uma arquivo, inclusão de novos dados no arquivo, exibição (na tela ou <strong>em</strong> formato impresso) do conteúdo de uma arquivo, etc.. 9.4 Arquivos de registros (Arquivos binários) Os arquivos de uso mais comum na prática de programação <strong>em</strong> C são os arquivos que armazenam dados oriundos de estruturas. Por ex<strong>em</strong>plo, um sist<strong>em</strong>a que gerencie uma locadora de fitas deve manipular 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 custo, o valor da locação, etc. No momento da entrada, estes dados pod<strong>em</strong> ser armazenados numa estrutura para ser<strong>em</strong>, <strong>em</strong> seguida, armazenados num arquivo. Um conjunto de dados relativo a uma fita (neste ex<strong>em</strong>plo) é chamado registro e um arquivo <strong>em</strong> que um conjunto de registros está armazenado é chamado arquivo de registros. Nesse caso, os dados são gravados <strong>em</strong> formato análogo ao formato utilizado para armazenamento <strong>em</strong> m<strong>em</strong>ória. Por esta razão, estes arquivos também são chamados arquivos binários. Uma grande parte das operações que são feitas <strong>em</strong> arquivos requer a verificação de que o registro que
- Page 1 and 2:
Jaime Evaristo Aprendendo a Program
- Page 3 and 4:
Aos meus netos Mateus, Vitor e Luca
- Page 5 and 6:
5.5 Passagem de parâmetros por ref
- Page 7 and 8:
O código ASCII Para que haja a pos
- Page 9 and 10:
a ser resolvido. O exemplo anterior
- Page 11 and 12:
instruções 3.1 e 3.2. Como veremo
- Page 13 and 14:
algoritmo para a determinação do
- Page 15 and 16:
aluno do ensino médio e a relaçã
- Page 17 and 18:
transforma o "computador" num poder
- Page 19 and 20:
2. Introdução à Linguagem C 2.1
- Page 21 and 22:
tipo Por exemplo, um programa para
- Page 23 and 24:
2.6 Estrutura de um programa em C E
- Page 25 and 26:
onde as digitações do caractere q
- Page 27 and 28:
execução da função printf() exi
- Page 29 and 30:
formatação. Quando a constante é
- Page 31 and 32:
* Programa que fornece a parte frac
- Page 33 and 34:
int Num, Unidades; printf("Digite u
- Page 35 and 36:
x = y; y = Aux; printf("Saida x = %
- Page 37 and 38:
(exemplo: o maior múltiplo de 7 me
- Page 39 and 40:
if (b > a) Maior = b; printf("O mai
- Page 41 and 42:
puts("Digite o instante final"); sc
- Page 43 and 44:
y = z; z = Aux; } printf("Numeros o
- Page 45 and 46:
#include main() { float SAtual, SN
- Page 47 and 48:
Valor do quadruplo de 3: 12 Valor d
- Page 49 and 50:
Dias31 = Mes/2; else Dias31 = (Mes
- Page 51 and 52:
4. Estruturas de repetição 4.1 Pa
- Page 53 and 54:
{ int i; for (i = 11; i
- Page 55 and 56:
encontrado, o que, evidentemente, v
- Page 57 and 58:
Repetindo a execução de um progra
- Page 59 and 60:
scanf("%d", &Mes); if ((Mes < 1) ||
- Page 61 and 62:
main() { int Num, i; printf("Digite
- Page 63 and 64:
float Num, Soma, Media; Soma = 0; p
- Page 65 and 66: que o anterior. A ideia é a seguin
- Page 67 and 68: 5. Funções e ponteiros 5.1 O que
- Page 69 and 70: com uma função em relação àque
- Page 71 and 72: { float Aux; Aux = a; a = b; b = Au
- Page 73 and 74: *Verifica se um ano é bissexto (re
- Page 75 and 76: Temos então um programa - certamen
- Page 77 and 78: } while (Sim != 's'); printf("Outro
- Page 79 and 80: 5 - Após a ativação de Fat(1) Fa
- Page 81 and 82: Resto = a % b; while (Resto != 0) {
- Page 83 and 84: while (n > 1) { m = 0; while (n % d
- Page 85 and 86: Nome Categoria 1 Instituição 2 Cu
- Page 87 and 88: inteiro. Por exemplo, a sequência
- Page 89 and 90: int i; float Soma; Soma = 0; for (i
- Page 91 and 92: fato também é indicado no vetor N
- Page 93 and 94: DiasMeses da seguinte forma: int Di
- Page 95 and 96: ⎛ 1 0 0⎞ ⎜ ⎟ I 3 = ⎜ 0 1
- Page 97 and 98: Equipe1[0] = 0; Equipe2[0] = 0; Saq
- Page 99 and 100: sua condição em relação à apro
- Page 101 and 102: 7 Pesquisa e ordenação 7.1 Introd
- Page 103 and 104: ordem crescente, o "primeiro maior
- Page 105 and 106: 7.5 Exercícios propostos 1. Alguma
- Page 107 and 108: #include main() { char Cad[100], S
- Page 109 and 110: char *Str1 = "Logica de Programacao
- Page 111 and 112: int i, d, m, a, Verifica; char Dia[
- Page 113 and 114: aiar é palíndroma. Escreva um pro
- Page 115: Na verdade, ao se definir struct TE
- Page 119 and 120: #include struct TRegistro { char M
- Page 121 and 122: { FILE *p; p = fopen(s, "rb"); if (
- Page 123 and 124: utilizando como exemplo isto poderi
- Page 125 and 126: } else printf("\n Registro ja cadas
- Page 127 and 128: sistema e a impressora conectada ao
- Page 129 and 130: *Função para exibir o cardápio*/
- Page 131 and 132: 10 Noções básicas de alocação
- Page 133 and 134: gets(Coef); if (strcmp(Coef, "fim")
- Page 135 and 136: } 10.4 Exercícios propostos 1. Esc
- Page 137 and 138: Índice remissivo A Algoritmo de Eu
- Page 139: Variáveis locais..................