too many arguments in function call

May 16, 2023 at 4:55am
it is related to the calculator class that ive made
error at line 117

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
132
133
134
  #include <iostream>
using namespace std;

class calculator{
    public:
    double n[];

    void alldata(double num1, double num2){
        n[0] = num1;
        n[1] = num2;
    }

    double addition(){
        return n[0] + n[1];
    }

    double substraction(){
        return n[0] - n[1];
    }

    double division(){
        return n[0] / n[1];
    }

    double multiplication(){
        return n[0] * n[1];
    }
};

class database{
    private:
    int choice;
    string acc,pass;

    public:
    void menu();
    void addingacc();
    void viewacc();
};

void database::menu(){
    //Authentication
    string logging = "gabbz29";
    int pass = 387025;
    cout << "Enter your account name: ";
    cin >> logging;
    cout << "Enter your password: ";
    cin >> pass;
    while(!(logging == "gabbz29" || pass == 387025)){
        cout << "\nCheck the information that you provided and try again.\n";
        cin.clear();
        cin.ignore(100 , '\n');
        cout << "Enter your account name: ";
        cin >> logging;
        cout << "Enter your password: ";
        cin >> pass;
    }

    //Database menu
    cout << "--------------Database Menu--------------\n";
    cout << "1.Add an account.\n";
    cout << "2.View your accounts.\n";
    cout << "3.Delete an existing account.\n";
    cout << "4.Modify an account.\n";
    cout << "5.Exit.\n";
    cout << "6.Go back to menu.\n";
    cout << "Press your transaction: ";
    cin >> choice;
    while(!(choice == 1 || choice == 2 || choice == 3 || choice == 4 || choice == 5 || choice == 6)){
        cout << "Only choose between number's 1-6.\n";
        cout << "Try again: ";
        cin.clear();
        cin.ignore(100 , '\n');
        cin >> choice;
    }

    if(choice == 1){
        addingacc();
    }else if(choice == 2){
        viewacc();
    }else if(choice == 5){
        exit;
    }
}

void database::addingacc(){
    cout << "----------------Adding section----------------\n";
    cout << "E-mail/G-gmail/Username: ";
    cin >> acc;
    cout << "Enter password: ";
    cin >> pass;
}

void database::viewacc(){
        
}

int main(){
    char chc;
    cout << "---------------------------------------------ALL IN ONE SOFTWARE---------------------------------------------\n";
    cout << "A.Software saving.\n";
    cout << "B.Calcaulator.\n";
    cout << "C.General Weighted Average Calculator.\n";
    cin >> chc;
    
    if(chc == 'A' || chc == 'a'){ 
    database alldata;
    alldata.menu();
    }else if(chc == 'b' || chc == 'B'){
        char opt;
        do{
        double num[2];
        cout << "---------------------AIO Calculator---------------------\n";
        cout << "Enter two digits: ";
        cin >> num[0] >> num [1];
        calculator cal;
        cal.addition(num[0],num[1]);

        cout  << "Use it again or go back to main Menu?\n [Y] to use it again\n [N] to exit\n [C] to go back to Main menu.";
        cin >> opt;
        while(!(opt == 'y' || opt == 'Y' || opt == 'n' || opt == 'N' || opt == 'c' || opt == 'C')){
            cout << "Only choose between [Y/N/C]\n";
            cin.clear();
            cin.ignore(100 , '\n');
            cout << "Y = continue. N = exit. C = Back to main menu: ";
            cin >> opt;
        }
        if(opt == 'c' || opt == 'C'){
            
        }

        }while(opt == 'y' || opt == 'Y');
    }
}
Last edited on May 16, 2023 at 4:56am
May 16, 2023 at 5:14am
Line 117 calls a function with 2 arguments.
Line 13ff defines a function with zero arguments.

2 is not equal to 0.
May 16, 2023 at 5:58am
For some reason you pass the data to alldata(...) not addition(...).

Line 6 unfortunately compiles (it should at least warn) but is invalid.
The lines 9/10 causes undefined behavior because n has no size.
May 16, 2023 at 7:54am
thank you all guys
May 16, 2023 at 8:42am
calculator class could have a constructor that takes 2 args and sets n from them.

L69 - this could be coded using < || > rather than having tests for each specific correct value.

Also for cases where you input a choice and then process depending upon the choice a switch statement is often used. The default case being used for input error.
May 16, 2023 at 3:11pm
Check your Boolean logic in line 49. That should be &&, not ||.
Topic archived. No new replies allowed.