Buscar

Arquivos - lista - resolvidos

Prévia do material em texto

Universidade Federal da Grande Dourados
Laboratório de Programação 2
Prof. Anderson Bessa da Costa
Lista 04a - Arquivos Texto – Liliane Shimizo Fernandes
1. Escreva um programa que leia dois valores inteiros e salve-os no arquivo entrada.txt. Abra o arquivo
gerado no bloco de notas e certifique-se que o mesmo está correto.
#include <stdio.h>
#include <stdlib.h>
int main ()
{
 FILE *arq;
 int num_1, num_2;
 arq = fopen("entrada.txt", "w");
 if(arq == NULL){
 printf("Erro ao abrir o arquivo!");
 return 1;
 }
 else{
 printf("Entre com dois valores: ");
 scanf("%d %d", &num_1, &num_2);
 fprintf(arq, "%d %d", num_1, num_2 );
 fclose(arq);
 }
 return 0;
}
2. Escreva um programa que leia dois valores inteiros armazenados no arquivo entrada.txt, some os valores e
salve o resultado no arquivo saida.txt.
#include <stdio.h>
#include <stdlib.h>
int main() {
int soma, num_1, num_2;
FILE* arq_entrada, *arq_saida;
arq_entrada = fopen("entrada.txt", "r");
arq_saida = fopen("saida.txt", "w");
if (arq_entrada == NULL|| arq_saida == NULL) {
puts("Erro ao abrir o arquivo!");
exit(1);
}
fscanf(arq_entrada, "%d %d", &num_1, &num_2);
soma = num_1+num_2;
fprintf(arq_saida, "%d", soma);
printf("%d\n", soma);
fclose(arq_entrada);
fclose(arq_saida);
return 0;
}
3. Modifique o programa anterior para que sejam lidos vários pares de números do arquivo entrada.txt, até
que seja alcançado o final do arquivo (não se sabe a priori quantos pares existem no arquivo). Imprima o
resultado da soma de cada par no arquivo de saída. Dica: use a função feof para verificar se ainda existem
dados para serem lidos.
#include <stdio.h>
#include <stdlib.h>
int main() {
 int r, par;
 FILE* arq;
 arq = fopen("entrada.txt", "r");
 if (arq == NULL) {
 puts("Erro ao abrir o arquivo!");
 exit(1);
 }
 while (!feof(arq)){
 fscanf(arq, "%d ", &r);
 if(r%2==0)
 par = r;
 printf("%d ", par);
 }
 fclose(arq);
return 0;
}
4. Escreva um programa em C chamado fib_arq.c que calcula e escreve em um arquivo texto 30_fib.txt os 30
primeiros números de Fibonacci. Crie um outro programa chamado consulta_fib.c que solicita um número n
ao usuário (1 n 30) e este programa deve ler do arquivo texto o n-ésimo número de Fibonacci
#include <stdio.h>
#include <stdlib.h>
int main ()
{
 FILE *fib_arq;
 fib_arq = fopen("30_fib.txt", "w");
 int a=1, b=1, i, aux, num;
 if(fib_arq == NULL){
 printf("Erro ao abrir o arquivo!");
 return 1;
 }else{
 printf("%d %d ", a, b);
 for(i=3; i<=30; i++){
 aux = a + b;
 a = b;
 b = aux;
 printf("%d ", aux);
 fscanf(fib_arq, "%d", &aux);
 fclose(fib_arq);
 }
 }
 return 0;
}
Crie um outro programa chamado consulta_fib.c que solicita um número n ao usuário (1
 n 30) e este programa deve ler do arquivo texto o n-ésimo número de Fibonacci
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, a=1, b=1, i, aux;
FILE *fib_entrada, *fib_saida;
fib_entrada = fopen("30_fib.txt", "r");
fib_saida = fopen("saida.txt", "w");
if (fib_entrada == NULL|| fib_saida ==NULL) {
puts("Erro ao abrir o arquivo!");
exit(1);
}
printf("Digite um numero inteiro: ");
scanf("%d", &n);
fscanf(fib_entrada, "%d", aux);
printf("%d %d", a, b);
if(n>=1 || n<=30){
 for(i=2; i<n; i++){
 aux = a + b;
 a = b;
 b = aux;
fprintf(fib_saida, "%d %d %d", a, b, aux);
printf(" %d ", aux);
 }
 }else
 printf("Digite novamente um numero inteiro:");
 scanf("%d", &n);
fclose(fib_entrada);
fclose(fib_saida);
return 0;
}

Continue navegando

Outros materiais