Arquivos

  1. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo texto (o usuário deverá digitar o nome do arquivo) e imprima a quantidade de caracteres do arquivo.

    Solução: ARContaCaracteres.c

  2. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo texto (o usuário deverá digitar o nome do arquivo) e imprima o conteúdo na tela. O programa deve imprimir uma linha de cada vez.

    Solução: ARImprimeArquivos.c

  3. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo texto (o usuário deverá digitar o nome do arquivo) e depois copie apenas as vogais para um outro arquivo de destino (o usuário também deverá digitar o nome do arquivo de destino). Considere apenas as vogais em caixa baixa (minúscula).

    Solução: ARCopiaArquivo.c

  4. $ \bigstar\bigstar$ Refaça o exercício anterior e faça a cópia das vogais, independentemente de serem maiúsculas ou minúsculas.

  5. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo texto e informe quantas vezes uma determinada string aparece nesse arquivo. A string deverá ser digitada pelo usuário.

  6. $ \bigstar\bigstar\bigstar$ (Prova EST/2010-2) Escreva um programa em C que crie um arquivo do tipo texto e que seja preenchido com os valores primos no intervalo de 1 até 1000. O usuário irá digitar o nome do arquivo que será criado. O programa também deverá testar se foi possível ou não criar o arquivo.

    Solução: ARArquivoPrimos.c

  7. $ \bigstar\bigstar$ (Prova EST/2010-2) Um programador necessita abrir o arquivo “nomes.txt”, para leitura, e escreveu um programa para essa finalidade mas não consegue realizar a leitura do arquivo. Ajude esse programador reescrevendo o trecho de programa que se segue, de maneira que o programa consiga realizar a leitura do arquivo.

    ...
    file arq;
    char arquivo[20] = “nomes.txt”;
    ...
    arq = fclose(arquivo, “w”);
    ...
    

  8. $ \bigstar\bigstar$ Escreva um programa em C que crie um arquivo texto com números aleatórios. A quantidade de números e o nome do arquivo será fornecido pelo usuário. Os números aleatórios gerados deverão ser menores que 100. Cada número deverá ficar em uma linha diferente.

    Solução: ARGeraNumerosAleatorios.c

  9. $ \bigstar\bigstar$ Escreva um programa em C que contenha uma função que gere um arquivo texto com números gerados aleatoriamente. A quantidade de números gerados será definido pelo usuário. Escreva também uma função para ler e imprimir na tela todos os números do arquivo.

  10. $ \bigstar\bigstar$ Escreva um programa em C que armazene os valores equivalentes de Celsius e Fahrenheit. Calcule os valores de 0 a 100 graus Celsius. O arquivo deverá ter o conteúdo conforme o exemplo abaixo:

    Celsius Fahrenheit
    0 32.00
    1 33.79
    2 35.59
    ... ...
    100 212

  11. $ \bigstar\bigstar\bigstar$ Modifique o exercício anterior e gere um arquivo com valores de -100 a 100 graus Celsius. Depois leia o arquivo e então verifique se existe um valor que seja equivalente entre Celsius e Fahrenheit. Se existir, imprima o valor. Se não existir, imprima uma mensagem informando tal situação.

  12. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo texto com quatro números em cada linha e depois imprima apenas os números da coluna escolhida pelo usuário.

  13. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo contendo um número em cada linha e depois imprima o maior valor.

  14. $ \bigstar\bigstar\bigstar$ Escreva um programa em C que leia um arquivo contendo duas colunas, em que cada uma delas tem um número inteiro. Em seguida, crie uma terceira coluna para cada linha com a soma das duas colunas de cada linha.

  15. $ \bigstar\bigstar$ Escreva um programa em C que leia dois arquivos que contenham números inteiros e depois imprima os números que estão em ambos os arquivos. O usuário deverá digitar os nomes dos arquivos.

  16. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo texto e depois remova todos os espaços em branco do arquivo. O usuário deverá digitar o nome do arquivo.

  17. $ \bigstar\bigstar$ Escreva um programa em C que contenha uma função que receba dois parâmetros. O primeiro parâmetro representa o nome do arquivo a ser criado e o segundo representa o conteúdo a ser armazenado no arquivo.

  18. $ \bigstar\bigstar\bigstar$ Escreva um programa em C que leia um programa escrito na mesma linguagem e depois remova as linhas com comentários. Depois imprima o arquivo modificado.

  19. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo texto e depois copie o conteúdo para um novo arquivo. Na cópia, transforme todos os caracteres em maiúsculas. O usuário deverá digitar o nome do arquivo.

  20. $ \bigstar\bigstar$ Escreva um programa em C que leia um arquivo texto e depois informe o percentual de caracteres de espaço em branco em relação ao total de caracteres. O programa deverá imprimir a seguinte mensagem:

    O <nome-arquivo> tem <percentual>% de caracteres de espaço em branco.

  21. $ \bigstar\bigstar$ Escreva um programa em C que crie um arquivo chamado produtos.dat, onde cada registro (produto) deverá ter os seguintes campos: codigo, preco e quantidade. A quantidade de produtos fica a critério do usuário. Ao final, imprima o valor total de produtos.

  22. $ \bigstar\bigstar\bigstar$ Refaça o exercício anterior e imprima o nome dos produtos que tenham valores acima da média.

  23. $ \bigstar\bigstar\bigstar$ O código abaixo permite que o usuário grave três nomes de até 256 caracteres em um arquivo chamado nomes.txt. Porém, o comando fputs() grava os nomes na mesma linha (faz uma concatenação). Modifique o código abaixo para que cada nome digitado pelo usuário fique em uma linha diferente.

    #include <stdio.h>
    
    int main () {
       FILE *ptr;
       char nome [256];
       int i=0;
    
       ptr = fopen ("nomes.txt", "w");
       
       while (i<3) {
    	   scanf("%s", nome);
    	   fputs(nome, ptr);
    	   i++;
       }   
    
       fclose(ptr);
       
       return 0;
    }
    

  24. $ \bigstar\bigstar$ Escreva um programa em C que armazene os dados de alunos de uma faculdade com a seguinte representação:

    struct aluno {
       char nome[10];
       int matricula;
       float nota;
    }
    

    A quantidade de alunos será questionada ao usuário antes do preenchimento. O nome do arquivo deverá ser alunos.dat.

  25. $ \bigstar\bigstar$ (Prova EST/2012-2) Escreva um programa em C que leia o nome de um arquivo e copie este arquivo com outro nome. O nome do arquivo existente e o novo arquivo serão digitados pelo usuário. Considere que o novo arquivo será gravado no mesmo diretório do arquivo existente e que o usuário sempre digitará um nome de arquivo existente válido.

    SOLUçãO: ARRENOMEAARQUIVO.C.

Tiago Eugenio de Melo 2014-03-31