C#小练习ⅲ

输入任意两个整数,求两者的商。使用异常处理机制捕获零除异常和参数格式异常。

运行效果如图:

图(1)

图(2)


图(3)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
	class Program
	{
		static void Main( string[] args )
		{
			int	a, b, c;
			Boolean flag = true, flag2 = true;
			Console.WriteLine( "请输入被除数:" );
			while ( flag )
			{
				try
				{
					a	= int.Parse( Console.ReadLine() );
					flag	= false;
					while ( flag2 )
					{
						Console.WriteLine( "请输入除数" );
						try
						{
							b	= int.Parse( Console.ReadLine() );
							flag2	= false;
							try
							{
								c = a / b;
								Console.WriteLine( "被除数/除数={0}", c );
							}
							catch ( DivideByZeroException )
							{
								Console.WriteLine( "除数不能为0!!" );
							}
						}
						catch ( FormatException )
						{
							Console.WriteLine( "输入的不是整数!请重新输入!" );
						}
					}
				}
				catch ( FormatException )
				{
					Console.WriteLine( "输入的不是整数!请重新输入!" );
				}
			}
		}
	}
}


编写异常处理程序,其功能用于实现银行存取款过程中可能遇到的情况,用C#的异常处理来实现

创建自定义异常,以确保提取的金额始终小于或等于当前的余额。

自定义方法用于实现取款的功能。取款金额大于存款金额时,抛出自定义异常,并使得余额为存款值。

控制台接受用户输入的两个double类型的值。一个值表示用户想要存放在银行账户中的金额,另一个值表示用户想要从银行账户中提取的金额。并输出取款后的余额。

捕获可能出现的异常,无论是否有异常打印“交易结束请取回卡” 。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test2
{
	class myException : ApplicationException
	{
		public void customException()
		{
		}
	}
	class Program
	{
		static void Main( string[] args )
		{
			Double	InPut = 0;
			int	num;
			Boolean flag = true, change = true;
			Console.WriteLine( "欢迎使用在线银行存取业务:".PadLeft( 30 ) );
			Console.WriteLine( "请输入你要进行的业务对应序列号(1:存款 2:取款 0:退出)" );
			while ( flag )
			{
				try
				{
					num = int.Parse( Console.ReadLine() );

					while ( change )
					{
						if ( num == 1 || num == 2 || num == 0 )
							break;
						Console.WriteLine( "请输入对应业务序列号:(1:存款 2:取款 0:退出)" );
						num = int.Parse( Console.ReadLine() );
					}
					if ( num == 0 )
					{
						Console.WriteLine( "欢迎使用本在线银行存取业务".PadLeft( 30 ) );
						Console.WriteLine( "交易结束请取回卡".PadLeft( 28 ) );
						break;
					}

					if ( num == 1 )
					{
						Console.WriteLine( "输入存款金额:" );
						try
						{
							double mid = double.Parse( Console.ReadLine() );
							InPut += mid;
							Console.WriteLine( "您的银行余额为:{0}", InPut );
							Console.WriteLine( "继续存取款则输入:(1:存款 2:取款 0:退出)" );
						}
						catch ( FormatException )
						{
							Console.WriteLine( "输入格式不正确:" );
						}
					}
					if ( num == 2 )
					{
						Console.WriteLine( "输入取款金额:" );
						try
						{
							double	mid	= double.Parse( Console.ReadLine() );
							double	middle	= InPut; /* 操作不成功 则不处理余额 */
							middle -= mid;

							if ( middle < 0 )
							{
								try
								{
									throw new myException();
								}
								catch ( myException )
								{
									Console.WriteLine( "你的余额不足不能完成此操作!!!可输入1进行存款!!!" );
								}
							}else  {
								InPut = middle;
								Console.WriteLine( "您的银行余额为:{0}", InPut );
								Console.WriteLine( "继续存取款则输入:(1:存款 2:取款 0:退出)" );
							}
						}
						catch ( FormatException )
						{
							Console.WriteLine( "输入格式不正确:" );
						}
					}
				}
				catch ( FormatException )
				{
					Console.WriteLine( "您输入的格式不正确" );
				}
			}
		}
	}
}


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值