#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
void criaArq(){
FILE *fp;
fp = fopen("aquivo.txt","w");
if((fp=fopen("aquivo.txt","w")) == NULL){
cout<<"nao foi possivel abrir o arquivo"<<endl;
exit(1);
}
fclose(fp);
}
void escreveArq(){
int numero;
FILE *fp;
fp = fopen("aquivo.txt","a");
printf("Entre com os numeros a serem gravados no arquivo:\n");
do{
scanf("%d",&numero);
fprintf(fp,"%d\n",numero);
}while(numero != 0);
fclose(fp);
}
void ordenar(int v[], int tam){
int aux;
for (int i=0; i<tam;i++){
for(int j=0; j<tam-1;j++){
if(v[i] < v[j]){
aux = v[i];
v[i] = v[j];
v[j] = aux;
}
}
}
}
int leiaArq(int vOrdenado[]){
int numero, i = 0;
FILE *fp;
fp = fopen("aquivo.txt","r");
do{
fscanf(fp,"%d",&numero);
vOrdenado[i] = numero;
i++;
}while(numero != 0);
ordenar(vOrdenado, i);
fclose(fp);
return i;
}
void escreveResultado(int v[], int tam){
FILE *fp;
fp = fopen("saida.txt","w");
for (int i=0; i<tam; i++){
fprintf(fp,"%d\n",v[i]);
}
fclose(fp);
}
int main(){
int vOrdenado[100], tam;
criaArq();
escreveArq();
tam = leiaArq(vOrdenado);
escreveResultado(vOrdenado, tam);
system("saida.txt");
return 0;
}
quinta-feira, 21 de abril de 2011
Operações com Arquivo
Assinar:
Postar comentários (Atom)
0 comentários:
Postar um comentário