我正在尝试计算月,日和年。我该怎么办呢?

时间:2015-09-24 16:38:59

标签: c++

这就是我到目前为止......

   // years.cpp : Defines the entry point for the console application.
  //

#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

int main()
{
int mm, dd, yyyy;
cout << "What is your birthdate? " << endl;
cin >> mm, dd, yyyy;

    switch(mm)
{
case 1:
    cout << "January\n";
    break;
case 2:
    cout << "February\n";
    break;
case 3:
    cout << "March\n";
    break;
case 4:
    cout << "April\n";
    break;
case 5:
    cout << "May\n";
    break;
case 6:
    cout << "June\n";
    break;
case 7:
    cout << "July\n";
    break;
case 8:
    cout << "August\n";
    break;
case 9:
    cout << "September\n";
    break;
case 10:
    cout << "October\n";
    break;
case 11:
    cout << "November\n";
    break;
case 12:
    cout << "Dcember\n";
    break;
}
    switch (dd)
    {

    }

return 0;
  }

我如何获得日期和年份?它必须以Ex:2003年1月4日的形式出现 我不知道如何获得每个月的一天以及如何获得这一年。

4 个答案:

答案 0 :(得分:0)

cin >> mm, dd, yyyy;  

错了,应该是

cin >> mm >> dd >> yyyy;  

您可以使用

打印日期和年份
cout << dd << "th, " << yyyy;

答案 1 :(得分:0)

假设您尝试以指定的格式打印输入日期。我想你可以在月份开关上关注每个案例的日期。 例如:

switch(mm)
{
case 1:
cout << "January " << dd << " th, " << yyyy;\n";
break;
}

答案 2 :(得分:0)

cin&gt;&gt; mm,dd,yyyy;没有做你期望它做的事情。它不会将数据读入mm,然后是dd,然后是yyyy。为此,您需要使用&gt;&gt;代替 ”,”。现在,为什么代码编译?因为,是C / C ++中的有效运算符。它只是执行它的操作数并返回最后一个的结果。在你的情况下,它会重新调整yyyy - 所以你将数据读入单变量yyyy。

同样的事情与cout和“,”那里。

答案 3 :(得分:0)

如果你想让你的程序看起来更好一些,你可以这样做:

CBMutableService

甚至只是简单地做:

#include <iostream>
using namespace std;
int main()
{
     int mm, dd, yyyy;
     cout << "What is your birthdate? " << endl;
     cin >> mm;
     cout << "/"; 
     cin >> dd;
     cout << "/";
     cin >> yyyy;
}

然后继续使用您的代码。