[ create a new paste ] login | about

Link: http://codepad.org/bRtmFC7r    [ raw code | output | fork ]

stupid2 - C++, pasted on Sep 11:
// C++ Libs
#include <string>
#include <iostream>
#include <vector>

// C Libs
#include <time.h>
#include <stdlib.h>

using namespace std;

class Year {
  protected:
    vector<string> _options;
  
    unsigned int _genRandom(){
      return (unsigned int) (rand() % this->_options.size());
    }
    
    string _day(struct tm *day, vector<unsigned int> *lastOnes){
      // generate date
      char buffer [11];
      sprintf(buffer, "%04d-%02d-%02d", day->tm_year+1900, day->tm_mon+1, day->tm_mday);
      string date = buffer;
      // check for weekends
      if(day->tm_wday == 0 || day->tm_wday == 6){
        return (date + ": Weekend\n");
      }
      // generate random number
      unsigned int choosen;
      bool inLastOnes = false;
      do{
        choosen = _genRandom();
        inLastOnes = false;
        for(vector<unsigned int>::iterator i=lastOnes->begin(); i<lastOnes->end();++i){
          if(*i == choosen){ inLastOnes = true; }
         }
      } while(inLastOnes);
      lastOnes->push_back(choosen);
      if(lastOnes->size() > 3){ lastOnes->erase(lastOnes->begin()); }
      // return result
      return (date + ": " + this->_options[choosen] + "\n");
    }

  public:
    vector<string> generate(unsigned int year){
      struct tm tmYear;
      struct tm *tmDay;
      time_t tYear;
      vector<string> lines;
      vector<unsigned int> lastOnes;
      
      tmYear.tm_year = year-1900;
      tmYear.tm_mon = 0;
      tmYear.tm_mday = 1;
      tmYear.tm_hour = 0;
      tmYear.tm_min = 0;
      tmYear.tm_sec = 1;
      tYear = mktime(&tmYear);
      tmDay = localtime(&tYear);
         
      do{
        lines.push_back(_day(tmDay, &lastOnes));
        tYear += 60*60*24;
        tmDay = localtime(&tYear);
      } while(tmDay->tm_year == tmYear.tm_year);
      
      return lines;
    }
    Year(){
      string locations[7] = {
        "Döner", 
        "Subway",
        "Mekong",
        "Kantine",
        "Omar",
        "Burgerking",
        "Bagels"
      };
      for(unsigned int i=0;i<7;++i){
        this->_options.push_back(locations[i]);
      }
    }
};

int main(){
  Year mealYear;
  for(unsigned int y=2012;y<2013;++y){
    vector<string> lines = mealYear.generate(y);
    for(vector<string>::iterator i=lines.begin(); i<lines.end();i++){
      cout << *i;
    }
  }
  return 0;
}


