Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przekonwertowanie zmiennej char na wynik działania

Ostatnio zmodyfikowano 2016-02-15 11:18
Autor Wiadomość
dramatic
Temat założony przez niniejszego użytkownika
Przekonwertowanie zmiennej char na wynik działania
» 2016-02-14 18:45:50
Moja zmienna typu char jest ułamkiem zwykłym. Jak 1/4, 27/3 etc. Jak mogę policzyć wartość takiego ułamka? Gdy używam atof, zamieniam char na double - zostaje mi tylko pierwsza część członu, licznik; tu "1" i "27".
Byłbym bardzo wdzięczny za pomoc.
Pozdrawiam.
P-144853
carlosmay
» 2016-02-14 20:15:21
Zamień na liczbę to co jest przed i po kresce ułamkowej i wykonaj działanie.
Nie znalazłem konwersji na klasę std::ratio<>.
P-144859
dramatic
Temat założony przez niniejszego użytkownika
» 2016-02-14 21:17:04
To jest clue mojego problemu, nie wiem jak to zamienić.
P-144864
michal11
» 2016-02-14 21:23:02
Pokaz kod.
P-144865
dramatic
Temat założony przez niniejszego użytkownika
» 2016-02-14 21:26:29
C/C++
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;




int main( int argc, char * argv[] )
{
   
    double a = 0;
    double * ulamek = new double[ argc ];
   
   
   
    for( int i = 1; i < argc; i++ ) {
        ulamek[ i ] = atof( argv[ i ] );
        cout << a << " + " << ulamek[ i ] << " = " << a + ulamek[ i ] << endl;
        a += ulamek[ i ];
    }
    cout << "Srednia ulamkow wynosi : " << a /( argc - 1 ) << endl;
   
    system( "PAUSE" );
    return 0;
}
P-144867
carlosmay
» 2016-02-15 00:03:44
C/C++
ulamek[ i ] = obliczUlamek( argv[ i ] );

//... funkcja liczaca wartosc ulamka
double obliczUlamek( char * c ) {
    char * end; // do zachowania, gdzie skonczylo konwertowac pierwsza liczbe
    return strtod( c, & end ) / strtod( end + 1, NULL ); // end + 1 aby pominac znak '/' i skonwertowac druga
    // zwraca liczbe zmiennoprzecinkowa
}
P-144873
dramatic
Temat założony przez niniejszego użytkownika
» 2016-02-15 11:18:28
Dzięki serdeczne, kłaniam się nisko :)
P-144888
« 1 »
  Strona 1 z 1