#include "database.h" #include using std::ofstream; using std::ifstream; #include using std::string; using std::istringstream; #include using std::cout; int main() { ifstream in("commands.data"); ofstream out("output.data"); database org; string firstword = ""; while(!in.eof()) { string secondword = ""; firstword = ""; in >> firstword; if(firstword == "quit") { out << "quit"; in.close(); out.close(); } else { in >> secondword; if(firstword == "print") { if(secondword == "students") { out << "print students\n"; org.printstudents(out); } else if(secondword == "items") { out << "print items\n"; org.printitems(out); } else { out << "print " << secondword << "\n"; if(!org.printemail(secondword, out)) out << secondword << " not found.\n"; } } else if(firstword == "delete") { out << "delete " << secondword << "\n"; if(org.deletestudent(secondword)) out << "Success\n"; else out << "Failure\n"; } else if(firstword == "add") { string buffer = ""; if(secondword == "student") { getline(in, buffer); string name, phone, email, street, aptnum, city, state, other, zippy, temp; int zip = 0; while( buffer != "@@" && buffer != "\n" && !in.eof() ) { if(buffer == "@Name:") getline(in, name); else if(buffer == "@Phone Number:") getline(in, phone); else if(buffer == "@E-mail:") getline(in, email); else if(buffer == "@Address Line 1:") getline(in, street); else if(buffer == "@Address Line 2:") getline(in, aptnum); else if(buffer == "@City:") getline(in, city); else if(buffer == "@State:") getline(in, state); else if(buffer == "@Zipcode:") { getline(in, zippy); istringstream zipper(zippy); zipper >> zip; } else if(buffer == "@Other:") getline(in, other); getline(in, buffer); } student newstudent(name, phone, email, street, aptnum, city, state, zip, other); out << "add student\n"; int n = org.findblankstudent(); if(org.addstudent(n, newstudent)) out << "Success\n"; else out << "Failure\n"; } else if(secondword == "item") { getline(in, buffer); string name, type, author, owner, status, pricey, temp; char temp1; double price = 0; while( buffer != "@@" && buffer != "\n" && !in.eof()) { if(buffer == "@Item:") getline(in, name); else if(buffer == "@Media Type:") getline(in, type); else if(buffer == "@by:") getline(in, author); else if(buffer == "@Owner:") getline(in, owner); else if(buffer == "@Availability:") getline(in, status); else if(buffer == "@Price:") { getline(in, pricey); istringstream pricer(pricey); pricer >> temp1 >> price; } getline(in, buffer); } multimedia newitem(name, type, author, owner, price, status); out << "add item\n"; int n = org.findblankitem(); if(org.additem(n, newitem)) out << "Success\n"; else out << "Failure\n"; } } } } return 0; }