C++代码简化问题
以下这个程序已经完成了 请大家帮我debug一下 看看还有哪些需要修正的地方 ,同时 我想问下 下面的代码 在维持功能不变的情况下 还能不能够精简!
#include<iostream>
//#include<iomanip>
//#include <locale>
using namespace std;
int main()
{
char a=0,c;
int year,i=2,k=2; do
{
cout<<" 欢迎您使用闰年查询器!"<<endl;
cout<<"请输入您要查询的年份:";
cin>>year;
while(i<1,i--)
{
if(year>0&&year<9999)
;
else
{
cout<<"请输入0-9999之间正确的年份!";
cin>>year;
}
}
cout<<"年份查询中请稍等..."<<endl;
if ((year%4==0&&year%100!=0)||(year%400==0))
{
cout<<endl;
cout<<" 恭喜您,您所查询的"<<year<<"年是闰年!!"<<endl;
cout<<endl;
}
else
{
cout<<endl;
cout<<" 很遗憾,您所查询的"<<year<<"年不是闰年!"<<endl;
cout<<endl;
}
cout<<"请问您还想再算一遍吗?是请按Y,退出请按Q!";
cin>>c;
do
{
if(c=='y'||c=='Y')
{
a=1;
}
else if(c=='q'||c=='Q')
{
a=0;
}
else
{
cout<<"您输入的不是Y或N,请重新输入正确的字母!:";
cin>>c;
a=0;
}
}while(k<1,k--);
}while(a);
cout<<"程序结束,感谢您的使用。再见!"<<endl;
cout<<endl;
cout<<endl;
cout<<" ";
}
补充:该程序已经发现一个小bug 就是每重复运行一次,运行速度就越来越慢 !!问题出在哪里
追问:呵呵 多谢你的分析 。 问题我已经解决了
把int year,i=2,k=2; 定义放到了 第一个do...whiie循环中的开始,初始化了i和k的值就不卡了,前面卡的原因是因为 i和k的值没有被初始化 他们都被自减为0了。 你看是么?