Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Can someone make this program in vector form #include <iostream> #include <strin

ID: 3845152 • Letter: C

Question

Can someone make this program in vector form

#include <iostream>

#include <string>

using namespace std;

int Menu();

void getName(string names[], int &count);

int removeName(string names[], int count, string key);

void displayName(string names[], int count);

int findName(string names[], int count, string key);

void sortName(string names[], int count);

int main()

{

       string names[100];

       int count = 0;

       int option = Menu();

       while (option != 0)

       {

              switch (option)

              {

              case 1:

              {

                      getName(names, count);

              }

              break;

              case 2:

              {

                      string name;

                      cout << "Enter name to remove: ";

                      getline(cin, name);

                      int c = removeName(names, count, name);

                      if (c == -1)

                      {

                             cout << "ERROR: Name not found" << endl << endl;

                      }

                      else

                      {

                             count = c;

                      }

              }

              break;

              case 3:

              {

                      displayName(names, count);

              }

              break;

              case 4:

              {

                      string name;

                      cout << "Enter name to find: ";

                      getline(cin, name);

                      int index = findName(names, count, name);

                      if (index == -1)

                      {

                             cout << "ERROR: Name not found in the array" << endl << endl;

                      }

                      else

                      {

                             cout << "Name found at index " << index << " in the array." << endl << endl;

                      }

              }

              break;

              case 5:

              {

                      sortName(names, count);

              }

              break;

              case 0:

              {

                      cout << "The program is exited.Thank you" << endl;

                      return 0;

              }

              break;

              }

              option = Menu();

       }

       system("pause");

       return 0;

}

void getName(string names[], int &count)

{

       string name;

       cout << "Enter name: ";

       getline(cin, name);

       names[count] = name;

       count++;

}

int Menu()

{

       int option;

       cout << " 1. Add a name (getName)" << endl;

       cout << "2. Remove a name" << endl;

       cout << "3. Display names " << endl;

       cout << "4. Search a name" << endl;

       cout << "5. Sort names" << endl;

       cout << "0. Quit" << endl;

       cout << "Enter a option: ";

       cin >> option;

       while (option < 0 || option > 5)

       {

              cout << "ERROR: Invalid option entered. Try again: ";

              cin >> option;

       }

       cin.ignore();

       return option;

}

void sortName(string names[], int count)

{

       for (int i = 0; i<count; i++)

       {

              for (int j = i + 1; j<count; j++)

              {

                      if (names[i] > names[j])

                      {

                             string temp = names[i];

                             names[i] = names[j];

                             names[j] = temp;

                      }

              }

       }

       for (int i = 0; i < count; i++)

       {

              cout << names[i] << endl;

       }

}

int findName(string names[], int count, string key)

{

       for (int i = 0; i<count; i++)

       {

              if (names[i] == key)

                      return i;

       }

       return -1;

}

int removeName(string names[], int count, string key)

{

       int found = findName(names, count, key);

       if (found == -1)

              return found;

       for (int i = found; i<count - 1; i++)

       {

              names[i] = names[i + 1];

       }

       count = count - 1;

       return count;

}

void displayName(string names[], int count)

{

       if (count == 0)

       {

              cout << "No names to display" << endl;

              return;

       }

       for (int i = 0; i<count; i++)

       {

              cout << names[i] << endl;

       }

}

Explanation / Answer

// C++ code
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int Menu();
void getName(std::vector<string> &names, int &count);
int removeName(std::vector<string> &names, int count, string key);
void displayName(std::vector<string> &names, int count);
int findName(std::vector<string> &names, int count, string key);
void sortName(std::vector<string> &names, int count);

int main()
{
std::vector<string> names;
int count = 0;
int option = Menu();
while (option != 0)
{
switch (option)
{
case 1:
{
getName(names, count);
}
break;
case 2:
{
string name;
cout << "Enter name to remove: ";
getline(cin, name);
int c = removeName(names, count, name);
if (c == -1)
{
cout << "ERROR: Name not found" << endl << endl;
}
else
{
count = c;
}
}
break;
case 3:
{
displayName(names, count);
}
break;
case 4:
{
string name;
cout << "Enter name to find: ";
getline(cin, name);
int index = findName(names, count, name);
if (index == -1)
{
cout << "ERROR: Name not found in the array" << endl << endl;
}
else
{
cout << "Name found at index " << index << " in the array." << endl << endl;
}
}
break;
case 5:
{
sortName(names, count);
}
break;
case 0:
{
cout << "The program is exited.Thank you" << endl;
return 0;
}
break;


}
option = Menu();
}
return 0;
}

void getName(std::vector<string> &names, int &count)
{
string name;
cout << "Enter name: ";
getline(cin, name);
names.push_back(name);
count++;
}

int Menu()
{
int option;
cout << " 1. Add a name (getName)" << endl;
cout << "2. Remove a name" << endl;
cout << "3. Display names " << endl;
cout << "4. Search a name" << endl;
cout << "5. Sort names" << endl;
cout << "0. Quit" << endl;
cout << "Enter a option: ";
cin >> option;
while (option < 0 || option > 5)
{
cout << "ERROR: Invalid option entered. Try again: ";
cin >> option;
}
cin.ignore();
return option;
}

void sortName(std::vector<string> &names, int count)
{
for (int i = 0; i<count; i++)
{
for (int j = i + 1; j<count; j++)
{
if (names[i] > names[j])
{
string temp = names[i];
names[i] = names[j];
names[j] = temp;
}
}
}
for (int i = 0; i < count; i++)
{
cout << names[i] << endl;
}

}
int findName(std::vector<string> &names, int count, string key)
{
for (int i = 0; i<count; i++)
{
if (names[i] == key)
return i;
}
return -1;
}

int removeName(std::vector<string> &names, int count, string key)
{
int found = findName(names, count, key);
if (found == -1)
return found;

for (int i = found; i<count - 1; i++)
{
names[i] = names[i + 1];
}
count = count - 1;
return count;
}

void displayName(std::vector<string> &names, int count)
{
if (count == 0)
{
cout << "No names to display" << endl;
return;
}
for (int i = 0; i<count; i++)
{
cout << names[i] << endl;
}

}


/*
output:


1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 1
Enter name: jane


1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 1
Enter name: akash


1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 1
Enter name: emma


1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 3
jane
akash
emma


1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 4
Enter name to find: jane
Name found at index 0 in the array.

1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 5
akash
emma
jane


1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 2
Enter name to remove: jane


1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 3
akash
emma


1. Add a name (getName)
2. Remove a name
3. Display names
4. Search a name
5. Sort names
0. Quit
Enter a option: 0

*/

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote