commit
						8d950d0cd4
					
				@ -0,0 +1,21 @@ | 
				
			||||
#include <iostream> | 
				
			||||
 | 
				
			||||
using namespace std; | 
				
			||||
 | 
				
			||||
void splitDouble(double x, int &n, double &f) { | 
				
			||||
    n = (int) x; | 
				
			||||
    f = x - n; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
int main() { | 
				
			||||
    cout << "Enter one double number:\n"; | 
				
			||||
 | 
				
			||||
    double x = 0; | 
				
			||||
    cin >> x; | 
				
			||||
 | 
				
			||||
    int n = 0; | 
				
			||||
    double f = 0; | 
				
			||||
    splitDouble(x, n, f); | 
				
			||||
 | 
				
			||||
    cout << "Integer part=" << n << "  Fraction Part=" << f; | 
				
			||||
} | 
				
			||||
@ -0,0 +1,141 @@ | 
				
			||||
#include <iostream> | 
				
			||||
 | 
				
			||||
using namespace std; | 
				
			||||
 | 
				
			||||
// 关于::的使用情况,我还是先去仔细看看Google的c++规范吧
 | 
				
			||||
class Date { | 
				
			||||
public: | 
				
			||||
    Date(); | 
				
			||||
 | 
				
			||||
    Date(int year, int month, int day); | 
				
			||||
 | 
				
			||||
    Date(const Date &date); | 
				
			||||
 | 
				
			||||
    ~Date(); | 
				
			||||
 | 
				
			||||
    bool operator==(const Date &date) const; | 
				
			||||
 | 
				
			||||
    bool operator!=(const Date &date) const; | 
				
			||||
 | 
				
			||||
    void printDate(); | 
				
			||||
 | 
				
			||||
    void setToNextDay(); | 
				
			||||
 | 
				
			||||
    void setDate(int year, int month, int day); | 
				
			||||
 | 
				
			||||
private: | 
				
			||||
    int year = 1970; | 
				
			||||
    int month = 1; | 
				
			||||
    int day = 1; | 
				
			||||
 | 
				
			||||
    int getMaxDayOfMonth() const; | 
				
			||||
}; | 
				
			||||
 | 
				
			||||
Date::Date(int year, int month, int day) : year(year), month(month), day(day) {} | 
				
			||||
 | 
				
			||||
Date::Date() : year(1900), month(1), day(1) {} | 
				
			||||
 | 
				
			||||
Date::Date(const Date &date) { | 
				
			||||
    Date::year = date.year; | 
				
			||||
    Date::month = date.month; | 
				
			||||
    Date::day = date.day; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
Date::~Date() { | 
				
			||||
    std::cout << "Don'..........t.........go.........away.......... (weakly)" << std::endl; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
bool Date::operator==(const Date &date) const { | 
				
			||||
    return year == date.year && | 
				
			||||
           month == date.month && | 
				
			||||
           day == date.day; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
bool Date::operator!=(const Date &date) const { | 
				
			||||
    return !(year == date.year && | 
				
			||||
             month == date.month && | 
				
			||||
             day == date.day); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
void Date::printDate() { | 
				
			||||
    std::cout << "--------------------------" << endl; | 
				
			||||
    std::cout << "- year: " << year << std::endl | 
				
			||||
              << "- month: " << month << std::endl | 
				
			||||
              << "- day: " << day << std::endl; | 
				
			||||
    std::cout << "--------------------------" << endl; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
void Date::setToNextDay() { | 
				
			||||
    Date::day++; | 
				
			||||
 | 
				
			||||
    // 检查一下是不是到了下一个月
 | 
				
			||||
    if (Date::day > getMaxDayOfMonth()) { | 
				
			||||
        Date::day = 1; | 
				
			||||
        Date::month++; | 
				
			||||
 | 
				
			||||
        // 再检查一下是不是到了下一年
 | 
				
			||||
        if (Date::month > 12) { | 
				
			||||
            Date::month = 1; | 
				
			||||
            Date::year++; | 
				
			||||
        } | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
 | 
				
			||||
void Date::setDate(int year, int month, int day) { | 
				
			||||
    Date::year = year; | 
				
			||||
    Date::month = month; | 
				
			||||
    Date::day = day; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
int Date::getMaxDayOfMonth() const { | 
				
			||||
    switch (Date::month) { | 
				
			||||
        default: | 
				
			||||
            return 0; | 
				
			||||
        case 1: | 
				
			||||
        case 3: | 
				
			||||
        case 5: | 
				
			||||
        case 7: | 
				
			||||
        case 8: | 
				
			||||
        case 10: | 
				
			||||
        case 12: | 
				
			||||
            return 31; | 
				
			||||
        case 4: | 
				
			||||
        case 6: | 
				
			||||
        case 9: | 
				
			||||
        case 11: | 
				
			||||
            return 30; | 
				
			||||
        case 2: | 
				
			||||
            if (Date::year % 4 == 0) { | 
				
			||||
                if (Date::year % 100 == 0) { | 
				
			||||
                    return (Date::year % 400) == 0 ? 29 : 28; | 
				
			||||
                } else { | 
				
			||||
                    return 29; | 
				
			||||
                } | 
				
			||||
            } | 
				
			||||
            return 28; | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
 | 
				
			||||
int main() { | 
				
			||||
    Date defaultDate; | 
				
			||||
    Date *constructorDate = new Date(2020, 3, 4); | 
				
			||||
 | 
				
			||||
    std::cout << "[defaultDate]:" << std::endl; | 
				
			||||
    defaultDate.printDate(); | 
				
			||||
 | 
				
			||||
    std::cout << "[constructorDate]:" << std::endl; | 
				
			||||
    constructorDate->printDate(); | 
				
			||||
 | 
				
			||||
    std::cout << "[constructorDate - setDay()]:" << std::endl; | 
				
			||||
    constructorDate->setDate(2021,12,31); | 
				
			||||
    constructorDate->printDate(); | 
				
			||||
 | 
				
			||||
    std::cout << "[constructorDate - setToNextDay()]:" << std::endl; | 
				
			||||
    constructorDate->setToNextDay(); | 
				
			||||
    constructorDate->printDate(); | 
				
			||||
 | 
				
			||||
    std::cout << "[Destructor]: "; | 
				
			||||
    delete constructorDate; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@ -0,0 +1,103 @@ | 
				
			||||
#include "iostream" | 
				
			||||
 | 
				
			||||
using namespace std; | 
				
			||||
 | 
				
			||||
class Date { | 
				
			||||
public: | 
				
			||||
    Date(); | 
				
			||||
 | 
				
			||||
    Date(int year, int month, int day); | 
				
			||||
 | 
				
			||||
    Date(const Date &date); | 
				
			||||
 | 
				
			||||
    ~Date(); | 
				
			||||
 | 
				
			||||
    int getYear() const; | 
				
			||||
 | 
				
			||||
    int getMonth() const; | 
				
			||||
 | 
				
			||||
    int getDay() const; | 
				
			||||
 | 
				
			||||
private: | 
				
			||||
    int year = 1970; | 
				
			||||
    int month = 1; | 
				
			||||
    int day = 1; | 
				
			||||
}; | 
				
			||||
 | 
				
			||||
Date::Date(int year, int month, int day) : year(year), month(month), day(day) { | 
				
			||||
    std::cout << "Date::Date(int year, int month, int day)" << std::endl; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
Date::Date() : year(1970), month(1), day(1) {} | 
				
			||||
 | 
				
			||||
Date::Date(const Date &date) { | 
				
			||||
    cout << "Date::Date(const Date &p)" << endl; | 
				
			||||
    Date::year = date.year; | 
				
			||||
    Date::month = date.month; | 
				
			||||
    Date::day = date.day; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
Date::~Date() { | 
				
			||||
    std::cout << "Date::~Date()" << std::endl; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
int Date::getYear() const { | 
				
			||||
    return year; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
int Date::getMonth() const { | 
				
			||||
    return month; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
int Date::getDay() const { | 
				
			||||
    return day; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
//-------------------------------------------------
 | 
				
			||||
class Person { | 
				
			||||
public: | 
				
			||||
    Person(); | 
				
			||||
 | 
				
			||||
    Person(char *name, const Date &birthday); | 
				
			||||
 | 
				
			||||
    ~Person(); | 
				
			||||
 | 
				
			||||
    void showPerson(); | 
				
			||||
 | 
				
			||||
private: | 
				
			||||
    string name; | 
				
			||||
    Date birthday; | 
				
			||||
}; | 
				
			||||
 | 
				
			||||
Person::Person() { | 
				
			||||
    cout << "Person::Default constructor Function is called." << endl; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
Person::Person(char *name, const Date &birthday) : name(name), birthday(birthday) { | 
				
			||||
    cout << "Person::Constructor Function is called." << endl; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
Person::~Person() { | 
				
			||||
    std::cout << "Person::~Person()" << std::endl; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
void Person::showPerson() { | 
				
			||||
    cout << "Person::showPerson()" << endl; | 
				
			||||
    cout << "Name:" << name << "  "; | 
				
			||||
    cout << "Birthday:" << birthday.getYear() << '-' << birthday.getMonth() << '-' << birthday.getDay(); | 
				
			||||
    cout << endl; | 
				
			||||
} | 
				
			||||
 | 
				
			||||
int main() { | 
				
			||||
    char name[20]; | 
				
			||||
    int y, m, d; | 
				
			||||
    int Cas = 0; | 
				
			||||
    cout << "Please input name & birthday:\n"; | 
				
			||||
    while (cin >> name >> y >> m >> d) { | 
				
			||||
        Cas++; | 
				
			||||
        cout << "CASE #" << Cas << ":" << endl; | 
				
			||||
        Date d1(y, m, d); | 
				
			||||
        Person person(name, d1); | 
				
			||||
        person.showPerson(); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -0,0 +1,40 @@ | 
				
			||||
#include <iostream> | 
				
			||||
 | 
				
			||||
using namespace std; | 
				
			||||
 | 
				
			||||
int getPower(int x, int y) { | 
				
			||||
    return (y == 0) ? 1 : x*getPower(x, y - 1); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
double getPower(double x, int y) { | 
				
			||||
    return (y == 0) ? 1 : x*getPower(x, y - 1); | 
				
			||||
} | 
				
			||||
 | 
				
			||||
// 不用三元运算符的写法
 | 
				
			||||
/*
 | 
				
			||||
int getPower(int x, int y) { | 
				
			||||
    if (y == 0) { | 
				
			||||
        return 1; | 
				
			||||
    } else { | 
				
			||||
        return x*getPower(x, y - 1); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
 | 
				
			||||
double getPower(double x, int y) { | 
				
			||||
    if (y == 0) { | 
				
			||||
        return 1; | 
				
			||||
    } else { | 
				
			||||
        return x*getPower(x, y - 1); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
 */ | 
				
			||||
 
 | 
				
			||||
int main() { | 
				
			||||
    // double x = 0;
 | 
				
			||||
    // int y = 0;
 | 
				
			||||
    
 | 
				
			||||
    int x = 0, y = 0; | 
				
			||||
    cin >> x >> y; | 
				
			||||
    
 | 
				
			||||
    cout << getPower(x, y); | 
				
			||||
} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue