Ik ben bezig programma aan het schrijven met een eigen datatype maar op 1 of andere reden crashed mijn programma als ik ineens tweede object maak.
ldouble.cpp:
[CPP]#include <iostream>
#include "ldouble.h"
ldouble::ldouble()
{
maxplus = 0;
maxmin = 0;
}
ldouble::~ldouble() { }
void ldouble::CharToLdouble( char* var_number )
{
char Temp;
Length = strlen(var_number);
Middle = PositionChar( var_number, "." );
for( int i = 0; i < Middle; i++)
{
Temp = var_number[Middle - 1 - i];
numplus = atoi(&Temp);
maxplus ++;
}
for( int i = 0; i < Length - Middle - 1; i++)
{
Temp = var_number[Middle + 1 + i];
nummin = atoi(&Temp);
maxmin ++;
}
}
char* ldouble::LdoubleToChar()
{
char* number = ( char* ) malloc ( 4 );
char* Temp = ( char* ) malloc ( 4 );
for( int i = 0; i < Middle; i++)
{
itoa( numplus[maxplus - i - 1] , Temp , 10 );
strcat( number , Temp );
}
strcat( number , "." );
for( int i = 0; i < Length - Middle - 1; i++)
{
itoa( nummin , Temp , 10 );
strcat( number , Temp );
}
return number;
}
int ldouble:
ositionChar( char* var_number, char* var_check )
{
int count = -1;
for( int i = 0; i < Length; i++)
{
if(var_number == var_check[0])
{
count = i;
}
}
return count;
}
ldouble ldouble:
lus( ldouble var_Getal_1, ldouble var_Getal_2 )
{
}[/CPP]
ldouble.h:
[CPP]#ifndef LDOUBL_H
#define LDOUBL_H
class ldouble
{
public:
ldouble();
virtual ~ldouble();
void CharToLdouble( char* var_number );
char* LdoubleToChar();
ldouble Plus( ldouble var_Getal_1, ldouble var_Getal_2 );
private:
int numplus[200000];
int maxplus;
int nummin[200000];
int maxmin;
int Length;
int Middle;
int PositionChar( char* var_number, char* var_check );
};
#endif[/CPP]
Main.cpp:
[CPP]#include <iostream>
#include "ldouble.h"
using namespace std;
int main()
{
ldouble Getal_1;
Getal_1.CharToLdouble( "234.567" );
//ldouble Getal_2;
//Getal_2.CharToLdouble( "456.843" );
cout << "Getal 1 = " << Getal_1.LdoubleToChar() << endl;
return 0;
}[/CPP]
Enige idee hoe ik dit probleem kan oplossen?
Heb gemerkt als ik de array 100000 maak dat hij het wel deed.
Maar als ik ineens 3e object dan wilde maken crash hij weer
Groet, Lupo
ldouble.cpp:
[CPP]#include <iostream>
#include "ldouble.h"
ldouble::ldouble()
{
maxplus = 0;
maxmin = 0;
}
ldouble::~ldouble() { }
void ldouble::CharToLdouble( char* var_number )
{
char Temp;
Length = strlen(var_number);
Middle = PositionChar( var_number, "." );
for( int i = 0; i < Middle; i++)
{
Temp = var_number[Middle - 1 - i];
numplus = atoi(&Temp);
maxplus ++;
}
for( int i = 0; i < Length - Middle - 1; i++)
{
Temp = var_number[Middle + 1 + i];
nummin = atoi(&Temp);
maxmin ++;
}
}
char* ldouble::LdoubleToChar()
{
char* number = ( char* ) malloc ( 4 );
char* Temp = ( char* ) malloc ( 4 );
for( int i = 0; i < Middle; i++)
{
itoa( numplus[maxplus - i - 1] , Temp , 10 );
strcat( number , Temp );
}
strcat( number , "." );
for( int i = 0; i < Length - Middle - 1; i++)
{
itoa( nummin , Temp , 10 );
strcat( number , Temp );
}
return number;
}
int ldouble:

{
int count = -1;
for( int i = 0; i < Length; i++)
{
if(var_number == var_check[0])
{
count = i;
}
}
return count;
}
ldouble ldouble:

{
}[/CPP]
ldouble.h:
[CPP]#ifndef LDOUBL_H
#define LDOUBL_H
class ldouble
{
public:
ldouble();
virtual ~ldouble();
void CharToLdouble( char* var_number );
char* LdoubleToChar();
ldouble Plus( ldouble var_Getal_1, ldouble var_Getal_2 );
private:
int numplus[200000];
int maxplus;
int nummin[200000];
int maxmin;
int Length;
int Middle;
int PositionChar( char* var_number, char* var_check );
};
#endif[/CPP]
Main.cpp:
[CPP]#include <iostream>
#include "ldouble.h"
using namespace std;
int main()
{
ldouble Getal_1;
Getal_1.CharToLdouble( "234.567" );
//ldouble Getal_2;
//Getal_2.CharToLdouble( "456.843" );
cout << "Getal 1 = " << Getal_1.LdoubleToChar() << endl;
return 0;
}[/CPP]
Enige idee hoe ik dit probleem kan oplossen?
Heb gemerkt als ik de array 100000 maak dat hij het wel deed.
Maar als ik ineens 3e object dan wilde maken crash hij weer

Groet, Lupo
Laatst bewerkt: