#include <iostream>
#include <Windows.h>
using namespace std;
void gotoxy(int x, int y)
{
static HANDLE h = NULL;
if (!h)
h = GetStdHandle(STD_OUTPUT_HANDLE);
COORD c = { x, y };
SetConsoleCursorPosition(h, c);
}
void check(int &nN, int col, int row);
void Enter_date(int &nD);
int main()
{
int nD = 0;
Enter_date(nD);
system("pause");
return 0;
}
void check(int &nN, int col, int row)
{
float fCheck = 0;
do
{
gotoxy(col, row);
cin >> fCheck; //Cái này em dùng để đưa con trỏ về sau chữ "Month: "
cout << endl;
if (fCheck <= 0 || fCheck - (int)fCheck != 0)// em check xem có phải số nguyên dương hay không
{
cout << "You enter fail. Please enter again." << endl;
for (int i = 0; i <= 34; i++) // 0 -> 34 là nơi em muốn xóa dòng chữ này
{
gotoxy(i, row + 1);
cout << " ";
}
}
} while (fCheck <= 0 || fCheck - (int)fCheck != 0);
nN = fCheck;
}
void Enter_date(int &nD)
{
cout << "Enter date." << endl;
cout << "Month: ";
check(nD, 7, 1);
}
Khi chạy chương trình em gặp nhiều vấn đề là:
-
Khi nhập số cho month em gặp sự cố là nhập số nhưng nó thành chữ việt có dấu.
-
Khi em enter chạy thử thì nó cứ lặp đi lặp lại, em không thể cin>> thêm lần nào.(Mọi người có thể chạy và xem thử).
Mong mọi người giúp em giải đáp những thắc mắc. Cảm ơn mọi người

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?