segunda-feira, 17 de março de 2014

2014/1 - PA - Arquivos: Exemplo em C++

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <time.h> 

using namespace std;

int main(int argc, char *argv[])
{
    // problema
    // entrada: um número inteiro digitado pelo usuário (N)
    // saída: gerar N números aleatórios e escrever estes
    // números em arquivo.
    
    int n;
    srand(time(NULL)); // inicializando o gerador de numeros aleatório
    
    cout << "Digite um numero inteiro: " << endl;    
    // 1) Ler do usuario o numero inteiro (N)
    cin >> n;

    // abrir o arquivo para escrita
    ofstream arquivo;
    arquivo.open("dados.txt");
    // testar se o arquivo foi aberto com sucesso ou nao
    if (!arquivo.is_open()){
      cout << "ERRO: nao foi possivel abrir o arquivo!" << endl;
      return EXIT_FAILURE;
    }
    int numero = 0;
    // 2) Para cada numero de 1 até N 
    for (int i = 0; i < n; i++){
      // 2.1) gerar o numero aleatório
      numero = rand() % 100;
      // 2.2) escrever o número em arquivo
      cout << i << " - Escrevendo o número " << numero << " no arquivo." << endl;
      arquivo << numero << endl;
    }
    arquivo.close();
    
    // parte 2: abrir o arquivo e calcular o seu tamanho em bytes e 
    // quantidade de números
    
    ifstream arq;
    arq.open("dados.txt");
    arq.seekg(0, ifstream::end);
    streampos tamanho = arq.tellg(); // obtendo o tamanho do arquivo
    cout << "Arquivo gerado: " << tamanho << " Bytes." << endl;
    arq.close();
    system("PAUSE");
    return EXIT_SUCCESS;
}

Nenhum comentário:

Postar um comentário