PERTEMUAN KE 16 ( 17 DESEMBER 2025 )

EXERCISE ! Create a program that allows to input user authentication details, show the inputted data, sorting name data by ascending

#include 
#include 
#include 
using namespace std;

struct User {
    string name;
    string pass;
    string phone;
};

vector users;

void inputData() {
    User u;
    cout << "Name  : ";
    cin >> u.name;
    cout << "Pass  : ";
    cin >> u.pass;
    cout << "Phone : ";
    cin >> u.phone;

    users.push_back(u);
    cout << "New data is added\n";
}

void showData() {
    if (users.empty()) {
        cout << "No data available\n";
        return;
    }

    cout << "No\tName\tPass\tPhone\n";
    for (int i = 0; i < users.size(); i++) {
        cout << i+1 << "\t"
             << users[i].name << "\t"
             << users[i].pass << "\t"
             << users[i].phone << endl;
    }
}

void deleteData() {
    int no;
    showData();
    if (users.empty()) return;

    cout << "Input data number to be deleted: ";
    cin >> no;

    if (no < 1 || no > users.size()) {
        cout << "Invalid number\n";
    } else {
        users.erase(users.begin() + (no - 1));
        cout << "Data is removed\n";
    }
}

bool compareName(User a, User b) {
    return a.name < b.name;
}

void sortingData() {
    sort(users.begin(), users.end(), compareName);
    cout << "Data sorted by name (ascending)\n";
}


int main() {
    int choice;
    do {
        cout << "\n1. Input Data\n";
        cout << "2. Show Data\n";
        cout << "3. Delete Data\n";
        cout << "4. Sorting Data\n";
        cout << "5. Exit\n";
        cout << "Your choice: ";
        cin >> choice;

        switch (choice) {
            case 1: inputData(); break;
            case 2: showData(); break;
            case 3: deleteData(); break;
            case 4: sortingData(); break;
            case 5: cout << "Exit program\n"; break;
            default: cout << "Invalid choice\n";
        }
    } while (choice != 5);

    return 0;
}

Tidak ada komentar:

Posting Komentar