Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用/以便在C+中插入日期类型(dd/mm/yyyy)时自动显示+;?_C++ - Fatal编程技术网

C++ 如何使用/以便在C+中插入日期类型(dd/mm/yyyy)时自动显示+;?

C++ 如何使用/以便在C+中插入日期类型(dd/mm/yyyy)时自动显示+;?,c++,C++,我想在我的医院管理系统中自动出现一个“斜杠”。当用户使用我的应用程序输入他们的出生日期时,/分隔符应在键入时自动显示 #include <iostream> using std::cin; using std::cout; int main() { char slash; int dy, mn, yr; cout << "\nEnter your date of birth (dd/mm/yyyy) : "; cin >>

我想在我的医院管理系统中自动出现一个“斜杠”。当用户使用我的应用程序输入他们的出生日期时,
/
分隔符应在键入时自动显示

#include <iostream>
using std::cin;
using std::cout;

int main()
{
    char slash;
    int dy, mn, yr;

    cout << "\nEnter your date of birth (dd/mm/yyyy) : ";
    cin >> dy;
    cin >> slash;
    cin >> mn;
    cin >> slash;
    cin >> yr;
}
#包括
使用std::cin;
使用std::cout;
int main()
{
字符斜杠;
int-dy,mn,yr;
cout>dy;
cin>>斜杠;
cin>>mn;
cin>>斜杠;
cin>>年;
}

假设您希望在用户键入每两个字符后输出“/”,就像一种“模板”,这在一般情况下是不可能的

除非用户更改该设置,否则终端仿真器往往是行缓冲的,而您无法控制该设置。行缓冲意味着除非用户点击Enter键,否则不会向程序发送任何内容,这会立即破坏效果:

/
是自动编写的,但看起来不正确

以下是如果您完全控制终端并正确设置它时可能出现的情况:

以及我当时的PuTTY配置:

<>但是,我也必须按字符读取数据字符(否则C++不知道你在两个/四个数字之后完成),准备好在事实之后转换为数值。恶心

上述代码如下:

// Requires "stty raw" to disable line buffering
// ("stty cooked" to restore), as well as no line
// buffering on the client end

#include <iostream>
using std::cin;
using std::cout;
using std::flush;

int main()
{
    char dy1, dy2;
    cout << "\nEnter your date of birth (dd/mm/yyyy) : " << flush;

    cin >> dy1 >> dy2;
    cout << '/' << flush;

    char mn1, mn2;
    cin >> mn1 >> mn2;
    cout << '/' << flush;

    char yr1, yr2, yr3, yr4;
    cin >> yr1 >> yr2 >> yr3 >> yr4;

    std::cout << "\n" << dy1 << dy2
              << '/'  << mn1 << mn2
              << '/'  << yr1 << yr2 << yr3 << yr4 << '\n';

    // Now create some useful integers from these characters
}
//需要“stty raw”来禁用行缓冲
//(“stty煮熟”恢复),以及没有行
//客户端上的缓冲
#包括
使用std::cin;
使用std::cout;
使用std::flush;
int main()
{
char-dy1,dy2;
cout-dy1>>dy2;
cout mn1>>mn2;
库特yr1>>yr2>>yr3>>yr4;

std::是否最好将整个输入读入字符串,然后进行“解析”用于查找其组件的字符串。我希望斜杠自动显示在我的医院管理系统程序中,我创建了一个类日期和个人,我将类日期继承给个人,以便它获取其出生日期。使用此类的主要目的是当用户在“出生日期”部分使用我的应用程序输入其出生日期,而填充dd“/”应该自动出现。你说的研究是什么意思?我的意思是,你应该在请求我们帮助之前进行研究。阅读东西,尝试东西。