domenica 12 febbraio 2017

COMPITO 7(PICCIALLI,CHIANESE)

#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;
}

Nessun commento :

Posta un commento