Salve sto scrivendo un codice che calcoli il codice fiscale,sto avendo dei problemi con la parte finale ovvero devo prendere il codice del comune che l'utente inserisce cioè se inserisce Milano il programma deve cercare nel file csv Milano e prendere il codice,il file è formato così Citta;XXXX e mi serve solo la parte XXXX e deve andare nella variabile che ho chiamata codice_comune
attualmente ho scritto questo.
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <algorithm>
using namespace std;
string file_content();
int main()
{
char a_mesi[12] = {'A', 'B', 'C', 'D', 'E', 'H', 'L', 'M', 'P', 'R', 'S', 'T'};
char vocale_cognome,vocale_nome;
int len_cognome, len_nome,mese;
string nome,cognome,anno,result,data, giorno,codice_comune,provincia,citta;
string database = file_content();
ifstream myfile("lista-codici.txt");
bool femmina = false;
int len_database = database.size();
cout << "inserisci il tuo nome ";
cin >> nome;
cout << "inserisci il tuo cognome ";
cin >> cognome;
cout << "inserisci il giorno in cui sei nato ";
cin >> giorno;
cout << "inserisci il mese in cui sei nato ";
cin >> mese;
mese = mese-1;
cout << "inserisci l'anno in cui sei nato ";
cin >> anno;
cout << "In che provincia sei nato? ";
cin >> provincia;
cout << "in che città sei nato? ";
cin >> citta;
int verifica;
cout << "Se sei maschio digita 0 altrimenti digita 1 ";
cin >> verifica;
if (verifica == 1)
{
femmina = true;
}
len_nome = nome.size();
len_cognome = cognome.size();
for (int j = 0; j < len_cognome; j++)
{
if(cognome[j] == 'a' || cognome[j] == 'e' || cognome[j] == 'i' || cognome[j] == 'o' || cognome[j] == 'u' || cognome[j] == 'A' || cognome[j] == 'E' || cognome[j] == 'I' || cognome[j] == 'O' || cognome[j] == 'U')
{
vocale_cognome = cognome[j];
cognome.erase(j, 1);
len_cognome--;
j--;
}
}
for (int j = 0; j < len_nome; j++)
{
if (nome[j] == 'a' || nome[j] == 'e' || nome[j] == 'i' || nome[j] == 'o' || nome[j] == 'u' || nome[j] == 'A' || nome[j] == 'E' || nome[j] == 'I' || nome[j] == 'O' || nome[j] == 'U')
{
vocale_nome = nome[j];
nome.erase(j, 1);
len_nome--;
j--;
}
}
anno.erase(0, 2);
int app = stoi(giorno);
if (femmina == true)
{
app = app + 40;
data = app;
}
else {
data = giorno;
}
result = cognome + vocale_cognome+nome+anno+a_mesi[mese]+data;
cout << result;
return 0;
}
string file_content()
{
// filestream variables
fstream file;
string filename;
// we declare filename which corresponds to the file we want to open
filename = "lista-codici.txt";
//open the file
file.open(filename.c_str());
// create a stringstream
stringstream buffer;
//passes the file buffer to the stringstream
buffer << file.rdbuf();
//reading the file
return buffer.str();
}