How to move back and forth in array list C++?

Viewed 94

So I want to search my array for my data and move back and forth, so this is what i came up with, however this isn't working, can there be a better way to do this ? I tried to google some tips however I wasn't finding a suitable way to do this...

Can binary search be used to do this same thing ?

struct student
{
    int stid = NULL;
    char stname[15] = "NULL";
    int grades = NULL;
    string date = NULL;
};

int main()
{
    int choose = 0;
    int stid = 0;
    int array = 1;

    struct student s[1] = { 001, "Sara", "123456", "Canada", "02/01/2019" };

    while (choose != 4)
    {
        cout << "1. Add\n";
        cout << "2. View\n";
        cout << "3. Search\n";
        cout << "4. Quit\n";
        cin >> choose;

        if (choose == 3)
        {
            cout << "How would you like to find the Student Details?" << endl;
            cout << "1 - By student id " << endl;
            int choice = 0;
            cin >> choice;
            if (choice == 1)
            {
                cout << "Student ID: ";
                cin >> stid;
                for (int i = 0; i < array; i++)
                {
                    if (s[i].stid == stid)
                    {
                        cout << "ID: " << s[i].stid << "\n";
                        cout << "Name: " << s[i].stname << "\n";
                        cout << "Grades: " << s[i].grades << "\n";
                        cout << "Date joined school: " << s[i].date<< "\n";

                        while (true)
                        {
                            cout << "Which record do you wish to see?" << endl;
                            cout << " 1 : Forth " << endl;
                            cout << " 2 : Back " << endl;
                            int choice = 0;
                            cin >> choice;
                            if (choice == 1)
                            {
                                stid = stid + 1;
                                for (int i = 0; i == stid; i++)
                                {
                                    if (s[i].stid == stid)
                                    {
                                        cout << "ID: " << s[i].stid << "\n";
                                        cout << "Name: " << s[i].stname << "\n";
                                        cout << "Grades: " << s[i].grades << "\n";
                                        cout << "Date joined school: " << s[i].date<< "\n";
                                    }
                                }
                            }
                            else if (choice == 2)
                            {
                                stid = stid - 1;
                                for (int i = 0; i == stid; i++)
                                {
                                    if (s[i].stid == stid)
                                    {
                                        cout << "ID: " << s[i].stid << "\n";
                                        cout << "Name: " << s[i].stname << "\n";
                                        cout << "Grades: " << s[i].grades << "\n";
                                        cout << "Date joined school: " << s[i].date<< "\n";
                                    }
                                }
                            }

Thank you for helping.

0 Answers
Related