C++类

  定义一个日起类date,有年、月、日信息,有构造函数、设置年月日、显示日期及比较两个日期是否相等。再定义一个student类,类中有姓名(21个字符的字符数组) ,缴费日期、年龄,有构造函数、设置姓名、年龄和缴费时间的函数、显示姓名、年龄和缴费时间的函数。最后用一个主函数创建一个Student对象并使用其中的设置姓名、年龄和缴费时间间,并将姓名、年龄和缴费时间显示到屏幕上。

#include<iostream>
#include<time.h>
#include<string>
#include <cstring>
#include<sstream>
using namespace std;

string Int_to_String(int n)

{
    ostringstream stream;

    stream << n;  //n为int类型

    return stream.str();

}
class DATE
{
public:
    string year, month, day;

    DATE();
    void set_data();
    void compare(string year1, string month1, string day1, string year2, string month2, string day2);
};
DATE::DATE()
{

}
void DATE::set_data()
{
    struct tm t;   //tm结构指针
    time_t now;  //声明time_t类型变量
    time(&now);      //获取系统日期和时间
    localtime_s(&t, &now);   //获取当地日期和时间

    year = Int_to_String(t.tm_year + 1900); month = Int_to_String(t.tm_mon + 1); day = Int_to_String( t.tm_mday);
}
void DATE::compare(string year1, string month1, string day1, string year2, string month2, string day2)
{
    int a;
    a = (year1 == year2) && (month1 == month2) && (day1 == day2);
    if (a > 0)
        cout << "两个日期相等" << endl;
    else
        cout << "两个日期不相等" << endl;
}

class Student
{
    char name[21];
    string year,month,day;
    int age;
public:
    Student(char* na, int a);
    void set_message(string ye, string mon, string da);
    void display();
};
Student::Student(char* na, int a)
{
    strcpy_s(name, strlen(na)+1,na);
    age = a;
}
void Student::set_message(string ye,string mon,string da)
{
    //strcpy_s(name, strlen(na) + 1, na);
    //age = a;
    year = ye;
    month = mon;
    day = da;
}
void Student::display()
{
    cout << "学生姓名: " <<name<< endl;
    cout << "学生年龄: " << age << endl;
    cout << "提交日期: " << year<<""<<month<<""<<day<<"" << endl;
}

int main()
{
    DATE date;
    char aa[20] = "godzilla";
    date.set_data();
    Student ss( aa, 20);
    ss.set_message(date.year, date.month, date.day);
    ss.display();
}

 

posted @ 2021-04-14 20:35  为红颜  阅读(75)  评论(0编辑  收藏  举报