#ifndef CLASS_H
#define CLASS_H
#include <iostream>
#include <cstring>

using namespace std;

class date {
private:
    int year;
    int month;
    int day;
public:
    // Your code goes here.
    void set(int y,int m,int d);
    void print();
};

class score {
private:
    char course[20];
    int value;
public:
    // Your code goes here.
    void set(const char *p,int v);
    void print();
};

class student {
private:
    static const int MAX = 100 ;
    char  name[20];
    date  birthday;
    int coursenum;
    score data[MAX];
public:
    student(const char *n, int yy, int mm ,int dd);
    void inputscore(const char *c, int d);       // 添加成绩
    void print();
};

#endif //CLASS_H
#include "class.h"

void date::set(int y, int m, int d) {
    year=y;
    month=m;
    day=d;
}
void date::print() {
    year>=10?cout<<year:cout<<"0"<<year;
    cout<<"-";
    if (month<10) cout<<"0"<<month<<"-";
    else cout<<month<<"-";
    day>=10?cout<<day:cout<<"0"<<day;
}

void score::print() {
        cout<<course<<", score is: "<<value;
}

void score::set(const char *p, int v) {
    int i;
    for (i = 0; p[i]!='\0'; ++i) {
        course[i]=p[i];
    }
    course[i]='\0';
    value=v;
}

student::student(const char *n, int yy, int mm, int dd) {
    int i;
    for (i = 0; n[i]!='\0'; ++i) {
        name[i]=n[i];
    }
    name[i]='\0';
    birthday.set(yy,mm,dd);
}

void student::inputscore(const char *c, int d) {
    static int i=0;
    data[i].set(c,d);
    i++;
    coursenum=i;
}

void student::print() {
    cout<<"Student name: "<<name<<endl;
    cout<<"Student birthday: ";
    birthday.print();
    cout<<'\n'<<endl;
    cout<<"Totally "<<coursenum<<" courses scores."<<endl;
    for (int i = 0; i < coursenum; ++i) {
        cout<<"Course name: ";
        data[i].print();
        cout<<endl;
    }

}
#include <iostream>
#include "class.h"

using namespace std;

// Please do not modify this file!

int main()
{
    char name[20];
    cin>>name;
    int y, m, d;
    cin>>y>>m>>d;

    student s(name, y, m, d);

    int coursenum;
    cin>>coursenum;

    char coursename[20];
    int score;
    while (coursenum-- >0 ){
        cin>>coursename;
        cin>>score;
        s.inputscore(coursename,score);
    }

    s.print();
    return 0;
}