Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<conio.h>
- #include<cstring>
- #include<cstdlib>
- #include <iomanip>
- #include<windows.h>
- #include<cstdio>
- #include <fstream>
- #include <cstring>
- #include <string>
- using namespace std;
- struct boarder {
- string fname, lname, address;
- string contact;
- string b_id;
- int b_list = 0;
- };
- int occupant_ptr = 0;
- int sss;
- string yourchoice, choice;
- boarder dormer[50], tempemp[40], sortemp[50], sorttemp1[50];
- void show();
- //void first();
- //void second();
- void display_list();
- void add();
- void deletes();
- void menu();
- void edit();
- void search();
- void edit_menu();
- void id(int);
- void edit_fname(int);
- void editlastname(int);
- void edit_contact(int);
- int main()
- {
- string user, pw;
- int attempt = 0, ch;
- s:
- std::system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t LOG IN \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t \tUsername: ";
- std::cin >> user;
- std::cout << "\t \tPassword: ";
- while (ch = _getch()) {
- if (ch == 13) {
- if (user == "admin" && pw == "1234") {
- menu();
- break;
- }
- attempt += 1;
- std::cout << " \n ------------------------------------------------------ \n";
- std::cout << " Invalid username or password. Try again! \n";
- std::cout << " ";
- system("pause");
- if (attempt == 3) {
- exit(0);
- }
- pw = "";
- goto s;
- }
- else if (ch == 8) {
- if (pw.length() > 0) {
- std::cout << "\b";
- pw.erase(pw.length() - 1);
- }
- }
- else {
- std::cout << "*";
- pw += ch;
- }
- }
- _getch();
- return 0;
- }
- void menu()
- {
- int option;
- std::system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t MENU \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t \t 1. View Boarder List \n";
- std::cout << "\t \t 2. Add Boarder \n";
- std::cout << "\t \t 3. Delete Boarder \n";
- std::cout << "\t \t 4. Search Boarder \n";
- std::cout << "\t \t 5. Edit Boarder \n";
- std::cout << "\t \t 6. Exit \n";
- std::cout << "\t ------------------------------------------------------ \n";
- std::cout << "\t Enter your choice: ";
- std::cin >> option;
- switch (option)
- {
- case 1:
- display_list();
- break;
- case 2:
- add();
- break;
- case 3:
- deletes();
- break;
- case 4:
- search();
- break;
- case 5:
- edit();
- break;
- case 6:
- exit(0);
- default:
- std::cout << "\t Invalid Input. Please try again! \n";
- std::cout << "\t ";
- }
- std::system("pause");
- menu();
- }
- void display_list()
- {
- std::system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t BOARDER LIST \n";
- std::cout << "\t ====================================================== \n";
- for (int i = 0;i < occupant_ptr; i++)
- {
- std::cout << "\t Boarder ID: " << dormer[i].b_id << "\n";
- std::cout << "\t Name: " << dormer[i].fname << ' ' << dormer[i].lname << "\n";
- std::cout << "\t Address: " << dormer[i].address << "\n";
- std::cout << "\t Contact no: " << dormer[i].contact << "\n";
- std::cout << "\t ------------------------------------------------------ \n";
- }
- std::cout << "\t ";
- std::system("pause");
- menu();
- }
- void add()
- {
- int i = occupant_ptr;
- std::system("cls");
- d:
- std::cout << "\t ====================================================== \n";
- std::cout << "\t ADD BOARDER \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t Enter Boarder ID: "; std::cin >> dormer[i].b_id;
- std::cout << "\t Enter Firstname: "; std::cin.ignore(); getline(cin, dormer[i].fname);
- std::cout << "\t Enter Lastname: "; getline(cin, dormer[i].lname);
- std::cout << "\t Enter Address: "; getline(cin, dormer[i].address);
- std::cout << "\t Enter Contact NO.: "; std::cin >> dormer[i].contact;
- std::cout << "\t ------------------------------------------------------ \n";
- occupant_ptr++;
- jump:
- std::cout << "\t Do you want to add another boarder? [Y/N:] ";
- std::cin >> yourchoice;
- if (yourchoice == "Y" || yourchoice == "y") {
- std::system("cls");
- add();
- }
- else if (yourchoice == "n" || yourchoice == "N") {
- menu();
- }
- else {
- std::cout << "\t Invalid input. Try again! \n" << "\t ";
- std::system("pause");
- goto jump;
- }
- }
- void show() {
- std::system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t BOARDER LIST \n";
- std::cout << "\t ====================================================== \n";
- for (int s = 0; s < occupant_ptr; s++)
- {
- std::cout << "\t Boarder ID: " << dormer[s].b_id << "\n";
- std::cout << "\t Name: " << dormer[s].fname << ' ' << dormer[s].lname << "\n";
- std::cout << "\t Address: " << dormer[s].address << "\n";
- std::cout << "\t Contact no: " << dormer[s].contact << "\n";
- std::cout << "\t ------------------------------------------------------ \n";
- }
- }
- void deletes() {
- show();
- string del, c; int count = 0, check = 0;
- std::cout << "\t Enter the ID boarder you want to delete ('0' to back): ";
- std::cin >> del;
- if (del == "0") {
- menu();
- }
- int i;
- for (i = 0;i <= occupant_ptr;i++)
- {
- if (dormer[i].b_id == del)
- {
- count++;
- check = i;
- }
- }
- if (count == 0) {
- std::cout << "\t The boarder you want to delete is not existing. \n" << "\t ";
- std::system("pause");
- deletes();
- }
- else {
- g:
- std::cout << "\t Are you sure you want to delete this boarder? [Y/N]: ";
- cin >> c;
- if (c == "Y" || c == "y") {
- for (i = 0;i <= occupant_ptr;i++)
- {
- if (i == check)
- {
- continue;
- }
- else
- if (i>check)
- {
- tempemp[i - 1] = dormer[i];
- }
- else
- {
- tempemp[i] = dormer[i];
- }
- }
- occupant_ptr--;
- for (i = 0;i <= occupant_ptr;i++)
- {
- dormer[i] = tempemp[i];
- }
- std::cout << "\t Successfully Deleted! \n";
- std::cout << "\t ";
- std::system("pause");
- menu();
- }
- else if (c == "N" || c == "n") {
- deletes();
- }
- else {
- std::cout << "\t Invalid input. \n";
- std::cout << "\t ";
- std::system("pause");
- goto g;
- }
- }
- }
- void edit()
- {
- int count = 0;
- ifstream boarder("boarder.txt");
- if (!boarder.eof())
- std::system("cls");
- string edt;
- std::system("cls");
- show();
- std::cout << "\t Enter the ID of boarder you want to edit('0' to back): ";
- std::cin >> edt;
- if (edt == "0"){
- menu();
- }
- for (int i = 0;i <= occupant_ptr - 1;i++)
- {
- if (dormer[i].b_id == edt)
- {
- std::system("cls");
- count++;
- }
- if (count == 0) {
- std::cout << "\t The boarder you want to edit is not existing. \n" << "\t ";
- std::system("pause");
- edit();
- }
- else {
- std::cout << "\t ====================================================== \n";
- std::cout << "\t EDIT INFORMATIONS \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t Boarder ID: " << dormer[i].b_id << "\n";
- std::cout << "\t Name: " << dormer[i].fname << ' ' << dormer[i].lname << "\n";
- std::cout << "\t Address: " << dormer[i].address << "\n";
- std::cout << "\t Contact no: " << dormer[i].contact << "\n";
- std::cout << "\t ------------------------------------------------------ \n";
- }
- }
- jump:
- std::cout << "\t Is this the boarder you want to edit? [Y/N]: ";
- std::cin >> choice;
- if (choice == "Y" || choice == "y") {
- edit_menu();
- }
- else if (choice == "N" || choice == "n") {
- edit();
- }
- else {
- std::cout << "\t Invalid input. Try again! \n";
- std::cout << "\t ";
- std::system("pause");
- goto jump;
- }
- }
- void edit_menu() {
- int option;
- std::system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t EDIT OPTIONS \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t 1. Edit Boarder ID \n";
- std::cout << "\t 2. Edit First Name \n";
- std::cout << "\t 3. Edit Last Name \n";
- std::cout << "\t 4. Edit Contact NO. \n";
- std::cout << "\t 5. Back \n";
- std::cout << "\t ------------------------------------------------------ \n";
- std::cout << "\t What do you want to edit?: ";
- std::cin >> option;
- for (int i = 0;i <= occupant_ptr ;i++)
- {
- switch (option)
- {
- case 1:
- id(i);
- break;
- case 2:
- edit_fname(i);
- break;
- case 3:
- editlastname(i);
- break;
- case 4:
- edit_contact(i);
- break;
- case 5:
- menu();
- break;
- default:
- std::cout << "\t Invalid input. \n";
- std::cout << "\t ";
- std::system("pause");
- std::system("cls");
- break;
- }
- }
- }
- void id(int i) {
- std::cout << "\t Enter new boarder id: ";
- cin.ignore(); getline(cin, dormer[i].b_id);
- std::cout << "\t Successfully Changed! \n";
- std::cout << "\t ";
- std::system("pause");
- menu();
- }
- void edit_fname(int i)
- {
- std::cout << "\t Enter new firstname: ";
- cin.ignore(); getline(cin, dormer[i].fname);
- std::cout << "\t Successfully Changed! \n";
- std::cout << "\t ";
- std::system("pause");
- menu();
- }
- void editlastname(int i)
- {
- std::cout << "\t Enter new lastname: ";
- cin.ignore(); getline(cin, dormer[i].lname);
- std::cout << "\t Successfully Changed! \n";
- std::cout << "\t ";
- std::system("pause");
- menu();
- }
- void edit_contact(int i)
- {
- std::cout << "\t Enter new contact no.: ";
- cin.ignore(); getline(cin, dormer[i].contact);
- std::cout << "\t Successfully Change! \n";
- std::cout << "\t ";
- std::system("pause");
- menu();
- }
- void search()
- {
- string srch; int count = 0;
- std::system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t SEARCH OPTIONS \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t 1. Search by ID \n";
- std::cout << "\t 2. Search by First name \n";
- std::cout << "\t 3. Search by Last name \n";
- std::cout << "\t 4. Back \n";
- std::cout << "\t ------------------------------------------------------ \n";
- std::cout << "\t Enter your choice: ";
- cin >> sss;
- switch (sss) {
- case 1:
- system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t SEARCH BY ID \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t Enter the id boarder you want to search('0' to back): ";
- cin >> srch;
- if (srch == "0") {
- search();
- }
- for (int i = 0;i <= occupant_ptr - 1;i++)
- {
- if (dormer[i].b_id == srch)
- {
- count++;
- system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t BOARDER FOUND \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t Boarder ID: " << dormer[i].b_id << "\n";
- std::cout << "\t Name: " << dormer[i].fname << ' ' << dormer[i].lname << "\n";
- std::cout << "\t Address: " << dormer[i].address << "\n";
- std::cout << "\t Contact no: " << dormer[i].contact << "\n";
- std::cout << "\t ------------------------------------------------------ \n";
- }
- }
- break;
- case 2:
- system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t SEARCH BY FIRST NAME \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t Enter the first name of boarder you want to search('0' to back): ";
- cin.ignore(); getline(cin, srch);
- if (srch == "0") {
- search();
- }
- for (int i = 0;i <= occupant_ptr - 1;i++)
- {
- if (dormer[i].fname == srch)
- {
- count++;
- system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t BOARDER FOUND \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t Boarder ID: " << dormer[i].b_id << "\n";
- std::cout << "\t Name: " << dormer[i].fname << ' ' << dormer[i].lname << "\n";
- std::cout << "\t Address: " << dormer[i].address << "\n";
- std::cout << "\t Contact no: " << dormer[i].contact << "\n";
- std::cout << "\t ------------------------------------------------------ \n";
- }
- }
- break;
- case 3:
- system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t SEARCH BY LAST NAME \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t Enter the last name of boarder you want to search('0' to back): ";
- cin.ignore(); getline(cin, srch);
- if (srch == "0") {
- search();
- }
- for (int i = 0;i <= occupant_ptr - 1;i++)
- {
- if (dormer[i].lname == srch)
- {
- count++;
- system("cls");
- std::cout << "\t ====================================================== \n";
- std::cout << "\t BOARDER FOUND \n";
- std::cout << "\t ====================================================== \n";
- std::cout << "\t Boarder ID: " << dormer[i].b_id << "\n";
- std::cout << "\t Name: " << dormer[i].fname << ' ' << dormer[i].lname << "\n";
- std::cout << "\t Address: " << dormer[i].address << "\n";
- std::cout << "\t Contact no: " << dormer[i].contact << "\n";
- std::cout << "\t ------------------------------------------------------ \n";
- }
- }
- break;
- case 4:
- menu();
- break;
- default:
- std::cout << "\t Invalid input. Try again! \n";
- std::cout << "\t ";
- std::system("pause");
- search();
- }
- if (count == 0) {
- std::cout << "\t Boarder is not existing. \n";
- std::cout << "\t ";
- std::system("pause");
- search();
- }
- std::cout << "\t ";
- std::system("pause");
- search();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement