aboutsummaryrefslogtreecommitdiff
path: root/Project1/program.cpp
blob: ef06d253c9c134ea85a2ef6e8c2ad4b90e340c5f (plain) (blame)
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
// name: Connor McDowell
// date: 2/19/2024
// class: CST116
// reason: homework number 6

#include "Contacts.h"
#include <iostream>

using std::cin;
using std::cout;
using std::endl;

//constexpr size_t MAX = 3;

int main()
{
    size_t MAX = 3;
    int O = 1;
 /*    t = index counter*/
    size_t t = 0;
    contact* newContact = new contact[MAX];
    int length = sizeof(newContact[MAX]);
    //cout << sizeof(newContact[MAX]) << endl;
    while (O == 1)
    {
        //cout << MAX << endl;
        // c = choice input
        int c = 0;
        cout << "1. Enter a contact\n";
        cout << "2. Update a contact\n";
        cout << "3. print all contacts\n";
        cout << "4. Delete a contact\n";
        cout << "5. Quit\n";
        cout << "\nEnter your choice: " << endl;
        cin >> c;
        switch (c)
        {
        case 1:
            addNew(newContact, MAX, t);
            if (t >= MAX) // Check if the number of contacts exceeds MAX
            {
                contact* newContactTemp = new contact[MAX * 2]; // Double the size
                for (size_t i = 0; i < MAX; ++i) // Copy existing contacts
                    newContactTemp[i] = newContact[i];
                delete[] newContact; // Deallocate old memory
                newContact = newContactTemp; // Update pointer
                MAX *= 2; // Update MAX
            }
            break;
        case 2:
            update(newContact, MAX);
            break;
        case 3:
            printAll(newContact, MAX); // Print only the existing contacts
            break;
        case 4:
            delete_contact(newContact, MAX);
            break;
        case 5:
            O = 0;
            break;
        default:
            cout << "Invalid choice. Please enter a number from 1 to 5." << endl;
        }
    }
    return 0;
}