RandF function. (Rand Float)
I've made a small random float function.
You could use it if you need, could be useful for 3d.
Here it is.
Code:
#include <iostream>
#include <windows.h>
#include <string>
#include <time.h>
using namespace std;
float randf(float num)
{
int r = rand()%1;
float FinalRandValue = 0.0f;
char numstr[32];
string NumValue[2];
int at = 0;
sprintf_s(numstr, 32, "%f", num);
do
{
NumValue[0] += numstr[at];
at++;
}while(numstr[at] != '.');
for(size_t i = at+1; i < strlen(numstr)-3; i++)
{
NumValue[1] += numstr[i];
}
int Number1 = atoi(NumValue[0].c_str());
int Number2 = atoi(NumValue[1].c_str());
Number2 += 1;
Number2 /= 10;
int Random1 = 0;
int Random2 = 0;
if(Number1 > 0)
{
Random1 = rand()%Number1;
}
if(Number2 > 0)
{
Random2 = rand()%Number2;
}
ZeroMemory(&numstr, sizeof(numstr));
if(Random2 < 10)
{
sprintf_s(numstr, 32, "%d.0%d", Random1, Random2);
}
else
{
sprintf_s(numstr, 32, "%d.%d", Random1, Random2);
}
FinalRandValue = (float)atof(numstr);
return FinalRandValue;
}
int main()
{
srand(time_t(0));
while(1)
{
randf(1000.99f);
Sleep(500);
}
return 0;
}
Have fun.