/********************************************************** Course: ENCMP 100 Winter Term, 2008 Assignment: 2 Lab Section: Y7 Lab TA: Sarah Student: Andrew McWhae CCID: amcwhae Date: February 4, 2008 Acknowledgements: I received information from Nico Paul about switch statements. File name: resue.cpp Description: This program deciphers a secret code if and only of the code is valid. **********************************************************/ #include #include using namespace std; int main( void ) { int code = 0, digit1, digit2, digit3, digit4, digit5, sum, day, rendezvous; cout << "Please enter the code to break: " << endl; cin >> code; if (code <= 9999 || code >= 100000) cout << "Decoy message: Not a five-digit number." << endl; else { digit5 = code % 10; code /= 10; digit4 = code % 10; code /= 10; digit3 = code % 10; code /= 10; digit2 = code % 10; code /= 10; digit1 = code % 10; code /= 10; sum = digit1 + digit2 + digit3 + digit4 + digit5; if (sum%2 !=0) cout << "Decoy message: Sum is odd." << endl; else { day = ((digit1*digit2)-digit3); if (day < 1 || day > 7) cout << "Decoy message: Invalid rescue day." << endl; if (digit4==digit5) cout << "Decoy message: Invalid rendezvous point." << endl; else { switch ((digit1*digit2)-digit3) { case 1: cout << "Resue on Monday "; break; case 2: cout << "Resue on Tuesday "; break; case 3: cout << "Resue on Wednesday "; break; case 4: cout << "Resue on Thursday "; break; case 5: cout << "Resue on Friday "; break; case 6: cout << "Resue on Saturday "; break; case 7: cout << "Resue on Sunday "; break; } if (digit4 > digit5) rendezvous = digit5 + 1; else if (digit4 < digit5) rendezvous = digit5 - 1; switch (rendezvous) { case '2': cout << "at the fountain." << endl; break; case '7': cout << "at the large tree." << endl; break; case '8': cout << "at the church." << endl; break; } } } } return 0; }