初学C#,写下这几行代码,请大侠们挑挑错并指点一二。 (50分)

  • 主题发起人 主题发起人 特尔斐
  • 开始时间 开始时间

特尔斐

Unregistered / Unconfirmed
GUEST, unregistred user!
这段代码中用了goto,请问如果不用goto的话该如何写才可完成相同功能?
using System;
class LeapyearTester
{
static int iYear = 1990;
static void Main()
{
Console.WriteLine(" ***************************************************** ");
Console.WriteLine(" * * ");
Console.WriteLine(" * 欢迎使用闰年测试程序 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" * 版本:1.0 * ");
Console.WriteLine(" * 本程序使用C#编写 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" * Wrote by yyh 2003.08.09 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" ***************************************************** ");
Console.WriteLine("");
while (true)
{
Console.Write("请输入要测试的年份:");
ReRead:
String sYear = Console.ReadLine();
try
{
iYear = Convert.ToInt16(sYear, 10);
}
catch
{
Console.Write("");
Console.Write("输入错误,请重新输入:");
goto ReRead;
};
if ((iYear % 400) == 0 || ((iYear % 4) == 0 &&
(iYear % 100) != 0))
{
Console.WriteLine("{0}是闰年", iYear);
}
else
{
Console.WriteLine("{0}不是闰年", iYear);
}
Console.WriteLine("");
Console.WriteLine("退出请按X(x)后回车,继续测试请按回车键。");
char c = (char)Console.Read();
if (c == 'X' || c == 'x')
break;
}
}
}

另外,想请教一个问题,在C#中建立分布式应用是一个怎样的步骤?
 
Sorry,看错了 :(
 
to ZRWeng:
我在VS中调试通过了。[:D]
 
小弟也想学C#,不知你觉得C#如何呢?
 
to matrox:
初步感觉C#不错,我只是学着玩,因为我们的项目还是用DELPHI的。
 
不用goto,那么就用do..while吧
bool check=false;
do
{
String sYear = Console.ReadLine();
try
{
iYear = Convert.ToInt16(sYear, 10);
check=true;
}
catch
{
check=false;
Console.Write("");
Console.Write("输入错误,请重新输入:");
}
}while(!check);
.......
 
我看了一些介绍,感觉还可以,那天也玩了一下,觉得是挺方便的,不过可能数据库方面不会比DELPHI强.不知优势在什么地方
 
to ZRWeng:
不错不错,是可以用do..while,但好象觉得在这段代码里do..while比goto更冗繁了一些,你觉得呢?
to matrox:
.NET的数据库功能应该不会比DELPHI差吧,初步看了一下,ADO.Net确实很强大的,正在加紧学习中。[:)]
 
是呀,不过异常还是要捕捉 的
 
using System;
class LeapyearTester
{
static int iYear = 1990;
static void Main()
{
Console.WriteLine(" ***************************************************** ");
Console.WriteLine(" * * ");
Console.WriteLine(" * 欢迎使用闰年测试程序 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" * 版本:1.0 * ");
Console.WriteLine(" * 本程序使用C#编写 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" * Wrote by yyh 2003.08.09 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" ***************************************************** ");
Console.WriteLine("");
while (true)
{
Console.Write("请输入要测试的年份:");
// ReRead:
String sYear = Console.ReadLine();
try
{
iYear = Convert.ToInt16(sYear, 10);
}
catch
{
Console.Write("");
Console.Write("输入错误,请重新输入!/n");
continue;
};
if ((iYear % 400) == 0 || ((iYear % 4) == 0 &&
(iYear % 100) != 0))
{
Console.WriteLine("{0}是闰年", iYear);
}
else
{
Console.WriteLine("{0}不是闰年", iYear);
}
Console.WriteLine("");
Console.WriteLine("退出请按X(x)后回车,继续测试请按回车键。");
char c = (char)Console.Read();
if (c == 'X' || c == 'x')
break;
}
}
}
 
using System;
class LeapyearTester
{
static int iYear = 1990;
static void Main()
{
Console.WriteLine(" ***************************************************** ");
Console.WriteLine(" * * ");
Console.WriteLine(" * 欢迎使用闰年测试程序 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" * 版本:1.0 * ");
Console.WriteLine(" * 本程序使用C#编写 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" * Wrote by yyh 2003.08.09 * ");
Console.WriteLine(" * * ");
Console.WriteLine(" ***************************************************** ");
Console.WriteLine("");
while (true)
{
Console.Write("请输入要测试的年份(按X或x后回车退出):");
String sYear = Console.ReadLine();
if ((char)sYear[0] == 'X' || (char)sYear[0] == 'x')
{
break;
}
try
{
iYear = Convert.ToInt16(sYear, 10);
}
catch
{
Console.WriteLine("输入错误,请重新输入!");
continue;
};
if ((iYear % 400) == 0 || ((iYear % 4) == 0 &&
(iYear % 100) != 0))
{
Console.WriteLine("{0}是闰年", iYear);
}
else
{
Console.WriteLine("{0}不是闰年", iYear);
}
}
}
}
 
多人接受答案了。
 
后退
顶部