Mọi người ơi mình sai chỗ nào mà code bị Sapxep is not declared in this scope
#include <iostream>
using namespace std;
class DATE {
private:
int day, month, year;
public:
DATE() {
day = month = year = 0;
}
DATE(int d, int m, int y) {
day = d;
month = m;
year = y;
}
void nhap() {
char bf, cf;
cin >> day >> bf >> month >> cf >> year;
}
void in() {
cout << day << "/" << month << "/" << year;
}
void reset(int d, int m, int y) {
day = d;
month = m;
year = y;
}
int dayIns(){
int nd;
switch(month){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
nd = 30;
break;
case 4: case 6: case 9: case 11:
nd = 31;
break;
case 2:
if((year%400 == 0) || (year%4==0 && year!=0))
nd =29;
else
nd =28;
}
return(nd);
}
void normalize(){
while(month>12){
month -=12;
year ++;
}
while(day>dayIns()){
day -=dayIns();
month++;
if( month>12){
month = 1;
year++;
}
}
}
//neu d2 nho hon ngay hien tai
int operator- (DATE d2){
int nd =0;
while(day!=d2.day || month!= d2.month || year!=d2.year){
nd++;
d2.day++;
d2.normalize();
}
return(nd);
}
void Sapxep(DATE *p, int n) {
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++)
if ((p + i)->year > (p + j)->year||(p + i)->month > (p + j)->month||(p + i)->day > (p + j)->day) {
DATE tmp = * (p + j);
*(p + j) = * (p + i);
*(p + i) = tmp;
}
}}
};
int main() {
DATE d;
cout << "Ngay vua khai bao: ";
d.in();
DATE d1(25, 9, 2023);
cout << endl << "Ngay hien tai: ";
d1.in();
d1.reset(300, 50, 2024);
cout << endl << "So ngay cua d1: " << d1.dayIns();
d1.normalize();
cout << endl << "Ngay dung cua d1 se la: ";
d1.in();
cout << endl << "So ngay ngay hien tai se la: " << d1.operator-(DATE(18, 5, 2024));
//Sap xep ngay thang
cout<<endl<<"DAY NGAY CAN DUOC SAP XEP";
cout<<endl<<"hay nhap so ngay can duoc sap xep: ";
int n;
cin>>n;
DATE *p = new DATE[n];
for(int i=0; i<n; i++){
cout<<endl<<"Nhap phan so thu "<<i+1<<" : ";
p[i].nhap();}
cout<<endl<<"Day ngay da duoc sap xep vua nhap: ";
Sapxep(p,n);
for(int i=0;i<n;i++){
(a+i)->in();
cout<<" ";
}
}