栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

【C#】实验6

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C#】实验6

文章目录
  • s6-1
  • s6-2
  • 解决方案源代码

s6-1

设计项目s6-1。编写一个程序,用以接受用户输入的两个double类型的值。一个值表示用户想要存放在银行账户中的金额。另一个值表示用户想要从银行账户中提取的金额。创建自定义异常,以确保提取的金额始终小于或等于当前的余额。引发异常时,程序应显示一则错误消息。否则,程序应显示从用户存款中扣除取款额之后的账户余额。

MainForm.cs:


using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace s6_1
{
	public partial class MainForm : Form
	{
		public MainForm()
		{
			InitializeComponent();
		}
		void Button1Click(object sender, EventArgs e)
		{
			try
			{
				if(Convert.ToDouble(this.textBox2.Text) < Convert.ToDouble(this.textBox3.Text))
				{
					throw new ExceptionClass("ERROR:取款金额不能大于当前存款金额!");
				}
				else
				{
					this.textBox1.Enabled = true;
					this.textBox1.Text = Convert.ToString(Convert.ToDouble(this.textBox2.Text)-Convert.ToDouble(this.textBox3.Text));
				}
			}
			catch(ExceptionClass ex)
			{
				MessageBox.Show(ex.Message);
			}
		}
		void TextBox2TextChanged(object sender, EventArgs e) {}
		void TextBox3TextChanged(object sender, EventArgs e) {}
	}
}

ExceptionClass.cs:


using System;

namespace s6_1
{
     public class ExceptionClass:ApplicationException
     {
         public ExceptionClass(string message) : base(message)
         {
         	
         }
     }
}

Program.cs:


using System;
using System.Windows.Forms;

namespace s6_1
{
	internal sealed class Program
	{
		private static void Main(string[] args)
		{
			Application.EnableVisualStyles();
			Application.SetCompatibleTextRenderingDefault(false);
			Application.Run(new MainForm());
		}	
	}
}

窗体设计:

测试结果:
测试不抛出异常的正常情况:输入存入金额为100元,取出金额为80元,点击确认按钮,程序正常运行,计算得出当前金额为20元,结果正确。

测试异常情况:输入存入金额为100元,取出金额为120元,点击确认按钮,程序弹出异常提示窗口。

s6-2

设计项目s6-2。编写一个程序,要求用户输入邮件地址,Email地址必须符合规范。编写一个邮件地址格式不符合规范的自定义异常继承自ApplicationException,如果邮件地址格式不符合规范,则抛出这个异常。邮件地址规范是:确保电子邮件地址含有符号“@”,且只出现一次;含有符号“.”,且只出现一次;符号“_”不能出现在电子邮件地址的开头。

MainForm.cs:


using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace s6_2
{
	public partial class MainForm : Form
	{
		public MainForm()
		{
			InitializeComponent();
		}
		void TextBox1TextChanged(object sender, EventArgs e) {}
		void Button1Click(object sender, EventArgs e)
		{
			try
			{
				string str = this.textBox1.Text;
				int AtNum=0, PointNum=0;
				bool flag=false;
				int length=str.Length-1;
				for(int i=0;i
					if(str[i]=='@')
					{
						AtNum++;
					}
					else if(str[i]=='.')
					{
						PointNum++;
					}
					else if(str[0]=='_')
					{
						flag=true;
					}
				}
				if(AtNum!=1)
				{
					throw new ExceptionClass("格式错误!符号“@”应有且仅有一个");
				}
				if(PointNum!=1)
				{
					throw new ExceptionClass("格式错误!符号“.”应有且仅有一个");
				}
				if(flag)
				{
					throw new ExceptionClass("格式错误!符号“_”不能出现在开头");
				}
				else
				{
					MessageBox.Show("邮箱格式正确!");
				}
			}
			catch(ExceptionClass ex)
			{
				MessageBox.Show(ex.Message);
			}
		}
	}
}

ExceptionClass:


using System;

namespace s6_2
{
     public class ExceptionClass:ApplicationException
     {
         public ExceptionClass(string message) : base(message)
         {
         	
         }
     }
}

Program.cs:


using System;
using System.Windows.Forms;

namespace s6_2
{
	internal sealed class Program
	{
		private static void Main(string[] args)
		{
			Application.EnableVisualStyles();
			Application.SetCompatibleTextRenderingDefault(false);
			Application.Run(new MainForm());
		}
	}
}

窗体设计:

测试结果:
测试不抛出异常的正常情况,输入邮箱981866921@qq.com,点击验证邮箱,弹出邮箱格式正确窗口。


测试字符“@”出错的异常情况,输入邮箱981866921qq.com,点击验证邮箱,弹出异常提示窗口。


测试字符“.”出错的异常情况,输入邮箱981866921@qqcom,点击验证邮箱,弹出异常提示窗口。


测试字符“_”开头的异常情况,输入邮箱_981866921@qq.com,点击验证邮箱,弹出异常提示窗口。

解决方案源代码

C#实验6 解决方案及项目源代码压缩包

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023183.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号