#include <string.h>
#include "stdlib.h"
#include "iostream.h"
void FractionalValueToDouble( char * pInitialString , double & dResult );
void main()
{
double dResult;
char szFraction[100];
cout << "Enter fractional value like 5/7: ";
cin >> szFraction;
FractionalValueToDouble( szFraction, dResult );
cout << "Double Result: ";
cout << dResult << endl;
}
void FractionalValueToDouble( char * pInitialString , \
double & dResult )
{
char szLeftPart[100];
char szRightPart[100];
char * pSlash;
int iLeftPart;
int iRightPart;
int iLeftPartLen;
int iRightPartLen;
pSlash = strchr( pInitialString, '/' );
iRightPartLen = strlen(pSlash+1);
for( int i=0; i < iRightPartLen; i++ )
{
szRightPart[i] = *(pSlash + 1 + i);
}
szRightPart[i] = '\0';
iRightPart = atoi( szRightPart );
iLeftPartLen = pSlash - pInitialString;
for( i=0; i < iLeftPartLen; i++ )
{
szLeftPart[i] = *(pInitialString +i);
}
szLeftPart[i] = '\0';
iLeftPart = atoi( szLeftPart );
dResult = (double)iLeftPart/(double)iRightPart;
}
Enter fractional value like 5/7: 3/64
0.046875
(c) 2001, Stan Malevanny