#include<iostream>
#include<string>
#include<fstream>
using namespace std;
bool apri_file(ifstream &file, string percorso);
bool apri_file(ofstream &file, string percorso);
void processa_file(ifstream &f1, ofstream &f2, ofstream &f3);
int main(){
ifstream file1;
ofstream file2, file3;
string f1, f2, f3;
f1 = "C:\\fondamenti\\compito7\\f1.txt";
f2 = "C:\\fondamenti\\compito7\\f2.txt";
f3 = "C:\\fondamenti\\compito7\\f3.txt";
while (!apri_file(file1, f1)){
cout << "Inserire un nuovo percorso: ";
cin >> f1;
}
while (!apri_file(file2, f2)){
cout << "Inserire un nuovo percorso: ";
cin >> f2;
}
while (!apri_file(file3, f3)){
cout << "Inserire un nuovo percorso: ";
cin >> f3;
}
processa_file(file1, file2, file3);
file1.close();
file2.close();
file3.close();
system("PAUSE");
return 0;
}
bool apri_file(ifstream &file, string percorso){
file.open(percorso, ios::in);
if (!file){
cout << "Errore nell'apertura del file!\n";
return false;
}
return true;
}
bool apri_file(ofstream &file, string percorso){
file.open(percorso, ios::out);
if (!file){
cout << "Errore nell'apertura del file!\n";
return false;
}
return true;
}
void processa_file(ifstream &f1, ofstream &f2, ofstream &f3){
int temp;
int zeroCount=0, maxPari, minDispari;
bool primoPari = true, primoDispari = true;
while (!f1.eof()){
f1 >> temp;
if (temp == 0){
zeroCount++;
}
else if (temp % 2 == 1){
f2 << temp<<" ";
if (primoDispari){
minDispari = temp;
primoDispari = false;
}
else{
if (temp < minDispari)
minDispari = temp;
}
}
else{
f3 << temp<<" ";
if (primoPari){
maxPari = temp;
primoPari = false;
}
else{
if (temp > maxPari)
maxPari = temp;
}
}
}
cout << "Minimo: " << minDispari<<endl;
cout << "Massimo: " << maxPari<<endl;
cout << "Zeri: " << zeroCount << endl;
}
domenica 12 febbraio 2017
Iscriviti a:
Commenti sul post
(
Atom
)
Nessun commento :
Posta un commento