Struct Check No. Of Even, Odd And Sum up all the Digits N Conversion To Binary

I can't seem to output the binary part it only come out 1 bits..
Thanks in Advance for help..

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
#include <conio.h>

using namespace std;
const int SIZE = 33;

struct Number
{
int no;
int oddDigit;
int evenDigit;
int sumDigit;
int noDigit;
int binary;
};

Number construct (int);
void arrayQ (Number [], int);
void printArrayQ (const Number [], int);
int oddDigit (int);
int evenDigit(int);
int sumDigit (int);
int noDigit (int);
int dectobin(int);

int main(int& binary)
{
Number r [SIZE];
srand (time (NULL));
arrayQ (r, SIZE);
printArrayQ (r, SIZE);

return 0;
}//end main


Number construct (int p)
{
Number r;

r.no = p;
r.oddDigit = oddDigit(p);
r.evenDigit = evenDigit(p);
r.sumDigit = sumDigit(p);
r.noDigit = noDigit(p);
r.binary = dectobin(p);

return r;
}


void arrayQ (Number r [], int n)
{
int p;

for (int i = 0; i < n; i++)
{
p = rand ();
r [i] = construct(p);
}
}


void printArrayQ (const Number r [], int n)
{
cout << "No\tOdd\tEven\tSum\tDigit\tBinary\n\n";

for (int i = 0; i < n; i++)
{
cout << r [i].no << "\t"
<< r [i].oddDigit << "\t"
<< r [i].evenDigit << "\t"
<< r [i].sumDigit << "\t"
<< r [i].noDigit << "\t"
<< setw(8) <<r [i].binary <<endl;
}
}


int oddDigit (int p)
{
int oddCount = 0;

while(p>0)
{
oddCount += p%2;
p = p/10;
}

return oddCount;
}


int evenDigit (int p)
{
int evenCount = 0;
int digit;

while(p>0)
{
digit = p%10;
p = p/10;

if (digit%2 == 0)
{
if(digit != 0)
{
evenCount++;
}
}
}

return evenCount;
}


int sumDigit (int p)
{
int rem, sum=0;

while(p!=0)
{
rem = p%10;
sum = sum+rem;
p = p/10;
}

return sum;
}


int noDigit (int p)
{
int i = 0;

while (p>0)
{
++i;
p = p/10;
}

return i;
}


int dectobin(int p)
{
int binary;

if(p <= 1)
{
return 0;
}

binary = p % 2;
dectobin(p>>1);

return binary;
}



char mapping (int n)
{
if (n == 1)
return '1';
else
return '0';
}

I need to add this function but seem I can't return the binary

I am really stuck for weeks with this practice anybody can help?
Topic archived. No new replies allowed.