#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;
}