/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2015年 4 月 18 日 * 版 本 号:v1.0 * * 问题描述: 利用VC++6.0将我们做过的某个小程序实现其GUI(图形用户界面)版 * 输入描述:年,月,日; * 程序输出:输出当年第几天。
原程序《求当年第几天》代码如下:
#include <iostream> using namespace std; int main() { int m_year,m_month,m_day; int m_days; cin>>m_year>>m_month>>m_day; m_days=m_day; for (int i=1; i<m_month; i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) m_days+=31; else if (i==4||i==6||i==9||i==11) m_days+=30; else if (((m_year)%4==0 && (m_year) % 100 != 0)||(m_year)% 400 == 0) m_days+=29; else m_days+=28; } cout<<m_days<<endl; return 0; }
在VC++6.0输入程序代码:
int i; UpdateData(); m_days=m_day; for (i=1; i<m_month; i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) m_days+=31; else if (i==4||i==6||i==9||i==11) m_days+=30; else if (((m_year)%4==0 && (m_year) % 100 != 0)||(m_year)% 400 == 0) m_days+=29; else m_days+=28; } UpdateData(FALSE);
运行结果:
学习心得:
还不敢用VC++6.0去尝试太复杂的代码,这个《求当年第几天》曾经做过定义结构体的版本,本来想用那个来改写成VC++6.0中的代码的,但是结构体不知道放在哪,又在哪里定义等等问题还有很多不会。。。容老衲找找相关书籍学习一下再来挑战。
其实就算是这个很简单,我还是错过了一次才做成功的。步骤没有错,但是我在改编代码的时候错了,,,第一次时的代码如下:
int m_days; UpdateData(); m_days=m_day; for (int i=1; i<m_month; i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) m_days+=31; else if (i==4||i==6||i==9||i==11) m_days+=30; else if (((m_year)%4==0 && (m_year) % 100 != 0)||(m_year)% 400 == 0) m_days+=29; else m_days+=28; } UpdateData(FALSE);
和第一次不同的是在将控件显示的数据传给成员变量时之前声明的是m_days,其实已经不需要去声明了,m_days在输入代码之前时背后已经声明了。经过测试。第二次中声明的i无论是在将控件显示的数据传给成员变量时之前还是之后定义都可以。。。
没弄明白的问题还有很多,加油吧,少年!