C#实验报告.docx
- 文档编号:23128464
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:26
- 大小:328.10KB
C#实验报告.docx
《C#实验报告.docx》由会员分享,可在线阅读,更多相关《C#实验报告.docx(26页珍藏版)》请在冰豆网上搜索。
C#实验报告
专业:
计算机科学与技术
指导老师:
李伟
班级:
计092
学号:
099074054
姓名:
陶嘉莉
实验五——异常处理
实验目的
1.理解异常的产生过程和异常处理的概念
2.掌握C#异常处理的方法
实验内容
异常的产生是由于代码执行过程中满足了异常的条件而使程序无法正常运行下去,捕获异常实验try-catch语句。
还可以通过throw语句无条件抛出异常。
输入1~365之间的数字,判断它是一年中的几月几日。
增加的代码
Console.Write("Pleaseinputtheyear:
");
stringst=Console.ReadLine();
intyearNum=int.Parse(st);
boolisleapyear=yearNum%4==0&&yearNum%100!
=0||yearNum%400==0;
intmaxDayNum=isleapyear?
366:
365;
Console.Write("Pleaseinputadaynumberbetween1and{0}:
",maxDayNum);
运行结果
实验四-----界面设计与文件存取
1.实验目的
(1)练习界面功能的设计方法。
(2)练习文本文件的存取方法。
(3)练习对话框的使用方法。
(4)练习菜单的设计方法。
(5)练习工具条和状态条的设计方法。
(6)练习一个窗体调用另外一个窗体以及窗体间参数传递的方法。
2.实验内容
重新设计和处理与个人存取款相关的业务,假定处理业务仅有活期存款一种,而且业务
处理规定与实验三的活期存款业务相同。
要求功能界面中包括菜单条、工具条和状态条。
3.实验步骤
(1)创建一个名为MenuBankCustoms的Windows应用程序项目。
重命名Form1.cs为
FormMain.cs,然后在此窗体上设计个人存款业务处理的功能界面。
(2)向项目中添加一个类文件Account.cs,提供以下属性。
AccountName:
存款人姓名
AccountNumber:
存款人帐号
AccountBalance:
帐户余额。
同时在该类中提供下面的方法。
Deposit方法:
负责实现存款功能。
Withdraw方法:
负责实现取款功能。
(3)向项目中添加一个类文件Customers.cs,用于处理所有帐户的信息。
类中提供下面
的方法。
Load方法:
负责从文件bankdata.txt中将所有存款人的信息读入到Account类型的数组
中,并返回该数组。
Save方法:
负责将所有存款人的信息保存到bankdata.txt文件中。
该方法返回一个布尔
型的值,表明保存是否成功。
CreateAccount方法:
负责创建新帐户,该方法返回新建的帐户。
(4)向项目中添加一个Windows窗体文件FormShowAccountMessage.cs,在该窗体中显
示所有帐户信息
usinglab4b1;
usinglab4b2;
namespacelab4b
{
publicpartialclassForm1:
Form
{
publicForm1()
{InitializeComponent();}
privatevoidtoolStripLabel3_MouseEnter(objectsender,EventArgse)
{label3.Text="将内存中所有用户的信息显示出来";}
privatevoidtoolStripLabel3_MouseLeave(objectsender,EventArgse)
{label3.Text="";}
privatevoidtoolStripLabel1_MouseEnter(objectsender,EventArgse)
{label3.Text="打开内存中所有用户的信息";}
privatevoidtoolStripLabel1_MouseLeave(objectsender,EventArgse)
{label3.Text="";}
privatevoidtoolStripLabel2_MouseEnter(objectsender,EventArgse)
{label3.Text="保存所有用户信息";}
privatevoidtoolStripLabel2_MouseLeave(objectsender,EventArgse)
{label3.Text="";}
privatevoidbutton1_MouseEnter(objectsender,EventArgse)
{label3.Text="在已有用户上存款或者新开户并存款";}
privatevoidbutton1_MouseLeave(objectsender,EventArgse)
{label3.Text="";}
privatevoidbutton2_MouseEnter(objectsender,EventArgse)
{label3.Text="在已有用户上进行利息结算并取款";}
privatevoidbutton2_MouseLeave(objectsender,EventArgse)
{label3.Text="";}
privatevoidlistBox1_MouseEnter(objectsender,EventArgse)
{label3.Text="所有用户的信息记录";}
privatevoidlistBox1_MouseLeave(objectsender,EventArgse)
{label3.Text="";}
privatevoidtoolStripButton1_Click(objectsender,EventArgse)
{
Form1_Load(sender,e);
Customscs=newCustoms();
Account[]at0=newAccount[50];
at0=cs.Load();
for(inti=0;string.Compare(at0[i].AccountName,"")!
=0;i++)
listBox1.Items.Insert(0,at0[i].AccountName+"\t"+at0[i].AccountNumber+"\t"+at0[i].AccountBalance.ToString());
intj;
for(j=0;j if(string.Compare(at[j].AccountName,"")==0) break; for(inti=0;i at[i+j]=at0[i]; } privatevoidbutton1_Click(objectsender,EventArgse) { inti,items=-1; doubledollars=double.Parse(textBox2.Text); stringName=textBox1.Text; for(i=0;i if(string.Compare(at[i].AccountName,"")==0) break; elseif(string.Compare(at[i].AccountName,Name)==0) {items=i;break;} if(items==-1) { intj; do { intNum=int.Parse(Account.newAccountNum); Num++; if(Num/10==0) Account.newAccountNum="000"+Num.ToString(); elseif(Num/100==0) Account.newAccountNum="00"+Num.ToString(); elseif(Num/1000==0) Account.newAccountNum="0"+Num.ToString(); else Account.newAccountNum=Num.ToString(); for(j=0;string.Compare(at[j].AccountNumber,Account.newAccountNum)! =0&&string.Compare(at[j].AccountName,"")! =0;j++); }while(string.Compare(at[j].AccountName,"")! =0); at[i].AccountName=Name; at[i].AccountNumber=Account.newAccountNum; at[i].Deposit(dollars); listBox1.Items.Insert(0,"开户: "+at[i].AccountName+"\t"+at[i].AccountNumber+"\t"+at[i].AccountBalance.ToString()); } else { listBox1.Items.Insert(0,"存款前: "+at[i].AccountName+"\t"+at[i].AccountNumber+"\t"+at[i].AccountBalance.ToString()); at[i].Deposit(dollars); listBox1.Items.Insert(0,"存款后: "+at[i].AccountName+"\t"+at[i].AccountNumber+"\t"+at[i].AccountBalance.ToString()); } } privatevoidForm1_Load(objectsender,EventArgse) { for(inti=0;i at[i]=newlab4b1.Account(); textBox2.Text="0"; } privatevoid打开ToolStripMenuItem_Click(objectsender,EventArgse) {toolStripButton1_Click(sender,e);} privatevoid保存ToolStripMenuItem_Click(objectsender,EventArgse) {toolStripButton2_Click(sender,e);} privatevoidbutton2_Click(objectsender,EventArgse) { stringName=textBox1.Text; doubledollars=double.Parse(textBox2.Text); intitems=-1; inti; for(i=0;i if(string.Compare(at[i].AccountName,"")==0) break; elseif(string.Compare(at[i].AccountName,Name)==0) {items=i;break;} if(items==-1) listBox1.Items.Insert(0,"Error: "+Name+"不存在: 如果要开户请选择‘存款’按钮"); else { if(at[i].IsWithdraw(dollars)==0) listBox1.Items.Insert(0,"Error: "+at[i].AccountName+"\t"+at[i].AccountNumber+"\t"+at[i].AccountBalance.ToString()+"\t余额不足"); else { listBox1.Items.Insert(0,"存款前: "+at[i].AccountName+"\t"+at[i].AccountNumber+"\t"+at[i].AccountBalance.ToString()); at[i].Withdraw(dollars); listBox1.Items.Insert(0,"存款后: "+at[i].AccountName+"\t"+at[i].AccountNumber+"\t"+at[i].AccountBalance.ToString()); } } } privatevoidtoolStripButton2_Click(objectsender,EventArgse) { if(MessageBox.Show("是否将所有用户信息保存在//bankdata.txt中","保存",MessageBoxButtons.YesNo)==DialogResult.Yes) { Customsct=newCustoms(); ct.Save(at[0],false); for(inti=1;string.Compare(at[i].AccountName,"")! =0;i++) ct.Save(at[i]); } } privatevoidtoolStripButton3_Click(objectsender,EventArgse) { f2.Show(); for(inti=0;string.Compare(at[i].AccountName,"")! =0;i++) f2.listBox1.Items.Insert(0,at[i].AccountName+"\t"+at[i].AccountNumber+"\t"+at[i].AccountBalance.ToString()); } privatevoid显示所有账户信息ToolStripMenuItem_Click(objectsender,EventArgse) {toolStripButton3_Click(sender,e);} privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse) { stringstr=listBox1.SelectedItem.ToString(); str=str.Substring(0,3); str=str.Trim(); textBox1.Text=str; } } } classAccount { publicstaticstringnewAccountNum="0000"; privatestringaccountName=""; privatestringaccountNumber=""; privatedoubleaccountBalance=0; publicdoublerate1=0.003; publicdoublerate2=0.006; publicAccount() { accountName=""; accountNumber=""; accountBalance=0; } publicAccount(stringName,doubleBalance) { accountName=Name; accountNumber=newAccountNum; intNum=int.Parse(newAccountNum); Num++; if(Num/10==0) newAccountNum="000"+Num.ToString(); elseif(Num/100==0) newAccountNum="00"+Num.ToString(); elseif(Num/1000==0) newAccountNum="0"+Num.ToString(); else newAccountNum=Num.ToString(); accountBalance=Balance; } publicvoidDeposit(doubledollars) {accountBalance+=dollars;} publicintIsWithdraw(doubledollars) { if(accountBalance<=500) if(accountBalance*(1+rate1)>=dollars)return1; elsereturn0; else if(accountBalance*(1+rate2)>=dollars)return1; elsereturn0; } publicvoidWithdraw(doubledollars) { if(accountBalance<=500)accountBalance-=-accountBalance*rate1+dollars; elseaccountBalance-=-accountBalance*rate2+dollars; } publicstringAccountName { set{accountName=value;} get{returnaccountName;} } publicstringAccountNumber { set{accountNumber=value;} get{returnaccountNumber;} } publicdoubleAccountBalance { set{accountBalance=value;} get{returnaccountBalance;} } } classCustoms { publicAccount[]Load() { inti; Account[]At=newAccount[30]; for(i=0;i At[i]=newAccount(); stringstr; i=0; StreamReaderreader=newStreamReader(@"F: \bankdata.txt",System.Text.Encoding.Default); while((str=reader.ReadLine())! =null) { string[]strline=newstring[3]; strline=str.Split(''); At[i].AccountName=strline[0]; At[i].AccountNumber=strline[1]; At[i].AccountBalance=double.Parse(strline[2]); i++; } reader.Close(); returnAt; } publicboolSave(Accountat0,boolappend) { StreamWriterwriter=newStreamWriter(@"F: \bankdata.txt",append,System.Text.Encoding.Default); writer.WriteLine(at0.AccountName+""+at0.AccountNumber+""+at0.AccountBalance.ToString()); writer.Close(); returntrue; } publicboolSave(Accountat0) { StreamWriterwriter=newStreamWriter(@"F: \bankdata.txt",true,System.Text.Encoding.Default); writer.WriteLine(at0.AccountName+""+at0.AccountNumber+""+at0.AccountBalance.ToString()); writer.Close(); returntrue; } } 运行结果 ADO.NET与数据操作 1.实验目的 (1)练习SQLServer数据库的创建与使用方法。 (2)练习存储过程的创建与调用方法。 (3)练习简单的统计查询方法。 (4)练习绑定DataGridView到数据源的方法。 (5)练习绑定其他控件到数据源的方法。 (6)练习数据库中图片的显示和存取方法。 2.实验内容 设计一个Windows应用程序项目,实现简单的银行工作人员基本信息管理,以及利用存 储过程实现统计和查询功能。 具体要求如下。 (1)程序开始运行出现图4-4所示的主功能以及登录界面,系统功能仅有两种,一种是 基本信息管理,另一种是统计男女人数。 已知所有操作员和对应的密码已经保存在数据库中 的某个表中,只有操作员密码正确时才允许使用系统功能。 (2)当操作员选中【基本信息管理】功能时,弹出如图4-5所示的窗体,可以对基本信 息进行记录导航、添加、删除、修改、保存,以及对照片的导入和移除处理。 (3)当操作员选中【统计男女人数】功能时,直接弹出一个对话框显示统计结果。 3.实验步骤 (1)创建一个名为BankEmployee的Windows应用程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 实验 报告