我对C ++很新,我的教授给了我们一个作业,其中一部分是以下指令:
要求用户以此格式输入日期: dd-mm-yyyy。 检查用户的输入是否正确 - 长度必须为10个字符,第3个和第5个字符必须为短划线,所有其他字符必须为0到9之间的数字。如果发现单个错误,请打印消息并询问一个新的条目。
这是我到目前为止的代码。就我而言。 我不知道如何检查字符串中特定位置的“破折号”字符串。我不需要为我编写解决方案,任何文档或示例都可以。我搜索了谷歌和stackoverflow的答案,但我找到的只是PHP或C#答案。
#include "stdafx.h"
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
const int datelength = 10;
string date;
cout << "Enter a date using the DD-MM-YYYY format: ";
cin >> date;
if (date.size() > datelength) {
cout << "\n\nYour entry must be 10-char long. Hit any key to continue..." << endl << endl;
}
return 0;
}
答案 0 :(得分:1)
你可以索引到string
来访问各个字符,所以如果我想查看字符串的第一个字符是否是J
,我可以这样做:
std::string input;
std::getline(std::cin, input);
if (input[0] == 'J')
std::cout << "It's a J";