Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////myApp.cpp
- #include <iostream>
- #include <string>
- #include <vector>
- #include <iomanip>
- #include "course.h"
- #include "utils.h"
- using namespace std;
- char menu();
- int main() {
- vector<courseType> list;
- readData(list);
- char ch = 'x';
- do {
- cout << endl;
- ch = menu();
- switch (ch) {
- case 'l':
- // function handler
- doDisplay(list);
- break;
- case 'v':
- doView(list);
- break;
- case 'a':
- doAdd(list);
- break;
- case 'e':
- doEdit(list);
- break;
- case 'd':
- doDelete(list);
- break;
- default:
- cout << "Please enter valid choice" << endl;
- }
- } while (ch != 'x');
- cout << "Exit the program" << endl;
- return 0; // exit the program successfully
- }
- /**
- * Display application menu
- */
- char menu() {
- cout << "Course Menu" << endl;
- cout << "=====================" << endl;
- cout << "l - Display list of courses" << endl;
- cout << "v - View course details" << endl;
- cout << "a - Add a course" << endl;
- cout << "e - Edit a course" << endl;
- cout << "d - Delete a course" << endl;
- cout << "x - Exit program" << endl << endl;
- cout << "Enter choice: ";
- char ch;
- cin >> ch;
- cout << endl;
- return ch;
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////courseImp.cpp
- #include <string>
- #include "course.h"
- #include <iostream>
- using namespace std;
- courseType::courseType() {
- term = "";
- year = 0.0;
- startDate = "";
- endDate = "";
- courseName = "";
- section = "";
- classID = 0.0;
- meetingDays = "";
- location = "";
- meetingInfo = "";
- instructor = "";
- units = 0.0;
- }
- courseType::~courseType() {
- }
- //List of Acessor and Getter Methods For Each Variable
- void courseType::setTerm(string term) {
- this ->term = term;;
- }
- string courseType::getTerm() {
- return term;
- }
- void courseType::setYear(string temp) {
- this ->temp = temp;
- }
- string courseType::getYear() {
- return temp;
- }
- void courseType::setStart(string startDate) {
- this ->startDate = startDate;
- }
- string courseType::getStart() {
- return startDate;
- }
- void courseType::setEnd(string endDate) {
- this ->endDate = endDate;
- }
- string courseType::getEnd() {
- return endDate;
- }
- void courseType::setName(string courseName) {
- this ->courseName = courseName;
- }
- string courseType::getName() {
- return courseName;
- }
- void courseType::setSection(string section) {
- this ->section = section;
- }
- string courseType::getSection() {
- return section;
- }
- void courseType::setID(string tempC) {
- this->tempC = tempC;
- }
- string courseType::getID() {
- return tempC;
- }
- void courseType::setDays(string meetingDays) {
- this ->meetingDays = meetingDays;;
- }
- string courseType::getDays() {
- return meetingDays;
- }
- void courseType::setLocation(string location) {
- this ->location = location;
- }
- string courseType::getLocation() {
- return location;
- }
- void courseType::setInfo(string meetingInfo) {
- this ->meetingInfo = meetingInfo;
- }
- string courseType::getInfo() {
- return meetingInfo;
- }
- void courseType::setInstructor(string instructor) {
- this ->instructor = instructor;
- }
- string courseType::getInstructor() {
- return instructor;
- }
- void courseType::setUnits(string tempU) {
- this ->tempU = tempU;
- }
- string courseType::getUnits() {
- return tempU;
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////utils.cpp
- #include <iostream>
- #include <iomanip>
- #include "utils.h"
- #include "course.h"
- #include <cstdlib>
- #include <iostream>
- #include <utility>
- #include <string>
- #include <fstream>
- #include <vector>
- #include <iterator>
- #include <algorithm>
- using namespace std;
- //Function Dislays list of Courses
- void doDisplay(vector<courseType>& list) {
- cout << left << setw(10) << "Course List" << endl;
- cout << "==============================" << endl;
- for(int i = 0; i < list.size(); i++){
- cout << left << setw(10) << list[i].getName() << "" << endl << endl;
- }
- }
- //Function views individual course
- void doView(vector<courseType>& list) {
- int chv = 0;
- for(int i = 0; i < list.size(); i++){
- cout << i+1 << ". " << list[i].getName() << "" << endl << endl;
- }
- cout << "Please choose a course you want to view: ";
- cin >> chv;
- cout << endl;
- if(chv<list.size()+1)
- {
- cout << left << setw(10) << "Term" << setw(10) << "Year"
- << setw(15) << "Start Date" << setw(15) << "End Date"
- << setw(35) <<"Course Name" << setw(15) << "Section"
- << setw(12) << "Class ID" << setw(17) << "Meeting Days"
- << setw(15) << "Location" << setw(20) << "Meeting Info"
- << setw(15) << "Instructor" << "Units" << endl;
- cout << "=============================================================================================";
- cout << "=============================================================================================" << endl;
- chv=chv-1;
- cout << left << setw(10) << list[chv].getTerm() << "" << setw(10) << list[chv].getYear() <<
- "" << setw(15) << list[chv].getStart() << "" << setw(15) << list[chv].getEnd() << "" <<
- setw(35) << list[chv].getName() << "" << setw(15) << list[chv].getSection() << "" <<
- setw(15) << list[chv].getID() << "" << setw(15) << list[chv].getDays() << "" <<
- setw(17) << list[chv].getLocation() << "" << setw(20) << list[chv].getInfo() << "" <<
- setw(15) << list[chv].getInstructor() << "" << setw(10) << list[chv].getUnits() << "" << endl;
- }
- }
- //Function Adds Courses
- void doAdd(vector<courseType>& list) {
- char choice;
- char delim = ',';
- string term = "";
- float year = 0.0;
- string start = "";
- string end = "";
- string name = " ";
- string section = "";
- float id = 0.0;
- string days = "";
- string location = "";
- string info = "";
- string instructor = "";
- float units = 0.0;
- ofstream outMyStream (FILE_NAME, ios::app);
- do {
- cout << "Enter term: " ;
- cin.ignore();
- getline(cin, term);
- cout << "Enter year: ";
- cin >> year;
- cin.ignore();
- cout << "Enter start date: ";
- getline(cin, start);
- cout << "Enter end date: ";
- getline(cin, end);
- cout << "Enter course name: ";
- getline(cin, name);
- cout << "Enter course section: ";
- getline(cin, section);
- cout << "Enter course ID: ";
- cin >> id;
- cin.ignore();
- cout << "Enter meeting Days : ";
- getline(cin, days);
- cout << "Enter meeting location: ";
- getline(cin, location);
- cout << "Enter meeting information: ";
- getline(cin, info);
- cout << "Enter instructor name: ";
- getline(cin, instructor);
- cout << "Enter units: ";
- cin >> units;
- cin.ignore();
- outMyStream << term << delim << year << delim << start << delim << end << delim << name << delim << section << delim
- << id << delim << days << delim << location << delim << info << delim << instructor << delim << units << endl;
- cout << "\nEnter another Record? (Y/N) ";
- cin >> choice;
- if (choice != 'Y' and choice != 'y' and choice != 'N' and choice != 'n') // if needed add input
- cout << choice << " is not a valid option. Try agian" << endl;
- }while (choice != 'N' && choice != 'n');
- {
- outMyStream.close();
- }
- }
- //Function Edits Courses
- void doEdit(vector<courseType>& list) {
- }
- //Function Deletes Courses
- void doDelete(vector<courseType>& list) {
- }
- //Function Reads Data from "courses.csv"
- void readData(vector<courseType>& list) {
- ifstream inFile;
- fstream fin;
- inFile.open(FILE_NAME);
- string line;
- while (getline(inFile, line)) {
- string term;
- float year;
- string startDate;
- string endDate;
- string courseName;
- string section;
- float classID;
- string meetingDays;
- string location;
- string meetingInfo;
- string instructor;
- float units;
- string temp;
- string tempU;
- string tempC;
- stringstream ss(line);
- getline(ss, term, ',');
- getline(ss, temp, ',');
- year = atoi(temp.c_str());
- getline(ss, startDate, ',');
- getline(ss, endDate, ',');
- getline(ss, courseName, ',');
- getline(ss, section, ',');
- getline(ss,tempC,',');
- classID = atoi(tempC.c_str());
- getline(ss, meetingDays, ',');
- getline(ss, location, ',');
- getline(ss, meetingInfo, ',');
- getline(ss, instructor, ',');
- getline(ss,tempU,',');
- units = atoi(tempU.c_str());
- courseType c;
- c.setTerm(term);
- c.setYear(temp);
- c.setStart(startDate);
- c.setEnd(endDate);
- c.setName(courseName);
- c.setSection(section);
- c.setID(tempC);
- c.setDays(meetingDays);
- c.setLocation(location);
- c.setInfo(meetingInfo);
- c.setInstructor(instructor);
- c.setUnits(tempU);
- list.push_back(c);
- }
- inFile.close();
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////course.h
- #pragma once
- #include <string>
- #include <sstream>
- using namespace std;
- class courseType {
- public:
- // mutator methods - set
- void setTerm(string term);
- void setYear(string temp);
- void setStart(string startDate);
- void setEnd(string endDate);
- void setName(string courseName);
- void setSection(string section);
- void setID(string tempC);
- void setDays(string meetingDays);
- void setLocation(string location);
- void setInstructor(string instructor);
- void setInfo(string meetingInfo);
- void setUnits(string tempU);
- // ...
- // accessor methods - get
- string getTerm();
- string getYear();
- string getStart();
- string getEnd();
- string getName();
- string getSection();
- string getID();
- string getDays();
- string getLocation();
- string getInstructor();
- string getInfo();
- string getUnits();
- // ...
- // Other member methods
- // ...
- courseType();
- ~courseType();
- protected:
- // tbd
- private:
- // data structures
- string term;
- float year;
- string startDate;
- string endDate;
- string courseName;
- string section;
- float classID;
- string meetingDays;
- string location;
- string meetingInfo;
- string instructor;
- float units;
- string temp;
- string tempU;
- string tempC;
- };
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////utils.h
- */
- #pragma once
- #include <string>
- #include <vector>
- #include <fstream>
- #include <sstream>
- #include "course.h"
- using namespace std;
- const string FILE_NAME = "courses.csv";
- // Prototype functions...
- void doDisplay(vector<courseType>& list);
- void doView(vector<courseType>& list);
- void doAdd(vector<courseType>& list);
- void doEdit(vector<courseType>& list);
- void doDelete(vector<courseType>& list);
- void readData(vector<courseType>& list);
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ////courses.csv
- Spring,2022,1/24/2022,5/20/2022,Discrete Structures,CS-113-02,085689,T TH,On-Campus,Newark,Pham,3
- Spring,2022,1/24/2022,5/20/2022,Programming W/ Data Structures,CS-124-02,084371,M W,On-Campus,Zoom,Pham,3
- Spring,2022,1/24/2022,5/20/2022,Programming W/ Data Structures,CS-124-03,085698,T TH,Online,Newark,Pham,3
- Spring,2022,1/24/2022,5/20/2022,JavaScript for Web Development,CS-175-01,084377,M,Online,Zoom,J. Pham,4
- Spring,2022,1/24/2022,5/20/2022,Beginner Java,CS-125-05,089434,TH,Online,Zoom,Gao,3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement