Originariamente inviato da freetom
Mi areno dopo comunque ok.. provo a trovare alone una solution
Ci sono quasi riuscito
solo dovrei ottimizzarlo al fine di non avere un errore alla fine del programma (l'applicazione verrà chiusa ecc..)
Per quanto riguarda la creazione del file voluto me lo crea senza errori tranne una riga eccessiva del tipo:
le presenze x questo numero: 89 sono: 2
le presenze x questo numero: 90 sono: 4
le presenze x questo numero: <--- RIGA IN ECCESSO...
Questo il codice (se riuscite a capire perchè mi si chiude in malo modo... vi ringrazio!)
codice:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iomanip>
using namespace std;
string intToString(int value) {
stringstream ss;
ss << value;
return ss.str();
}
string floatToString(float value) {
stringstream ss;
ss << value;
return ss.str();
}
int main (int argc, char *argv[]) {
ofstream fout;
fout.open("PRESENZE-NUMERI-RILEVATI-NEL-FILE-A.txt", ios::app);
//-----------------------------------
vector<string> vec;
int contaterzina=0;
int contatore=0;
int conteggio=0;
int presenze=0;
int presenze3=0;
int contaxambo=0;
int contaestrazioni=0;
int conteggio2=0;
vector<int> ritardi;
vector<int> ritardi2;
vector<string> terzineconritardi;
vector<string> terzineconritardi2;
int contacolpibuoni=0;
string testo,estratta;
//-----------------------------------
vector<string> nums;
vector<string> novanta;
ifstream file("fileA.txt");
char buffer[8];
while(file.getline(buffer, 8, ','))
{
istringstream ss(buffer);
string temp;
ss >> temp;
nums.push_back(temp);
}
int sz = nums.size();
for (int i=0; i<sz;i++) {
cout << nums[i];
cout << "\n";
}
cout << "\n\n";
cout << "seconda parte";
cout << "\n\n";
cin.get();
ifstream fin("tuttie90inumeri.txt");
if (fin) {
string s;
while(fin) // cattura tutti gli errori.
{
getline(fin,s);
//cout << s;
novanta.push_back(s);
}
}
int sz2 = novanta.size();
for (int h=0; h<sz2-1;h++) {
cout << novanta[h];
cout << "\n";
}
cin.get();
for (int x=0; x < sz-1; x ++) {
for (int y=0; y < sz; y++) {
if (nums[y] == novanta[x]) {
cout << "numeroA: ";
cout << nums[y];
cout << " VS ";
cout << "numeroB: ";
cout << novanta[x];
cout << " uguale!";
cout << " presenze: ";
cout << presenze;
presenze++;
cout << "valore di x: ";
cout << x;
cout << "\n";
cout << "valore di y: ";
cout << y;
cin.get();
}
}
//scrivi su file e azzera presenze per verifica numero successivo...
fout << "le presenze x questo numero: ";
fout << novanta[x];
fout << " sono: ";
fout << presenze;
fout << "\n";
presenze=0;
//------------------------------------------------------------------
}
fout.close();
}