Non so se può essere di aiuto e se la cosa è percorribile anche in c++ (con cui credo che è realizzato il programma) io ho risolto il problema del punto e della virgola in C# permettendomi di inserire indipendentemente l'uno o l'altro (esempi 1.21 e 1,21 sono visti sempre come separatore decimale punto dal programma per i calcoli) inserendo due variabili char '.' e ',' chiamate sepDec1 e sepDec2, e alla lettura di ciò che è inserito nella casella di testo esempio numero.text prima di trasformarla in numero ho aggiunto il comando replace(sepDec1,sepDec2) che mi inverte il punto con la virgola e permette la trasformazione corretta svincolandomi dal problema della punteggiatura e della modifica della punto con la virgola. Naturalmente la cosa è possibile solo se non considero anche il separatore delle migliaia.
Di seguito un esempio di codice in c#
Codice:
//definisco le due variabili
public char sepDec1, sepDec2;
//assegno valore all'apertura del programma
sepDec1 = '.';
sepDec2 = ',';
//esempio di conversione dei valori letti da una casella di testo
double.TryParse(H_sezb_tb.Text.Replace(sepDec1, sepDec2), out H_b);
è stato poi inserito una form che mi permette di fare il contrario, nel caso in cui il separatore decimale di default è il punto.