#include <iostream> #include <fstream> #include <string> #include <iomanip> using namespace std; int values=0; // global variable to hold number of entries in the arrays struct Student { int studentID; int totalCredits; string gpa; string major; string department; string college; }; void ReadData (Student[]); void ShowData (Student[]); void StopPrint (Student[]); void DisplayMenu(int&, int&); void FindStud(Student[]); void AddStud(Student[], int); void DeleteStud(int[], int); bool found (int[], int, int&); int main() { Student info[50]; int option; int id; ReadData (info); ShowData (info); do { option=0; DisplayMenu(option, id); if (option == 1) FindStud (info); else if (option == 2) AddStud (info, id); else if (option == 3) DeleteStud(info, id); } while (option != 4); StopPrint (info); return 0; } bool found (Student studentID, int id, int& loc) { bool flag=false; for (loc=0; loc<values; loc++) if (info[loc].studentID==id) { flag=true; break; } return flag; } void DeleteStud(Student[], int id) { int n; if (found (sid, id, n)) { cout<<"Student with id= "<<id<<" has been deleted"<<endl; sid[n]=0; } else cout<<"Student with id = "<<id<<" was not found."<<endl; } void AddStud (Student[]) { int n; if (!found(sid, id, n)) { cout<<endl; sid[values]=id; cout<<"Enter Student First Name:"; cin>>fname[values]; cout<<"Enter Student Major:"; cin>>major[values]; cout<<"Enter Student Gpa:"; cin>>gpa[values]; cout<<"Enter Student Credits:"; cin>>hrs[values]; } else cout<<"Student with id = "<<id<<" already exists."<<endl; values++; } void FindStud (Student[]) { int n; if (found(sid, id, n)) { cout<<endl; cout<<setw(20)<<"Student Id:"<<setw(20)<<sid[n]<<endl; cout<<setw(20)<<"First Name:"<<setw(20)<<fname[n]<<endl; cout<<setw(20)<<"Major:"<<setw(20)<<major[n]<<endl; cout<<setw(20)<<"Gpa:"<<setw(20)<<gpa[n]<<endl; cout<<setw(20)<<"Total Credits:"<<setw(20)<<hrs[n]<<endl; } else cout<<"Student with id = "<<id<<" does not exist."<<endl; } void DisplayMenu(int& option, int& id) { cout<<"\n\nStudent Information System"<<endl; cout<<" Comp 2102, Assignment 2"<<endl; cout<<" Fall 2009"<<endl; cout<<"1. Find Student Data"<<endl; cout<<"2. Add New Student"<<endl; cout<<"3. Delete Student Data"<<endl; cout<<"4. Stop and Print Report"<<endl; cout<<"\nEnter your option: "; cin>>option; if (option>=1 && option<4) { cout<<"Enter the id: "; cin>>id; } else if (option == 4) cout<<"Thank you. Here is the final report\n"<<endl; else { cout<<"Option is not valid. Please re-enter your new option again\n"<<endl; cin.clear(); cin.ignore(200, '\n'); } } void ReadData (Student[]) { ifstream indata; indata.open ("P2InputData.dat"); indata>>sid[values]>>fname[values]>>major[values]>>gpa[values]>>hrs[values]; while (indata) { values++; indata>>sid[values]>>fname[values]>>major[values]>>gpa[values]>>hrs[values]; } indata.close(); } void ShowData (Student[]) { int n=0; while (n < values) { cout<<sid[n]<<setw(10)<<fname[n]<<setw(10)<<major[n]<<setw(6)<<gpa[n]<<setw(6)<<hrs[n]<<endl; n++; } } // I am prinint the final results on the screen void StopPrint (Student[]) { int n=0; while (n < values) { if (sid[n] > 0) cout<<sid[n]<<setw(10)<<fname[n]<<setw(10)<<major[n]<<setw(6)<<gpa[n]<<setw(6)<<hrs[n]<<endl; n++; } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)