Untitled
unknown
plain_text
3 years ago
5.0 kB
5
Indexable
#include <iostream> using namespace std; #define MAX_Number 9999 #define MIN_Number 1000 #define div 100000000 void identification(); void Cheking_ID(); bool is_safe(char c); int Menu(); void Checking_Credit(); void Cheking_Age(); bool check_email(); int main() { int counter = 0; int option = 0; int serviceOption = 0; identification(); Cheking_ID(); while (option != 4) { ++counter; option = Menu(); switch (option) { case 1: // Reading last name. // reading age. // last 4 digits for credit card. break; case 2: // print list to select what info required. serviceOption; // new minue function switch (serviceOption) { case a: //how much i need to pay case b: //know more about u case c: //speak with real human case d: //return to the main menu } break; case 3: // Contact customer support. // Check email cout << "Please leave your email to contact you later.\n"; cout << "Enter your email:\n"; if (check_email()) cout << "We are sorry to hear you are unhappy. We will contact you in the next (3) hours.\n"; else cout << "Email not in correct format, please retry to enter email.\n"; break; default: if (counter <= 3) cout << "Please retry\n"; else cout << "Please come back only when you need something. Have a good day!\n"; } } // cout << ""; Checking_Credit(); Cheking_Age(); return 0; } void identification() { cout << "Enter name and press '.' at the end:" << endl; bool strValid = false; while (!strValid) { char inputChar = getc(stdin); if (inputChar < 'A' || inputChar>'Z') { continue; } bool scanningActive = true; while (scanningActive) { char inputChar = getc(stdin); if (inputChar == '.') { strValid = true; break; } if (inputChar < 'a' || inputChar>'z') { break; } } } } void Cheking_ID() { long id; while (true) { cout << "Enter id: "; cin >> id; cin.clear(); cin.ignore(1000, '\n'); unsigned int check = id / div; if (id / div > 0 && id / div < 10) break; cout << "Please provide correct id:" << endl; } } int Menu() { int select; cout << "Thank you for choosing SCE Internet Company! How can we help you?" << endl; cout << "" << endl; cout << "\n\t\tMENU :" << endl; cout << "Press 1\nI want to join your company as a new client." << endl; cout << "" << endl; cout << "Press 2\nI want to find out some details about my already existing account." << endl; cout << "" << endl; cout << "Press 3\nI want to leave your company." << endl; cout << "" << endl; cout << "Press 4\nI want to exit the chat." << endl; cin >> select; return select; } void second_Menu() { int Select; cout << "What information are you after?" << endl; cout << "" << endl; cout << "\n\t\tMENU :" << endl; cout << "Press a\nI would like to know how much I need to pay this month." << endl; cout << "" << endl; cout << "Press b\nI would like to know more about you." << endl; cout << "" << endl; cout << "Press c\nI would like to speak with a real human." << endl; cout << "" << endl; cout << "Press d\nI want to return to the main menu." << endl; cin >> Select; return Select; } void Checking_Credit() { int Card_NUM = 0; bool flag = true; cout << "Enter 4 last number of your card:" << endl; cin >> Card_NUM; while (Card_NUM > 9999 || Card_NUM < 1000) { flag = false; if (flag == false) { cout << "Error! Please try again:" << endl; cin >> Card_NUM; } } cout << "Correct" << endl; } void Cheking_Age() { int age = 0; bool flag = 0; cout << "Enter your age:" << endl; cin >> age; while (age > 120 || age < 18) { flag == false; if (flag == false) { cout << "Your age is incorrect, Please try again:" << endl; cin >> age; } } cout << "Correct" << endl; } bool is_safe(char c) { if (c <= '9' && c >= '0') return true; if (c >= 'a' && c <= 'z') return true; if (c >= 'A' && c <= 'Z') return true; if (c == '_') return true; return false; } bool check_email() { // @ flag bool domin_flag = false; // Dot flag bool dot_flag = false; // Bad Email bool bad_email = false; // Safe chars (a-zA-Z 0-9 _ .. ) bool safe_char = false; // Input char char input; // track prevous character. char last_seen = '\0'; do { cin >> input; if (!is_safe(input)) { // Dot case if(input =='.') if (last_seen == '.') { bad_email = true; break; } // @ case if (domin_flag) { bad_email = true; break; } else domin_flag = true; // Space case if (input == ' ') break; } last_seen = input; } while (input != ' '); return !bad_email; }
Editor is loading...