Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
UserInterface.cpp
Upload User: gtl068a
Upload Date: 2007-01-25
Package Size: 233k
Code Size: 2k
Category:
Visual C++ Books
Development Platform:
Visual C++
- // UserInterface.cpp
- #include <iostream>
- #include <stdexcept>
- #include <string>
- #include "Database.h"
- using namespace std;
- using namespace Records;
- int displayMenu();
- void doHire(Database& inDB);
- void doFire(Database& inDB);
- void doPromote(Database& inDB);
- void doDemote(Database& inDB);
- int main(int argc, char** argv)
- {
- Database employeeDB;
- bool done = false;
- while (!done) {
- int selection = displayMenu();
- switch (selection) {
- case 1:
- doHire(employeeDB);
- break;
- case 2:
- doFire(employeeDB);
- break;
- case 3:
- doPromote(employeeDB);
- break;
- case 4:
- employeeDB.displayAll();
- break;
- case 5:
- employeeDB.displayCurrent();
- break;
- case 6:
- employeeDB.displayFormer();
- break;
- case 0:
- done = true;
- break;
- default:
- cerr << "Unknown command." << endl;
- }
- }
- }
- int displayMenu()
- {
- int selection;
- cout << endl;
- cout << "Employee Database" << endl;
- cout << "-----------------" << endl;
- cout << "1) Hire a new employee" << endl;
- cout << "2) Fire an employee" << endl;
- cout << "3) Promote an employee" << endl;
- cout << "4) List all employees" << endl;
- cout << "5) List all current employees" << endl;
- cout << "6) List all previous employees" << endl;
- cout << "0) Quit" << endl;
- cout << endl;
- cout << "---> ";
- cin >> selection;
- return selection;
- }
- void doHire(Database& inDB)
- {
- string firstName;
- string lastName;
- cout << "First name? ";
- cin >> firstName;
- cout << "Last name? ";
- cin >> lastName;
- try {
- inDB.addEmployee(firstName, lastName);
- } catch (std::exception ex) {
- cerr << "Unable to add new employee!" << endl;
- }
- }
- void doFire(Database& inDB)
- {
- int employeeNumber;
- cout << "Employee number? ";
- cin >> employeeNumber;
- try {
- Employee& emp = inDB.getEmployee(employeeNumber);
- emp.fire();
- cout << "Employee " << employeeNumber << " has been terminated." << endl;
- } catch (std::exception ex) {
- cerr << "Unable to terminate employee!" << endl;
- }
- }
- void doPromote(Database& inDB)
- {
- int employeeNumber;
- int raiseAmount;
- cout << "Employee number? ";
- cin >> employeeNumber;
- cout << "How much of a raise? ";
- cin >> raiseAmount;
- try {
- Employee& emp = inDB.getEmployee(employeeNumber);
- emp.promote(raiseAmount);
- } catch (...) {
- cerr << "Unable to promote employee!" << endl;
- }
- }