Also irgendwie mag sscanf die Verbindung %f und double nicht...
#include "stdafx.h"
#include "stdlib.h"
void getInt(const char* format, const char*source, double* number);
void getFloat(const char* format, const char*source, double* number);
void formatNumber(double number);
int main(int argc, char* argv[])
{
double number = 0.0;
printf("a)\n");
getInt("%d", "368", &number);
formatNumber(number);
printf("b)\n");
getInt("%o", "761", &number);
formatNumber(number);
printf("c)\n");
getInt("%x", "9", &number);
formatNumber(number);
printf("d)\n");
getFloat("%f", "1010.361", &number);
formatNumber(number);
printf("e)\n");
getFloat("%e", "-1.345E-10", &number);
formatNumber(number);
return 0;
}
void getInt(const char* format, const char*source, double* number)
{
int result;
sscanf(source, format, &result);
*number = result;
}
void getFloat(const char* format, const char*source, double* number)
{
float result;
sscanf(source, format, &result);
*number = result;
}
void formatNumber(double number)
{
printf(" %d\n", (int)number);
printf(" %o\n", (int)number);
printf(" %x\n", (int)number);
printf(" %f\n", (float)number);
printf(" %e\n", number);
}