I see a number of things that could help you improve your code.

## Don't abuse `using namespace std`
Putting `using namespace std` at the top of every program is [a bad habit](http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice) that you'd do well to avoid.  

## Choose better function names
There are two very similar names `organize()` and `organizeInfo()` and it's not obvious without reading the code what the difference might be.  

## Reconsider the constructor
I found this constructor counterintuitive:

    date dawg(cin);

It would have been much easier to understand if it had been written like this:

    date dawg;
    cin >> dawg;

## Use const where practical
Your `outputInfo()` member fuction does not alter the underlying `date`, so it should be declared `const`.  In general, whenever you are writing a variable or function prototype look for places you can use `const`.

## Write object I/O functions as inserters and extractors
Instead of a member function `outputInfo`, write an extractor instead:

    friend ostream &operator<<(std::ostream &out, const date& d) { 
        return out << d.year << " " << d.month << " " << d.day; 
    }

Similarly, instead of the constructor taking a reference to a `std::istream`, use a inserter:

    friend istream& operator>>(std::istream &in, date& d) {
        return in >> d.year >> d.month >> d.day; 
    }

## Fix the prompt string
It may seem like a minor issue but the user interface is a very important part of most programs because it's the only part that a user would see.  For that reason instead of "and ill try and organize" which soundw like the program is not well, it should be "and I'll try ..."

## Use a better algorithm
Right now, if I enter the 10 March 2010 date as `3 10 2010` which is the ordering commonly used in the United States, the program reinterprets that as 3 October 2010.  (This was intended to make the same point as @πάντα ῥεῖ in the section "Don't promise things to users of your API, you cannot ever guarantee" but that answer states the point more accurately and eloquently.)

## Use better default values
The default constructor creates a date of `0 0 0` which is not really a valid date in most calendrical systems.  Better would be to assign a default value which, while possibly not meaningful, would at least be a valid date.

## Use `true` and `false` for boolean values
Since you're using C++, you should use the keywords `true` and `false` instead of `1` and `0` for boolean return values.

## Only `#include` things that are needed
The code currently has this line:

    #include <string>

However, there is no code in this program that needs anything from that header, so it should be omitted.

## Do more error checking
Dates such as 30 February 2015 could be detected as invalid and rejected, as by `throw`ing an exception.

## Use available library functions
Instead of `switchItems()`, you could use [`std::swap`](http://en.cppreference.com/w/cpp/algorithm/swap) if you're using C++11 or newer.

## Eliminate `return 0` at the end of main
When a C++ program reaches the end of `main` the compiler will automatically generate code to return 0, so there is no reason to put `return 0;` explicitly at the end of `main`.