All pastes #28692 Raw Edit

Someone

public text v1 · immutable
#28692 ·published 2005-11-14 20:04 UTC
rendered paste body
                                                                                                                                                                                                                                                               
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

using namespace std;

struct employee
{
    string Name;
    int ID;
    char Salaried;
    float PayRate;
    string Department;
    string Title;
};

int main(void);
void menuStart(void);
int menuChoice(void);

void readEmployeeFile(employee personnel[]);  
void sortEmployee(employee personnel[], int);
void sortByIdDepart(employee personnel[], int);

void searchEmployeeByID(employee personnel[]);
void displayEmployeeByElement(employee personnel[], int element);
void printOut(employee personnel[]);

void test(employee personnel[]);

int main()
{
    menuStart();
}

void menuStart(void)
{
    int choice;
    struct employee personnel[65];
    readEmployeeFile(personnel);
    
    while(choice != 7)			
	{
    	choice = menuChoice();
        switch(choice)			//switch statement for menu items
        {
            case 1:
                searchEmployeeByID(personnel);
                break;
            case 2:
                test(personnel);
                break;
            case 3:
                break;
            case 4:
            	break;
            case 5:
                break;
            case 6:
            	break;
           	case 7:
                break;
            default:
            	cout << "PLEASE CHOOSE FROM OPTIONS 1-7." << endl << endl;
            	break;
        }
    }
    
    system("pause");
    exit(0);
}

/*
 * Menu
 */
int menuChoice(void)		
{
	int choice;
    cout << setw(80) << setfill('*') << "" << endl;
	cout << "1. Search for an employee by their ID number." << endl;
	cout << "2. Display employees' names according to salary." << endl;
	cout << "3. Group employees by department." << endl;
	cout << "4. Sort data by ascending order of employee ID numbers." << endl;
	cout << "5. List of employees sorted by ID # and department." << endl;
	cout << "6. Display employees, by name, of a particular title." << endl;
	cout << "7. Quit and Print." << endl << endl;
    cout << setw(80) << setfill('*') << "" << endl;
	cout << "Choose 1-7: ";
	cin >> choice;
	cout << endl;
	return choice;
}

/*
 * Reads data from "empdata.txt" into an array of struct
 */
void readEmployeeFile(employee personnel[])
{
    string employeeName;
    int employeeID;
    char employeeSalaried;
    float employeePayRate = 0;
    string employeeDepartment;
    string employeeTitle;
    
    ifstream inFile;
    inFile.open("empdata.txt");
    if (!inFile)
    {
        cout << "Error: Cannot open \"empdata.txt\" for input." << endl;
        return;
    }
    
    int i = 0;
    while(inFile.good())
    {
        getline(inFile, employeeName);
        cout << employeeName << endl;
        personnel[i].Name = employeeName;
        
        inFile >> employeeID;
        cout << employeeID << endl;
        personnel[i].ID = employeeID;
        
		inFile >> employeeSalaried;
		cout << employeeSalaried << endl;
		cout << personnel[i].Salaried << endl;
		
		employeePayRate = inFile.get();
		cout << employeePayRate << endl;
		personnel[i].PayRate = employeePayRate;
		
		getline(inFile, employeeDepartment);
		cout << employeeDepartment << endl;
		personnel[i].Department = employeeDepartment;
		
		getline(inFile, employeeTitle);
		cout << employeeTitle << endl;
		personnel[i].Title = employeeTitle;
		
		i++;	
	}
	
	cout << "sizeof(personnel) is: " << sizeof(personnel) << endl;
	
	return;
}

void test(employee personnel[])
{
     displayEmployeeByElement(personnel, 0);
     displayEmployeeByElement(personnel, 1);
     displayEmployeeByElement(personnel, 2);
//     for(int i = 0; i < 65; i++)
//     {
//         displayEmployeeByElement(personnel, i);
//     }
}

void searchEmployeeByID(employee personnel[])
{
     cout << "Enter the ID of the employee you wish to view: ";
     int requestedID;
     cin >> requestedID;
     
     for (int i = 0; i < sizeof(personnel); i++)
     {
         if (personnel[i].ID == requestedID)
         {
             cout << "Match Found." << endl;
             displayEmployeeByElement(personnel, requestedID);
         }
         else
             cout << "Match NOT Found." << endl;
     }
     
     return;             
}

/*
 * Sorts employees in Ascending order
 */
void sortEmployee(employee personnel[],int)
{
    ;
}

/*
 * Sorts employees by ID # and department;
 */
void sortByIdDepart(employee personnel[],int)
{
    ;
}

/*
 * Displays employees by name, of a particular title 
 */ 
void displayEmployeeByElement(employee personnel[], int element)
{
     cout << personnel[element].Name << endl;
     cout << personnel[element].ID << endl;
     cout << personnel[element].Salaried << endl;
     cout << personnel[element].PayRate << endl;
     cout << personnel[element].Department << endl;
     cout << personnel[element].Title << endl;
}

/*
 * Prints to output file "empoutput.txt"
 */
void printOut(employee personnel[])
{
     ;
}