Salve a tutti
spero che abbiate passato delle splendide vacanze.
premetto che in passato ho già affrontato l'argomento ma senza trovare la giusta soluzione!
così adesso ho escogitato quest' altra soluzione.
il problema del codice sottostante è il seguente:
nel secondo ciclo while o mi tronca le cifre prese 0 mi da più numeri del previsto!
esempio se introduco 123.7 mi restituisce parte previrgola ok = 123
parte post virgola 700
se invece introduco 123.7123 mi restituisce parte previrgola ok = 123
parte post virgola 712
volevo sapere come faccio a poter selezionare le cifre giuste senza che o abbia più caratteri o ne abbia di meno?
qualcosa che mi faccia capire che il numero è finito!
// cifre.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using std::cout;
using std::cin;
//using namespaces std;
int _tmain(int argc, _TCHAR* argv[])
{
float a;
char t;
int previrgola,postvirgola,indy,kindy;
kindy=0; indy=0;
postvirgola=0; previrgola=0;
//t="";
cout << "inserisci un numero con virgola = ";
cin >> a;
cout << "\n\r";
cout << "numero originale = " << a << "\n";
// calcolo parte intera della cifra
while ( a >=1)
{
previrgola++; a--;
}
cout << "numero a metà operazione = " << a << "\n";
while ( a > 0 )
{
postvirgola++;
a = a - 0.001;
}
postvirgola--;
cout << "parte pre virgola = " << previrgola << "\n";
cout << "parte post virgola = " << postvirgola << "\n";
cout << "premi [invio] per terminare ";
cin >> t;
return 0;
}