Code://////////////////// //Daniel Pritchett// // COP 1220 // // 11-2-02 // //////////////////// /* This program will first ask the user for the term, then it will present 3 choices to pick from. Either imput the information to a file, output the information from the first file to a report, or quit. This all is looped so that when the user is finished with one choice, they will be able to re-chose again. */ #include <iostream> #include <fstream> #include <string> #include <iomanip> using namespace std; void OutputInfo(ofstream & outFile1, string & SSN, string & LastName, string & FirstName, string & semester, string & Email, int & choice, int & students, char cRefNumber [], char cRefNumber1[], char cRefNumber2[], char cRefNumber3[]); void ReportOutput(ifstream & InFile, ofstream & outFile2, string SSN, string LastName, string FirstName, string & semester, string & Email, int choice, char cRefNumber []); enum Selections{OutputData = 1, OutputReport, Quit}; int main () { string SSN, LastName, FirstName, semester, Email ; int choice, students; char cRefNumber[10]; char cRefNumber1[10] = "111111"; char cRefNumber2[10] = "222222"; char cRefNumber3[10] = "333333"; ofstream outFile1; ofstream outFile2; ifstream inFile; outFile1.open("a:sdntnfo.dat", ios::out); inFile.open("a:sdntnfo.dat", ios::in); outFile2.open("a:Record.txt", ios::out); cout << "Please enter the Class term: "; cin >> semester; //heading outFile2 << setw(6) << "Introduction to C" << setw(5) <<"\nTerm:" << semester; //loops so that the user can re-chose what operation they would like to do. do { cout << "\nWould you like to\n1: Enter Student information\n" <<"2: Read from file and create report" << "\n3: Quit\n"; cin >> choice; switch(choice) { //outputs the first file, student database case OutputData: OutputInfo(outFile1, SSN, LastName, FirstName, semester, Email, choice, students, cRefNumber, cRefNumber1, cRefNumber2, cRefNumber3); break; //generates reference number organized file case OutputReport: ReportOutput(inFile, outFile2, SSN, LastName, FirstName, semester, Email, choice, cRefNumber); break; //quits case Quit: exit(0); //default, exits switch and displays switch options default: cout << "\nYou did not enter a valid choise, please enter correct choice!"; break; } } while(choice != 3); //end of do...while statemet outFile1.close(); inFile.close(); outFile2.close(); return 0; } void OutputInfo(ofstream & outFile1, string & SSN, string & LastName, string & FirstName, string & semester, string & Email, int & choice, int & students, char cRefNumber [], char cRefNumber1[], char cRefNumber2[], char cRefNumber3[]) { cout << "\nHow many students are you entering?"; cin >> students; while(students != 0) { cout << "\nEnter the student's nine digit ID number: "; cin >> SSN; outFile1 << SSN; cout << "\nEnter the student's First and Last Name: "; cin >> FirstName >> LastName; outFile1 << " " << LastName << " " << FirstName; cout << "\nEnter the student's [email protected]: "; cin >> Email; outFile1 << " " << Email; cout << "\nEnter the student's Reference number: " <<"(note, only 111111, 222222, and 333333 are valid.\n)"; cin >> cRefNumber; outFile1 << " " << cRefNumber << endl; students--; } } void ReportOutput(ifstream & inFile, ofstream & outFile2, string SSN, string LastName, string FirstName, string & semester, string & Email, int choice, char cRefNumber []) { if (!inFile) { cerr << "File could not be opened" << endl; exit(1); } if (inFile==NULL) { cout<<"The file does not exist"; exit(0); } outFile2 << "\n\n\nSSN" << right << setw(20) << right << setw(20) << "Last" << right << setw(20) << "First " << right << setw(25) << "[email protected]" << setw(20) << "Reference Number\n"; while (!inFile.eof()) { inFile >> SSN >> LastName >> FirstName >> Email >> cRefNumber; outFile2 << right << SSN << right << setw(17) << LastName << right << setw(16) << FirstName << right << setw(25) << Email << setw(20) << cRefNumber[8]<< cRefNumber[7] << cRefNumber[6] << cRefNumber[5]<< endl; } }