Professional Documents
Culture Documents
#include <string>
#include <conio.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
struct node
{
string name;
int age;
char gender;
node* next;
};
void clearScreen()
{
system("cls");
}
void searchByAge()
{
void searchByGender()
{
void searchMenu()
{
char choice;
clearScreen();
string nameToBeSearched;
switch (choice)
{
case '1':
if (searchByName(nameToBeSearched))
{
cout << nameToBeSearched << " present in List" << endl;
}
else
{
cout << nameToBeSearched << " not present in List" << endl;
}
break;
case '2':
searchByAge();
break;
case '3':
searchByGender();
break;
default:
cout << "Invalid Choice" << endl;
}
}
(*nodeToAdd)->next = NULL;
}
void add()
{
string name;
cout << endl << "Enter Name: ";
do
{
getline(cin, name);
if (name.empty() || isdigit(name[0]))
cout << "Invalid Name. Enter valid value(A-Z, a-z" << endl;
else
break;
}while(1);
if (searchByName(name))
{
cout << name << " already present in list. Cannot Add" << endl;
return;
}
else
{
cout << " Adding " << " to List" << endl;
node* nodeToAdd = NULL;
createNode(&nodeToAdd, name);
if (head == NULL)
{
head = nodeToAdd;
}
else
{
void print()
{
int age = 0;
cout << "Enter Age: ";
do
{
if (cin.fail() || age < 0)
{
cout << " Invalid Age: Enter Age again " << endl;
cin.clear();
cin.ignore(256, '\n');
}
} while (!(cin >> age) || (age < 0));
nodeToUpdate->age = age;
char gender;
cout << "Enter gender(m for male, f for female): ";
cin >> gender;
cin.ignore(2, '\n');
cin.clear();
nodeToUpdate->gender = gender;
void menu()
{
void deleteList()
{
node *t = head;
while (t != NULL)
{
t = t->next;
delete head;
head = t;
}
}
int main()
{
char input;
string nameToSearch;
do
{
menu();
input = _getch();
switch (input)
{
case '1':
add();
break;
case '2':
searchMenu();
break;
case '3':
cout << "Enter name to update: ";
getline(cin, nameToSearch);
update(nameToSearch);
break;
case '4':
cout << "Enter name to Delete: ";
getline(cin, nameToSearch);
deleteNode(nameToSearch);
break;
case '5':
print();
break;
case '6':
clearScreen();
break;
case '7':
cout << endl << "Thank You for using the Program";
cout << endl << "Exiting....";
deleteList();
return 0;
default:
cout << "Enter a Valid Choice" << endl;
}
cout << endl << "Do you want another input (y/n)";
input = _getch();
cout << endl;
deleteList();
system("pause");
return 0;
}