Output:
2012-01-01: Weekend
2012-01-02: Subway
2012-01-03: Omar
2012-01-04: Mekong
2012-01-05: Burgerking
2012-01-06: Subway
2012-01-07: Weekend
2012-01-08: Weekend
2012-01-09: Kantine
2012-01-10: Mekong
2012-01-11: Burgerking
2012-01-12: Bagels
2012-01-13: Omar
2012-01-14: Weekend
2012-01-15: Weekend
2012-01-16: Döner
2012-01-17: Kantine
2012-01-18: Subway
2012-01-19: Mekong
2012-01-20: Döner
2012-01-21: Weekend
2012-01-22: Weekend
2012-01-23: Burgerking
2012-01-24: Bagels
2012-01-25: Subway
2012-01-26: Döner
2012-01-27: Kantine
2012-01-28: Weekend
2012-01-29: Weekend
2012-01-30: Burgerking
2012-01-31: Mekong
2012-02-01: Subway
2012-02-02: Döner
2012-02-03: Omar
2012-02-04: Weekend
2012-02-05: Weekend
2012-02-06: Burgerking
2012-02-07: Bagels
2012-02-08: Kantine
2012-02-09: Mekong
2012-02-10: Subway
2012-02-11: Weekend
2012-02-12: Weekend
2012-02-13: Burgerking
2012-02-14: Döner
2012-02-15: Mekong
2012-02-16: Omar
2012-02-17: Subway
2012-02-18: Weekend
2012-02-19: Weekend
2012-02-20: Kantine
2012-02-21: Mekong
2012-02-22: Bagels
2012-02-23: Omar
2012-02-24: Burgerking
2012-02-25: Weekend
2012-02-26: Weekend
2012-02-27: Kantine
2012-02-28: Döner
2012-02-29: Mekong
2012-03-01: Omar
2012-03-02: Kantine
2012-03-03: Weekend
2012-03-04: Weekend
2012-03-05: Burgerking
2012-03-06: Döner
2012-03-07: Omar
2012-03-08: Mekong
2012-03-09: Subway
2012-03-10: Weekend
2012-03-11: Weekend
2012-03-12: Burgerking
2012-03-13: Omar
2012-03-14: Döner
2012-03-15: Subway
2012-03-16: Bagels
2012-03-17: Weekend
2012-03-18: Weekend
2012-03-19: Omar
2012-03-20: Döner
2012-03-21: Kantine
2012-03-22: Subway
2012-03-23: Burgerking
2012-03-24: Weekend
2012-03-25: Weekend
2012-03-26: Döner
2012-03-27: Bagels
2012-03-28: Kantine
2012-03-29: Subway
2012-03-30: Omar
2012-03-31: Weekend
2012-04-01: Weekend
2012-04-02: Mekong
2012-04-03: Bagels
2012-04-04: Döner
2012-04-05: Subway
2012-04-06: Burgerking
2012-04-07: Weekend
2012-04-08: Weekend
2012-04-09: Kantine
2012-04-10: Omar
2012-04-11: Subway
2012-04-12: Burgerking
2012-04-13: Kantine
2012-04-14: Weekend
2012-04-15: Weekend
2012-04-16: Döner
2012-04-17: Subway
2012-04-18: Omar
2012-04-19: Burgerking
2012-04-20: Döner
2012-04-21: Weekend
2012-04-22: Weekend
2012-04-23: Kantine
2012-04-24: Omar
2012-04-25: Mekong
2012-04-26: Burgerking
2012-04-27: Bagels
2012-04-28: Weekend
2012-04-29: Weekend
2012-04-30: Omar
2012-05-01: Döner
2012-05-02: Subway
2012-05-03: Mekong
2012-05-04: Bagels
2012-05-05: Weekend
2012-05-06: Weekend
2012-05-07: Kantine
2012-05-08: Döner
2012-05-09: Burgerking
2012-05-10: Mekong
2012-05-11: Omar
2012-05-12: Weekend
2012-05-13: Weekend
2012-05-14: Kantine
2012-05-15: Subway
2012-05-16: Döner
2012-05-17: Mekong
2012-05-18: Omar
2012-05-19: Weekend
2012-05-20: Weekend
2012-05-21: Bagels
2012-05-22: Burgerking
2012-05-23: Subway
2012-05-24: Döner
2012-05-25: Mekong
2012-05-26: Weekend
2012-05-27: Weekend
2012-05-28: Omar
2012-05-29: Subway
2012-05-30: Kantine
2012-05-31: Burgerking
2012-06-01: Omar
2012-06-02: Weekend
2012-06-03: Weekend
2012-06-04: Subway
2012-06-05: Bagels
2012-06-06: Mekong
2012-06-07: Döner
2012-06-08: Omar
2012-06-09: Weekend
2012-06-10: Weekend
2012-06-11: Bagels
2012-06-12: Burgerking
2012-06-13: Döner
2012-06-14: Subway
2012-06-15: Bagels
2012-06-16: Weekend
2012-06-17: Weekend
2012-06-18: Kantine
2012-06-19: Omar
2012-06-20: Mekong
2012-06-21: Subway
2012-06-22: Döner
2012-06-23: Weekend
2012-06-24: Weekend
2012-06-25: Omar
2012-06-26: Burgerking
2012-06-27: Bagels
2012-06-28: Subway
2012-06-29: Döner
2012-06-30: Weekend
2012-07-01: Weekend
2012-07-02: Omar
2012-07-03: Mekong
2012-07-04: Subway
2012-07-05: Bagels
2012-07-06: Burgerking
2012-07-07: Weekend
2012-07-08: Weekend
2012-07-09: Omar
2012-07-10: Döner
2012-07-11: Subway
2012-07-12: Mekong
2012-07-13: Kantine
2012-07-14: Weekend
2012-07-15: Weekend
2012-07-16: Döner
2012-07-17: Omar
2012-07-18: Burgerking
2012-07-19: Mekong
2012-07-20: Döner
2012-07-21: Weekend
2012-07-22: Weekend
2012-07-23: Subway
2012-07-24: Omar
2012-07-25: Burgerking
2012-07-26: Kantine
2012-07-27: Subway
2012-07-28: Weekend
2012-07-29: Weekend
2012-07-30: Mekong
2012-07-31: Burgerking
2012-08-01: Omar
2012-08-02: Kantine
2012-08-03: Mekong
2012-08-04: Weekend
2012-08-05: Weekend
2012-08-06: Burgerking
2012-08-07: Bagels
2012-08-08: Döner
2012-08-09: Mekong
2012-08-10: Burgerking
2012-08-11: Weekend
2012-08-12: Weekend
2012-08-13: Omar
2012-08-14: Kantine
2012-08-15: Mekong
2012-08-16: Burgerking
2012-08-17: Omar
2012-08-18: Weekend
2012-08-19: Weekend
2012-08-20: Kantine
2012-08-21: Mekong
2012-08-22: Bagels
2012-08-23: Omar
2012-08-24: Burgerking
2012-08-25: Weekend
2012-08-26: Weekend
2012-08-27: Subway
2012-08-28: Döner
2012-08-29: Omar
2012-08-30: Mekong
2012-08-31: Burgerking
2012-09-01: Weekend
2012-09-02: Weekend
2012-09-03: Subway
2012-09-04: Döner
2012-09-05: Omar
2012-09-06: Bagels
2012-09-07: Mekong
2012-09-08: Weekend
2012-09-09: Weekend
2012-09-10: Burgerking
2012-09-11: Kantine
2012-09-12: Omar
2012-09-13: Bagels
2012-09-14: Subway
2012-09-15: Weekend
2012-09-16: Weekend
2012-09-17: Döner
2012-09-18: Omar
2012-09-19: Burgerking
2012-09-20: Kantine
2012-09-21: Mekong
2012-09-22: Weekend
2012-09-23: Weekend
2012-09-24: Döner
2012-09-25: Burgerking
2012-09-26: Kantine
2012-09-27: Subway
2012-09-28: Omar
2012-09-29: Weekend
2012-09-30: Weekend
2012-10-01: Bagels
2012-10-02: Mekong
2012-10-03: Subway
2012-10-04: Döner
2012-10-05: Kantine
2012-10-06: Weekend
2012-10-07: Weekend
2012-10-08: Omar
2012-10-09: Burgerking
2012-10-10: Bagels
2012-10-11: Subway
2012-10-12: Mekong
2012-10-13: Weekend
2012-10-14: Weekend
2012-10-15: Burgerking
2012-10-16: Döner
2012-10-17: Omar
2012-10-18: Kantine
2012-10-19: Mekong
2012-10-20: Weekend
2012-10-21: Weekend
2012-10-22: Bagels
2012-10-23: Burgerking
2012-10-24: Omar
2012-10-25: Döner
2012-10-26: Bagels
2012-10-27: Weekend
2012-10-28: Weekend
2012-10-29: Mekong
2012-10-30: Omar
2012-10-31: Döner
2012-11-01: Subway
2012-11-02: Mekong
2012-11-03: Weekend
2012-11-04: Weekend
2012-11-05: Omar
2012-11-06: Döner
2012-11-07: Subway
2012-11-08: Kantine
2012-11-09: Omar
2012-11-10: Weekend
2012-11-11: Weekend
2012-11-12: Döner
2012-11-13: Mekong
2012-11-14: Burgerking
2012-11-15: Omar
2012-11-16: Bagels
2012-11-17: Weekend
2012-11-18: Weekend
2012-11-19: Mekong
2012-11-20: Kantine
2012-11-21: Döner
2012-11-22: Subway
2012-11-23: Burgerking
2012-11-24: Weekend
2012-11-25: Weekend
2012-11-26: Kantine
2012-11-27: Döner
2012-11-28: Bagels
2012-11-29: Mekong
2012-11-30: Omar
2012-12-01: Weekend
2012-12-02: Weekend
2012-12-03: Kantine
2012-12-04: Döner
2012-12-05: Subway
2012-12-06: Bagels
2012-12-07: Mekong
2012-12-08: Weekend
2012-12-09: Weekend
2012-12-10: Burgerking
2012-12-11: Döner
2012-12-12: Subway
2012-12-13: Bagels
2012-12-14: Burgerking
2012-12-15: Weekend
2012-12-16: Weekend
2012-12-17: Kantine
2012-12-18: Mekong
2012-12-19: Omar
2012-12-20: Döner
2012-12-21: Subway
2012-12-22: Weekend
2012-12-23: Weekend
2012-12-24: Kantine
2012-12-25: Mekong
2012-12-26: Döner
2012-12-27: Burgerking
2012-12-28: Bagels
2012-12-29: Weekend
2012-12-30: Weekend
2012-12-31: Omar


Create a new paste based on this one


Comments: