Академический Документы
Профессиональный Документы
Культура Документы
Manipulao de Arquivos
1. Abertura de um arquivo (fopen)
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
FILE *arq_saida;
. . .
arq_saida = fopen("saida.txt","w");
if (arq_saida == NULL)
{
printf("Um erro ocorreu ao tentar criar o arquivo `saida.txt'\n");
}
. . .
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
3. Escrita em arquivo (fprintf)
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
Exemplo de programa usando funes com e sem retorno.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include<stdio.h>
#include<conio.h>
/******* rea dos prottipos ******/
void imprime_cabec(void);
int multiplica(int N1, int N2);
/******* fim dos prottipos *******/
/* ******* FUNO PRINCIPAL *******/
int main(void)
{
int V1=0, V2=0, resultado=0;
//Chamada da funo imprime_cabec
imprime_cabec();
printf("Digite o primeiro valor:");
scanf("%d", &V1);
printf("Digite o segundo valor:");
scanf("%d", &V2);
//chama a funo e recebe o retorno
resultado = multiplica(V1,V2);
printf("Resultado = %d\n", resultado);
getch();
return 0;
}
/* ******** FIM DA FUNO PRINCIPAL *******/
/* --------- Corpo das funes --------- */
/*
***** Funo imprime_cabec *****
Parmetros de entrada: no tem (void)
Objetivo: imprimir cabealho na tela
Tipo de retorno: no tem (void)
*/
void imprime_cabec(void)
{
printf("******************************\n");
printf("*
LINGUAGEM C
*\n");
printf("******************************\n\n");
return;/* retorno de uma funo void
*/
}
/*
***** Funo multiplica *****
Parmetros de entrada: N1, N2 ambos int
Objetivo: multiplicar valores
Tipo de retorno: int (resultado);
*/
//multiplica recebe N1,N2 e retorna um int
int multiplica(int N1, int N2)
{
int resultado;
resultado = N1 * N2;
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
48
49
50
51
52
53
54
55
56
57
58
59
60
Definio
Conjunto de comandos agrupados em um bloco
que recebe um nome e atravs deste pode ser
ativado.
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
Primero Exemplo
Em primeiro lugar, imaginemos que voc
necessite vrias vezes em seu programa imprimir a
mensagem "Pressione a tecla ENTER" e esperar
que o usurio tecle ENTER, caso o usurio tecle
algo diferente o programa deve imitir um BEEP.
Voc pode fazer um lao de WHILE sempre
que isto fosse necessrio.
Uma alternativa criar uma funo. Com o uso
de funes, este processo de repetio fica
simplificado. Observe o exemplo a seguir.
#include <stdio.h>
void EsperaEnter() // Definio da
funo "EsperaEnter"
{
int tecla;
printf("Pressione ENTER\n");
do
{
tecla = getchar();
if (tecla !=13) // Se nao for
ENTER
{
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
printf("Digite ENTER\n");
}
} while(tecla != 13); // 13 e' o
codigo ASCII do ENTER
}
void main()
{
EsperaEnter();
funo definida antes
// ...........
EsperaEnter();
funo definida antes
// ...........
EsperaEnter();
funo definida antes
}
// Chamada da
// Chamada da
// Chamada da
Parmetros
A fim de tornar mais amplo o uso de uma
funo, a linguagem C permite o uso
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
// Chamada da funo
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
{
SOMA(16.7,15); // Chamada da
funo SOMA antes de sua definio,
}
//
mas aps sua prototipao
void SOMA(float a, int b) // Definio
da funo SOMA
{
float result;
// a declarao de
variveis igual ao que
// se faz na
funo main
result = a+b;
printf("A soma de %d com %6.3f
%6.3f\n, a,b,Result);
}
Ateno: existem compiladores mais simplificados
ou antigos que no obrigam a declarao da
funoantes de seu uso !!! Muito cuidado com eles !!
Veja no item a seguir.
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
// Prottipo da funo
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
SOMA(16,f);
}
Escopo de Variveis
Por escopo de uma varivel entende-se o
bloco de cdigo onde esta varivel vlida. Com
base nisto, temos as seguintes afirmaes:
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
B = -200;
printf("Valor de B dentro da funo FUNC2: %d\n", B);
}
void main()
{
int B;
B = 10;
printf("Valor de B: %d\n", B);
B = 20;
FUNC1();
printf("Valor de B: %d\n", B);
B = 30;
FUNC2();
printf("Valor de B: %d\n", B);
getch();
}
SADA
Valor de B: 10
Valor de B dentro da funo FUNC1: -100
Valor de B: 20
Valor de B dentro da funo FUNC2: -200
Valor de B: 30
Aula 04/11/2015
Programao Estruturada II Tema: Manipulao de arquivos
2) Criar uma funo que receba um caractere como parmetro e retorne 1 (um) caso seja
uma vogal e zero caso no seja.
#include <string.h>
#include <math.h>
int verificavogal (char M) {
if(M=='a' || M=='A' || M=='e' || M=='E' || M=='i' || M=='I' || M=='o' || M=='O' || M=='u' || M=='U')
return(1);
else return(0);
}
main() {
char x;
printf("Digite uma letra: "); scanf("%c",&x);
if(verificavogal(x)==1)
printf("\nA letra [ %c ] eh uma vogal: ",x);
else
printf("\nA letra [ %c ] eh uma constante: ",x);