Array Trouble

Hello everyone I'm working on a homework assignment where I'm adding adding Employees to a database and then printing out their paychecks. My question is that I'm getting two errors. The first one is error: cannot convert 'double' to 'double*' for argument '2' to 'void printEmployeePaycheck(char*, double*, double*). So I'm not sure what to change here.

The second is that count has not been defined in the printEmployeePaycheck function. My question on this one is that I'm suppose to enter a number corresponding to an Employee and their stats will print out. Should I ask for the number before the calling the function since count isn't defined or can i somehow write it into the function so that it keeps track of the earlier input. How would I begin? Any help is appreciated. Thanks.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
  #include <iostream>
#include <iomanip>
#include <string>
using namespace std;

const int NAMELEN = 65;
const int SIZE = 20;

void printMenu();
void addEmployees(char name[][NAMELEN], double rate[], double hours[], int &count);
void displayAllEmployees(char name[][NAMELEN], double rate[], double hours[], int count);
void printEmployeePaycheck(char name[], double rate[], double hours[]);

int main()
{
    int count=0, choice;
    char name[SIZE][NAMELEN];
    double rate[SIZE], hours[SIZE];

    do
    {
        printMenu();
        cin >> choice;
        cout << endl;

        while(count == 0 && choice != 1)
        {
            cout << "You must add atleast one employee to the database! " << endl;
            cin >> choice;
        }

        switch(choice)
 {
            case 1:
                addEmployees(name, rate, hours, count);
                break;
            case 2:
                displayAllEmployees(name, rate, hours, count);
            case 3:
                printEmployeePaycheck(name[0], rate[0], hours[0]);
                break;
            case 0:
                cout << "Goodbye. " << endl << endl;
                break;
            default:
                cout << "Invalid menu choice. Please enter valid ";
                cout << "menu choice ";
                cin >> choice;
        }
    }
    while(choice!=0);
    return(0);
}

void printMenu()
{
    cout << endl;
    cout << "Welcome to the Employee Paycheck Calculator " << endl;
    cout << "=========================================== " << endl;
    cout << "1.  Add employee record(s) to the database " << endl;
    cout << "2.  Print all employee records " << endl;
    cout << "3.  Print the paycheck for one employee " << endl;
    cout << "0.  Exit " << endl;
    cout << "=========================================== " << endl;
    cout << "Enter selection:  ";
}

void addEmployees(char name[][NAMELEN], double rate[], double hours[], int &count)
{
    cout << "How many employees do you wish to add? ";
    cin >> count;
                   
    while (count < 1 || count > 20)
    {
        cout << "That is an invalid size. ";
        cout << "You must enter a value between 1 and 20. " << endl;
        cout << "How many employees do you wish to add? ";
        cin >> count;
    }

    for (int i = 0; i < count; i++)
    {
        cout << endl;
        cout << "Enter Employee " << i << " name: ";
        cin.ignore();
        cin.getline(name[i], NAMELEN);

        cout << "Enter " << name[i] << "'s pay rate: ";
        cin >> rate[i];

        cout << "Enter " << name[i] << "'s weekly hours: ";
        cin >> hours[i];
    }
}

void displayAllEmployees(char name[][NAMELEN], double rate[], double hours[], int count)
{
    cout << endl;
    cout << "Index" << "  " << "Name" << "\t\t";
    cout << "Rate" << "\t" << "Hours" << endl;

    for (int i = 0; i < count; i++)
    {
        cout << i << "\t" << name[i] << "\t\t";
        cout << rate[i] << "\t" << hours[i] << endl;
    }

}

void printEmployeePaycheck(char name[], double rate[], double hours[])
{
 int i;
    double weekly_pay;

    cout << "Enter Index of number correlating to an employee: ";
    cin >> i;

    while (i < 1 || i > count)
    {
        cout << "Error: there is no Employee corresponding to that number. ";
        cout << "Please enter a valid number: ";
        cin >> i;
    }

    weekly_pay = rate[i] * hours[i];

    cout << "Employee: " << name[i] << "\t\t" << "Rate: " << rate[i];
    cout << "\t" << "Hours: " << hours[i] << "\t" << "Weekly Pay: ";
    cout << weekly_pay << endl;
}
               
printEmployeePaycheck(name[0], rate[0], hours[0]); printEmployeePaycheck(name, rate, hours);
Last edited on
I've changed the parameters but it looks like the same error still comes up
Topic archived. No new replies allowed.