- #include <iostream> 
- #include <iomanip> 
- #include <string> 
- #include <cstdlib> 
- #include <ctime> 
-   
- using namespace std; 
-   
- class Fortunecookie 
- { 
- private: 
-    string fortune[10]; 
-    int rand_index; 
- public: 
-    void openFortuneCookie(); 
-    void generateNewFortune(); 
-    Fortunecookie();  // typo 
- }; 
-   
-   
- void Fortunecookie::generateNewFortune() 
- { 
-     rand_index = rand() %10; 
- } 
-   
- Fortunecookie::Fortunecookie() 
-                : fortune{" One that would have the fruit must climb the tree", 
-                    " A new opportunity awaits you at the fork of the road", 
-                    " The early bird gets the worm, but the second mouse gets     the cheese. ", 
-                    " You are cleverly disguised as responsible adult.", 
-                    " The best things in life aren't things", 
-                    " Forget injuries; never forget kindnesses.", 
-                    " Borrow money from a pessimist. They don't expect it       back", 
-                    " Your good enough, strong enough and gosh darnit' people     like you", 
-                    " A feather in the hand is better than a bird in the     air. ", 
-                    " In life, you must be the water" 
-                   } 
- { 
-     rand_index = rand() %10;  // number between 0 and 9  
- } 
- void Fortunecookie::openFortuneCookie() 
- { 
-     generateNewFortune(); 
-   
-     cout << " |====================================================================| \n"; 
-     cout << " |                                                                    | \n"; 
-     cout << " | " <<setw(2)<<rand_index+1<<"-"<<setw(63)<<fortune[rand_index]<< " |\n"; 
-     cout << " |                                                                    | \n"; 
-     cout << " |====================================================================| \n"; 
- } 
- int main () 
- { 
-     srand(time(0));                    // only once, at the beginning of the programme 
-     Fortunecookie yourfortune;         // this calls the default constructor 
-     //yourfortune.generateNewFortune(); 
-     //yourfortune.Fortunecookie();       // OUCH !! 
-     yourfortune.openFortuneCookie(); 
-     return 0; 
- } 
-   
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxjdGltZT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBGb3J0dW5lY29va2llCnsKcHJpdmF0ZToKICAgc3RyaW5nIGZvcnR1bmVbMTBdOwogICBpbnQgcmFuZF9pbmRleDsKcHVibGljOgogICB2b2lkIG9wZW5Gb3J0dW5lQ29va2llKCk7CiAgIHZvaWQgZ2VuZXJhdGVOZXdGb3J0dW5lKCk7CiAgIEZvcnR1bmVjb29raWUoKTsgIC8vIHR5cG8KfTsKCgp2b2lkIEZvcnR1bmVjb29raWU6OmdlbmVyYXRlTmV3Rm9ydHVuZSgpCnsKICAgIHJhbmRfaW5kZXggPSByYW5kKCkgJTEwOwp9CgpGb3J0dW5lY29va2llOjpGb3J0dW5lY29va2llKCkKICAgICAgICAgICAgICAgOiBmb3J0dW5leyIgT25lIHRoYXQgd291bGQgaGF2ZSB0aGUgZnJ1aXQgbXVzdCBjbGltYiB0aGUgdHJlZSIsCiAgICAgICAgICAgICAgICAgICAiIEEgbmV3IG9wcG9ydHVuaXR5IGF3YWl0cyB5b3UgYXQgdGhlIGZvcmsgb2YgdGhlIHJvYWQiLAogICAgICAgICAgICAgICAgICAgIiBUaGUgZWFybHkgYmlyZCBnZXRzIHRoZSB3b3JtLCBidXQgdGhlIHNlY29uZCBtb3VzZSBnZXRzICAgICB0aGUgY2hlZXNlLiAiLAogICAgICAgICAgICAgICAgICAgIiBZb3UgYXJlIGNsZXZlcmx5IGRpc2d1aXNlZCBhcyByZXNwb25zaWJsZSBhZHVsdC4iLAogICAgICAgICAgICAgICAgICAgIiBUaGUgYmVzdCB0aGluZ3MgaW4gbGlmZSBhcmVuJ3QgdGhpbmdzIiwKICAgICAgICAgICAgICAgICAgICIgRm9yZ2V0IGluanVyaWVzOyBuZXZlciBmb3JnZXQga2luZG5lc3Nlcy4iLAogICAgICAgICAgICAgICAgICAgIiBCb3Jyb3cgbW9uZXkgZnJvbSBhIHBlc3NpbWlzdC4gVGhleSBkb24ndCBleHBlY3QgaXQgICAgICAgYmFjayIsCiAgICAgICAgICAgICAgICAgICAiIFlvdXIgZ29vZCBlbm91Z2gsIHN0cm9uZyBlbm91Z2ggYW5kIGdvc2ggZGFybml0JyBwZW9wbGUgICAgIGxpa2UgeW91IiwKICAgICAgICAgICAgICAgICAgICIgQSBmZWF0aGVyIGluIHRoZSBoYW5kIGlzIGJldHRlciB0aGFuIGEgYmlyZCBpbiB0aGUgICAgIGFpci4gIiwKICAgICAgICAgICAgICAgICAgICIgSW4gbGlmZSwgeW91IG11c3QgYmUgdGhlIHdhdGVyIgogICAgICAgICAgICAgICAgICB9CnsKICAgIHJhbmRfaW5kZXggPSByYW5kKCkgJTEwOyAgLy8gbnVtYmVyIGJldHdlZW4gMCBhbmQgOSAKfQp2b2lkIEZvcnR1bmVjb29raWU6Om9wZW5Gb3J0dW5lQ29va2llKCkKewogICAgZ2VuZXJhdGVOZXdGb3J0dW5lKCk7CiAgICAKICAgIGNvdXQgPDwgIiB8PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT18IFxuIjsKICAgIGNvdXQgPDwgIiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFxuIjsKICAgIGNvdXQgPDwgIiB8ICIgPDxzZXR3KDIpPDxyYW5kX2luZGV4KzE8PCItIjw8c2V0dyg2Myk8PGZvcnR1bmVbcmFuZF9pbmRleF08PCAiIHxcbiI7CiAgICBjb3V0IDw8ICIgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiI7CiAgICBjb3V0IDw8ICIgfD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09fCBcbiI7Cn0KaW50IG1haW4gKCkKewogICAgc3JhbmQodGltZSgwKSk7ICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IG9uY2UsIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHByb2dyYW1tZQogICAgRm9ydHVuZWNvb2tpZSB5b3VyZm9ydHVuZTsgICAgICAgICAvLyB0aGlzIGNhbGxzIHRoZSBkZWZhdWx0IGNvbnN0cnVjdG9yCiAgICAvL3lvdXJmb3J0dW5lLmdlbmVyYXRlTmV3Rm9ydHVuZSgpOwogICAgLy95b3VyZm9ydHVuZS5Gb3J0dW5lY29va2llKCk7ICAgICAgIC8vIE9VQ0ggISEKICAgIHlvdXJmb3J0dW5lLm9wZW5Gb3J0dW5lQ29va2llKCk7CiAgICByZXR1cm4gMDsKfQo=