允许用0保留原值。
This commit is contained in:
@@ -284,21 +284,21 @@ void ListDisplay::promptForFromDate() {
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
curDate.tm_year = (tempInput == 0 ? curDate.tm_year : tempInput - 1900);
|
||||
std::cout << setoutputcolor(ConsoleColorTool::blue)
|
||||
<< "Month: " << resetOutputColor << std::flush;
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
curDate.tm_mon = (tempInput == 0 ? curDate.tm_mon : tempInput - 1);
|
||||
std::cout << setoutputcolor(ConsoleColorTool::blue)
|
||||
<< "Day: " << resetOutputColor << std::flush;
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
curDate.tm_mday = (tempInput == 0 ? curDate.tm_mday : tempInput);
|
||||
}
|
||||
else {
|
||||
@@ -354,21 +354,21 @@ void ListDisplay::promptForToDate() {
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
curDate.tm_year = (tempInput == 0 ? curDate.tm_year : tempInput - 1900);
|
||||
std::cout << setoutputcolor(ConsoleColorTool::blue)
|
||||
<< "Month: " << resetOutputColor << std::flush;
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
curDate.tm_mon = (tempInput == 0 ? curDate.tm_mon : tempInput - 1);
|
||||
std::cout << setoutputcolor(ConsoleColorTool::blue)
|
||||
<< "Day: " << resetOutputColor << std::flush;
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
curDate.tm_mday = (tempInput == 0 ? curDate.tm_mday : tempInput);
|
||||
}
|
||||
else {
|
||||
@@ -419,7 +419,7 @@ void ListDisplay::promptForSearchStuID() {
|
||||
// std::cin >> tempStuID;
|
||||
// std::cin.ignore();
|
||||
tempStuID = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
this->searchForStu.setNumber(tempStuID == 0 ? this->searchForStu.getNumber()
|
||||
: tempStuID);
|
||||
this->reapplyFilter();
|
||||
|
||||
@@ -10,7 +10,7 @@ private:
|
||||
int getIndexInRange(int index) const;
|
||||
void quickSort(
|
||||
int leftBound, int rightBound,
|
||||
std::function<bool(const E &, const E &)> const &isCorrentOrderFunc);
|
||||
std::function<bool(const E &, const E &)> const &isCorrectOrderFunc);
|
||||
|
||||
public:
|
||||
List();
|
||||
@@ -77,7 +77,7 @@ template <class E> int List<E>::getIndexInRange(int index) const {
|
||||
template <class E>
|
||||
void List<E>::quickSort(
|
||||
int leftBound, int rightBound,
|
||||
std::function<bool(const E &, const E &)> const &isCorrentOrderFunc) {
|
||||
std::function<bool(const E &, const E &)> const &isCorrectOrderFunc) {
|
||||
if (leftBound >= rightBound) {
|
||||
return;
|
||||
}
|
||||
@@ -87,14 +87,14 @@ void List<E>::quickSort(
|
||||
int right = rightBound;
|
||||
|
||||
while (left < right) {
|
||||
while (isCorrentOrderFunc((*this)[pivot], (*this)[right]) &&
|
||||
while (isCorrectOrderFunc((*this)[pivot], (*this)[right]) &&
|
||||
right > left) {
|
||||
right--;
|
||||
}
|
||||
this->swap(pivot, right);
|
||||
pivot = right;
|
||||
|
||||
while (isCorrentOrderFunc((*this)[left], (*this)[pivot]) &&
|
||||
while (isCorrectOrderFunc((*this)[left], (*this)[pivot]) &&
|
||||
right > left) {
|
||||
left++;
|
||||
}
|
||||
@@ -102,8 +102,8 @@ void List<E>::quickSort(
|
||||
pivot = left;
|
||||
}
|
||||
|
||||
quickSort(leftBound, pivot - 1, isCorrentOrderFunc);
|
||||
quickSort(pivot + 1, rightBound, isCorrentOrderFunc);
|
||||
quickSort(leftBound, pivot - 1, isCorrectOrderFunc);
|
||||
quickSort(pivot + 1, rightBound, isCorrectOrderFunc);
|
||||
}
|
||||
|
||||
template <class E> List<E>::List() : head(NULL), _length(0){};
|
||||
|
||||
@@ -71,21 +71,21 @@ void BaseRecord::promptForNewDate(bool showOriginal) {
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
newDate.tm_year = (tempInput == 0 ? curDate.tm_year : tempInput - 1900);
|
||||
std::cout << setoutputcolor(ConsoleColorTool::blue)
|
||||
<< "Month: " << resetOutputColor << std::flush;
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
newDate.tm_mon = (tempInput == 0 ? curDate.tm_mon : tempInput - 1);
|
||||
std::cout << setoutputcolor(ConsoleColorTool::blue)
|
||||
<< "Day: " << resetOutputColor << std::flush;
|
||||
// std::cin >> tempInput;
|
||||
// std::cin.ignore();
|
||||
tempInput = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
newDate.tm_mday = (tempInput == 0 ? curDate.tm_mday : tempInput);
|
||||
}
|
||||
else {
|
||||
@@ -157,7 +157,7 @@ void BaseRecord::promptForNewStudentInfo(bool showOriginal) {
|
||||
// std::cin >> tempStuID;
|
||||
// std::cin.ignore();
|
||||
tempStuID = safeInputNum<int>("Please input a positive integer.\n",
|
||||
[](const int &num) { return num > 0; });
|
||||
[](const int &num) { return num >= 0; });
|
||||
this->student.setNumber(tempStuID == 0 ? this->student.getNumber()
|
||||
: tempStuID);
|
||||
std::cout << setoutputcolor(ConsoleColorTool::blue)
|
||||
|
||||
Reference in New Issue
Block a user