home *** CD-ROM | disk | FTP | other *** search
- #include <iostream>
- #include "roll.h"
-
- void Usage();
- bool DoAdd(CRoll &r, int argc, char *argv[]);
- bool DoDelete(CRoll &r, int argc, char *argv[]);
- bool DoFind(CRoll &r, int argc, char *argv[]);
-
- int main(int argc,
- char *argv[])
- {
- if (argc<2) {
- Usage();
- return 1;
- }
-
- CRoll r("Test.dat");
- char sel=toupper(argv[1][0]);
- bool rs=false;
-
- switch (sel) {
- case 'A':
- rs = DoAdd(r, argc, argv);
- break;
- case 'D':
- rs = DoDelete(r, argc, argv);
- break;
- case 'F':
- rs = DoFind(r, argc, argv);
- break;
- default:
- Usage();
- rs = false;
- break;
- }
-
- if (rs)
- std::cerr << "Operation completed successfully" << std::endl;
- else
- std::cerr << "Operation failed" << std::endl;
-
- return !rs;
- }
-
- static void Usage()
- {
- std::cerr
- << "Usage: studbase <verb> <args>" << std::endl
- << std::endl
- << "Verb Args" << std::endl
- << "=================================================================" << std::endl
- << "Add StudentNumber FamilyName OtherName(s) Address DateOfBirth" << std::endl
- << "Delete StudentNumber" << std::endl
- << "Find StudentNumber" << std::endl
- << std::endl
- << "e.g." << std::endl
- << "studbase Add 1000 Smith \"Mary Jane\" \"21 George St, Randwick, 2031\" 23-07-1984" << std::endl
- << "studbase Delete 1000" << std::endl
- << "studbase Find 1000" << std::endl;
- }
-
- bool DoAdd(CRoll &r, int argc, char *argv[])
- {
- if (argc!=7) {
- Usage();
- return false;
- }
- CStudent s(atoi(argv[2]),
- argv[3],
- argv[4],
- argv[5],
- argv[6] );
- return r.Add(s);
- }
-
- bool DoDelete(CRoll &r, int argc, char *argv[])
- {
- if (argc!=3) {
- Usage();
- return false;
- }
- CStudent s;
- return r.Delete(atoi(argv[2]));
- }
-
- bool DoFind(CRoll &r, int argc, char *argv[])
- {
- if (argc!=3) {
- Usage();
- return false;
- }
- CStudent s;
- bool rs = r.Find(atoi(argv[2]), s);
- if (rs)
- rs = s.Print(std::cout);
- return rs;
- }
-