UT源码+158
Posted 余超勇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UT源码+158相关的知识,希望对你有一定的参考价值。
NextDate函数问题
NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性
NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。 要求输入变量month、day和year均为整数值,并且满足下列条件:
条件1 1≤ month ≤12 否则输出,月份超出范围
条件2 1≤ day ≤31 否则输出,日期超出范围
条件3 1912≤ year ≤2050 否则输出:年份超出范围
String nextdate(int m,int d,int y)
注意返回值是字符串。
程序要求:
1)先显示“请输入日期”
2)不满足条件1,返回:“月份超出范围”;不满足条件2,返回:“日期超出范围”;不满足条件3,返回:“年份超出范围”;如果出现多个不满足,以最先出现不满足的错误返回信息。
3)条件均满足,则输出第二天的日期:格式“****年**月**日”(如果输入2050年12月31日,则正常显示2051年1月1日
源码:
1 #include "stdafx.h"
2 #include "iostream"
3 #include <string>
4 using namespace std;
5
6 string NextDate(int year, int month, int day)
7 {
8 string nextdate;
9 //int year;
10 //int month;
11 //int day;
12 if((year<1912||year>2050))
13 {
14 cout<<"年份超出范围!"<<endl;
15 }
16 else{
17 if(month==12&&day==31)
18 {
19 year++;
20
21 if(year>2050)
22 {
23 cout<<"年份:"<<year<<"--年份超出范围!"<<endl;
24 }
25 else{
26 cout<<"年份:"<<year<<endl;
27 }
28 }
29 else{
30 cout<<"年份:"<<year<<endl;
31 }
32 }
33 char y[10];
34 sprintf(y,"%d",year);
35 nextdate += y;
36 nextdate += "年";
37
38
39 if((month<1||month>12))
40 {
41 cout<<"月份超出范围!"<<endl;
42 }
43 else{
44 if(day==31)
45 {
46 if(month==12)
47 {
48 month=1;
49 cout<<"月份:"<<month<<endl;
50 }
51 else{
52 month++;
53 cout<<"月份:"<<month<<endl;
54 }
55 }
56 else{
57 cout<<"月份:"<<month<<endl;
58 }
59 }
60 char m[10];
61 sprintf(m,"%d",month);
62 nextdate += m ;
63 nextdate += "月";
64
65 if((day<1||day>31))
66 {
67 cout<<"日期超出范围!"<<endl;
68 }
69 else{
70 if(day==31)
71 {
72 day=1;
73 cout<<"日期:"<<day<<endl;
74 }
75 else{
76 day++;
77 cout<<"日期:"<<day<<endl;
78 }
79 }
80 char d[10];
81 sprintf(d,"%d",day);
82 nextdate += d ;
83 nextdate += "日";
84 //cout<<"输出为:"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
85 return nextdate;
86 }
87
88
89 int _tmain(int argc, _TCHAR* argv[])
90 {
91 int year, month, day;
92 cout<<"请依次输入年份,月份,日期!"<<endl;
93 cin>>year>>month>>day;
94 cout<<"输入为:"<<year<<"年"<<month<<"月"<<day<<"日"<<endl;
95 cout<<NextDate(year, month, day)<<endl;
96 system("pause");
97 }
以上是关于UT源码+158的主要内容,如果未能解决你的问题,请参考以下文章