Below is my attempt at my C++ assignment to use a class with overloaded constuctors, one passed variables and the other passed a structure. I get a syntax error atempting to pass a structure. Any help greatly appreciated. Also, feel free to offer constructive criticism on any aspect of the program.
TIA
#include <iostream.h>
#define MAXNUMS 3
struct T
{
char name[50];
int s[MAXNUMS];
} info;
char n[50];
int nums[MAXNUMS];
class numbers
{
int sum;
double average;
void input(char *n, int *nums)
{
cout << "Enter Name: ";
cin.getline(n,50);
for (int i=0; i<MAXNUMS; i++)
{
cout << "Enter number " << i+1 << ": ";
cin >> nums;
}
}
void calc(int *nums)
{
sum = 0;
for (int i=0;i<MAXNUMS;i++)
{
sum += nums;
}
average = sum / (double)MAXNUMS;
}
void output(char *n)
{
cout << "Name: " << n << endl;
cout << "Sum: " << sum << endl;
cout << "Aver: " << average << endl;
}
public:
numbers(struct T *x)
{
input(x->name,x->s);
calc(x->s);
output(x->name);
}
numbers(char *n, int *nums)
{
input(n,nums);
calc(nums);
output
;
}
};
main ()
{
class numbers (n, nums);
class numbers (&info); // SYNTAX ERROR
return 0;
}
CaKiwi
TIA
#include <iostream.h>
#define MAXNUMS 3
struct T
{
char name[50];
int s[MAXNUMS];
} info;
char n[50];
int nums[MAXNUMS];
class numbers
{
int sum;
double average;
void input(char *n, int *nums)
{
cout << "Enter Name: ";
cin.getline(n,50);
for (int i=0; i<MAXNUMS; i++)
{
cout << "Enter number " << i+1 << ": ";
cin >> nums;
}
}
void calc(int *nums)
{
sum = 0;
for (int i=0;i<MAXNUMS;i++)
{
sum += nums;
}
average = sum / (double)MAXNUMS;
}
void output(char *n)
{
cout << "Name: " << n << endl;
cout << "Sum: " << sum << endl;
cout << "Aver: " << average << endl;
}
public:
numbers(struct T *x)
{
input(x->name,x->s);
calc(x->s);
output(x->name);
}
numbers(char *n, int *nums)
{
input(n,nums);
calc(nums);
output
}
};
main ()
{
class numbers (n, nums);
class numbers (&info); // SYNTAX ERROR
return 0;
}
CaKiwi