diff --git a/Interface.cpp b/Interface.cpp index c38f7cb..7a1e624 100644 --- a/Interface.cpp +++ b/Interface.cpp @@ -30,13 +30,13 @@ void interface(vector& spots) { } else if(query_role_customer(id)==0){ interface_member(spots, c); } else { - cout << "ERROR ROLE_INVALID.."; + cout << "ERROR ROLE_INVALID!"; } } void interface_member(vector& spots,Customer& c) { - cout << "Logged in succesfully\n"; - cout << "select an option\n [1] Parking options\n[2]monthy report\n"; + cout << "\nLogged in succesfully!\n"; + cout << "select an option:\n [1] Parking\n[2]Monthly report\n"; int option; cin >> option; cin.ignore(10000, '\n'); @@ -56,60 +56,116 @@ void interface_member(vector& spots,Customer& c) { } void interface_admin(vector& spots) { - cout << "Welcome to the admin interface. It is not completely ready yet.\n"; - cout << "[1] See monthly report of ALL parking spots\n"; - cout << "[2] See weekly report of ALL parking spots\n"; - cout << "[3] See monthly report of a specific parking spot\n"; - cout << "[4] See weekly report of a specific parking spot\n"; - cout << "[5] See current status of parking spots\n"; - cout << "[6] Make new customer\n"; - cout << "[7] Make new admin\n"; - cout << "[8] Make new parking spot\n"; - cout << "option[1-8]:"; + cout << "\nWelcome to the admin interface.\n"; + cout << "\n[1] Reports & analytics"; + cout << "\n[2] Parking spots"; + cout << "\n[3] Make new user"; + cout << "\nEnter option number: "; int option; cin >> option; cin.ignore(10000, '\n'); switch (option) { case 1: { - reports_from_allparkspots(); - break; + cout << "[1] See monthly report of ALL parking spots\n"; + cout << "[2] See weekly report of ALL parking spots\n"; + cout << "[3] See monthly report of a specific parking spot\n"; + cout << "[4] See weekly report of a specific parking spot\n"; + /*cout << "[5] See monthly report of a specific month\n"; + cout << "[6] See weekly report of a specific week\n"; */ + cout << "Enter option number: "; + int option_1; + cin >> option_1; + cin.ignore(10000, '\n'); + switch (option_1) { + case 1: { + reports_from_allparkspots(); + break; + } + case 2: { + reports_from_allparkspots(true); + break; + } + case 3: { + cout << "Which parking spot would you like a report on?\n"; + cout << "Parking spot ID: "; + int spotID; + cin >> spotID; + cin.ignore(10000, '\n'); + reports_from_parkspot(spotID); + break; + } + case 4: { + cout << "Which parking spot would you like a report on?\n"; + cout << "Parking spot ID: "; + int spotID; + cin >> spotID; + cin.ignore(10000, '\n'); + reports_from_parkspot(spotID, true); + break; + } + /*case 5: { + cout << "Which month would you like a report on?\n"; + cout << "[1] January, [2] February, [3] March, [4] April, [5] May," + "\n[6] June, [7] July, [8] August, [9] September, [10] October, [11] November, [12] December\n"; + cout << "Enter month number: "; + int month; + cin >> month; + cin.ignore(10000, '\n'); + report_from_month(month); + break; + } + case 6: { + cout << "Which week would you like a report on?\n"; + cout << "Enter week number: "; + int week; + cin >> week; + cin.ignore(10000, '\n'); + report_from_week(week); + break; + }*/ + default: + break; + } } case 2: { - reports_from_allparkspots(true); - break; + cout << "[1] See current status of parking spots\n"; + cout << "[2] Make new parking spot\n"; + cout << "Enter option number: "; + int option_2; + cin >> option_2; + cin.ignore(10000, '\n'); + switch (option_2) { + case 1: { + current_status_parkspots(spots); + break; + } + case 2: { + new_parkspot(spots); + } + default: + break; + } } case 3: { - cout << "Which parking spot would you like a report on?\nID:"; - int spotid; - cin >> spotid; + cout << "[1] Make new customer\n"; + cout << "[2] Make new admin\n"; + cout << "Enter option number: "; + int option_3; + cin >> option_3; cin.ignore(10000, '\n'); - reports_from_parkspot(spotid); - break; + switch (option_3) { + case 1: { + new_customer(); + break; + } + case 2: { + new_admin(); + break; + } + default: + break; + } } - case 4: { - cout << "Which parking spot would you like a report on?\nID:"; - int spotid; - cin >> spotid; - cin.ignore(10000, '\n'); - reports_from_parkspot(spotid, true); - break; - } - case 5: { - current_status_parkspots(spots); - break; - } - case 6: { - new_customer(); - break; - } - case 7: { - new_admin(); - } - case 8: { - new_parkspot(spots); - break; - } - default: break; } @@ -118,30 +174,29 @@ void interface_admin(vector& spots) { // --------- individual things. void park(Customer& c, vector& spots) { - cout << "You have selected parking option"; + cout << "You have selected parking option.\n"; if (!(c.parked())) { - cout << "The following spots[which can fit your vehicle] are " - "available: "; + cout << "The following spots fit your vehicle and are available: "; for (Park_spot i : spots) { if (i.v_type == c.vehicle) { cout << i.id << ", "; } } - cout << "where do you want to park?"; - int parkid; - cin >> parkid; + cout << "\nWhere do you want to park?"; + int parkID; + cin >> parkID; cin.ignore(10000, '\n'); for (Park_spot& i : spots) { - if (i.id == parkid) { + if (i.id == parkID) { i.clock(c); - cout << "You have parked sucessfully"; + cout << "You have parked sucessfully!"; } } } else { cout << "You are parked at spot " << c.parked_at() - << ", do you want to clock out?\n enter [1] for yes and [0] for no"; + << ", do you want to clock out?\n[1] yes\n[2] no"; int answer = 0; cin >> answer; cin.ignore(10000, '\n'); @@ -149,7 +204,7 @@ void park(Customer& c, vector& spots) { query_parkspot_with_id(c.parked_at(), spots).clock(c); cout << "You have sucessfully clocked out."; } else { - cout << "OK, have a nice day"; + cout << "OK, have a nice day."; //exit to customer login } } } @@ -160,43 +215,43 @@ void new_customer() { string password; string telephone; int role = 0; - cout << "What's the name of the customer? "; + cout << "\nWhat's the name of the customer? "; std::getline(cin, name); - cout << "What's the vehicle type? [1]twoweeler, [2] fourweeler: "; + cout << "\nWhat's the vehicle type? \n[1]twoweeler\n[2] fourweeler\n"; cin >> vtype; cin.ignore(10000, '\n'); - cout << "What's the telephone number? "; + cout << "What's the telephone number? +"; std::getline(cin, telephone); - cout << "What's the password?"; + cout << "\nWhat's the password? "; std::getline(cin, password); Customer newcustomer{name, password, Vehicle_type(vtype), telephone, role}; - cout << "New customer sucessfully created\n"; + cout << "\nNew customer sucessfully created\n"; newcustomer.update_db(); } void new_admin() { - int vtype = 2; //revision required! + int vtype = 2; //revision required! Needs to be set to NULL string name; string password; string telephone; int role = 1; - cout << "What's the name of the admin? "; + cout << "\nWhat's the name of the admin? "; std::getline(cin, name); - cout << "What's the telephone number? "; + cout << "\nWhat's the telephone number? +"; std::getline(cin, telephone); - cout << "What's the password?"; + cout << "\nWhat's the password?"; std::getline(cin, password); Customer newcustomer{name, password, Vehicle_type(vtype), telephone, role}; - cout << "New customer sucessfully created\n"; + cout << "\nNew customer sucessfully created\n"; newcustomer.update_db(); } void new_parkspot(vector& spots) { - cout << "What type of parking spot? [1] twoweeler, [2] fourweeler: "; + cout << "What type of parking spot? \n[1] twoweeler\n[2] fourweeler\n"; int vtype; cin >> vtype; cin.ignore(10000, '\n'); Park_spot newspot{Vehicle_type(vtype)}; spots.push_back(newspot); - cout << "new parking spot sucessfully created.\n"; + cout << "New parking spot sucessfully created.\n"; }