如何将字符串形式的日期(“2012年12月25日”)转换为一组整数(12/25/12)?

时间:2017-04-28 20:58:44

标签: c++ function parsing pointers

我在编程方面很陌生,我的教授希望该类编写一个函数GetDate(int *dptr, int *mptr, int *yptr),它提示用户输入一个字符串作为一个字符串并输出一个整数,它通过{返回这些值{1}},dptrmptr。我不明白指向这个级别的指针(我理解基础知识),我只需要任何愿意提供帮助的人的支持。我的代码也非常低效,是的,我知道我没有使用指针,输出完全错误,但我正在尝试。我是新人,所以我可能看起来很业余,但请有人帮助我。

yptr

********** ******* EDIT 我重新编写了我的整个代码并使用数组进行了操作,但我仍然需要帮助!!!

#include <iostream>
#include <string>
using namespace std;

void GetMonth() {
    string month;
    cout << "Please enter month: ";
    cin >> month;
    if (month == "jan")
    {
        cout << "01/" << endl;
    }
    else if (month == "feb")
    {
        cout << "02/" << endl;
    }
    else if (month == "mar")
    {
        cout << "03/"<< endl;
    }
    else if (month == "apr")
    {
        cout << "04/" << endl;
    }
    else if (month == "may")
    {
        cout << "05/" << endl;
    }
    else if (month == "june")
    {
        cout << "06/" << endl;
    }
    else if (month == "july")
    {
        cout << "07/" << endl;
    }
    else if (month == "aug")
    {
        cout << "08/" << endl;
    }
    else if (month == "sept")
    {
        cout << "09/" << endl;
    }
    else if (month == "oct")
    {
        cout << "10/" << endl;
    }
    else if (month == "nov")
    {
        cout << "11/" << endl;
    }
    else if (month == "dec")
    {
        cout << "12/" << endl;
    }
}

int main()
{
    string month;
    int day, year;
    GetMonth();
    cout << "Enter a day: ";
    cin >> day;
    cout << "Enter a Year: ";
    cin >> year;
    cout << "The date in int is: " << month << day << year << endl;
    return 0;

}

1 个答案:

答案 0 :(得分:0)

这里有一些代码。它旨在帮助您,而不是为您做。

尝试研究并开发它。仅当您输入正确的日期格式时,代码才能正常工作。

您可以添加一些可以验证输入的函数,并处理不同的格式可能性,例如大写和小写输入。

请注意package:service_workerGetDate,目前仅返回bool。您需要工作并在需要时返回false。

true