用C++修改测试
// C++控制台.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
int 当年总天(int 年, int 月, int 天)
{
int 当年天 = 0, i, 月天[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if ((年 % 4 == 0 && 年 % 100 != 0) || 年 % 400 == 0)
{
月天[2] = 29;
}
for (i = 1; i<月; i++)
{
当年天 += 月天[i];
}
当年天 = 当年天 + 天;
return 当年天;
}
void 月天(int 年, int 年总天, int *月, int *天)
{
*月 = 0;
*天 = 0;
int 总月 = 1;
int 月天[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int 总天 = 0;
if ((年 % 4 == 0 && 年 % 100 != 0) || 年 % 400 == 0)
{
月天[2] = 29;
}
do
{
总天 += 月天[总月];
总月++;
} while (总天 < 年总天);
*月 = (总月 - 1);
*天 = 年总天 - (总天 - 月天[总月 - 1]);
printf_s("月 = %d, 天 = %d\n", *月, *天);
}
int _tmain(int argc, _TCHAR* argv[])
{
起始:
int 选;
int 年, 月, 天, 年天;
int 年总天;
int *p月, *p天;
printf_s("1. 年/月/天 -> 计算当年总天\n2. 年天 -> 年/月/天\n3. 退出\n请输入您的选择:");
scanf_s("%d", &选);
switch (选)
{
case 1:
printf_s("请输入:年, 月, 天,用 , 分割开:");
scanf_s("%d,%d,%d", &年, &月, &天);
年总天 = 当年总天(年, 月, 天);
printf_s("当年总天 = %d\n", 年总天);
break;
case 2:
printf_s("请输入:年, 当年总天,用 , 分割开:");
scanf_s("%d,%d", &年, &年总天);
月天(年, 年总天, &月, &天);
break;
case 3:
break;
}
system("pause");
//system("cls");
goto 起始;
//return 0;
}