Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main() {
- Database db;
- string command, event, oper;
- char def1, def2;
- int y, m, d;
- while (getline(cin, command)) {
- event.clear();
- oper.clear();
- stringstream input(command);
- bool flag = true;
- cout << command;
- flag = flag && (input >> oper);
- if (oper != "Print"){
- flag = flag && (input >> y);
- flag = flag && (input >> def1);
- flag = flag && (input >> m);
- flag = flag && (input >> def2);
- flag = flag && (input >> d);
- }
- if (oper == "Add") {
- flag = flag && (input.peek() == ' ');
- flag = flag && (input >> event);
- if (flag){
- try {
- Date data (y, m, d);
- db.AddEvent(data, event);
- } catch (range_error err){
- if ((string)err.what() == "month"){
- cout << "Month value is invalid: " << m << endl;
- }
- else {
- cout << "Day value is invalid: " << d << endl;
- }
- }
- } else {
- string wrong;
- for (int i = oper.size()+1; i < command.size() - event.size() - 1; i++){
- wrong += command[i];
- }
- cout << "Wrong date format: " << wrong << endl;
- }
- }
- else if (oper == "Del") {
- flag = flag && ((input.peek() == ' ')||(input.peek() == '/n'));
- if (flag){
- try {
- Date data (y, m, d);
- if (event.empty() == true){
- db.DeleteDate(data);
- } else {
- db.DeleteEvent(data, event);
- }
- } catch (range_error err){
- if ((string)err.what() == "month"){
- cout << "Month value is invalid: " << m << endl;
- }
- else {
- cout << "Day value is invalid: " << d << endl;
- }
- }
- } else {
- string wrong;
- for (int i = oper.size()+1; i < command.size() - event.size() - 1; i++){
- wrong += command[i];
- }
- cout << "Wrong date format: " << wrong << endl;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement