C#实验报告 类与对象的访问性:银行账户存取款、新建账户、查询余额
實(shí)驗(yàn)4 C#程序的流程控制
一、實(shí)驗(yàn)?zāi)康?/strong>
(1)理解面向?qū)ο蟮母拍?#xff0c;掌握C#定義類和創(chuàng)建對(duì)象的方法
(2)區(qū)分類的不同數(shù)據(jù)成員,包括常量、字段和屬性的定義方法,并學(xué)會(huì)控制其訪問性
(3)掌握類的方法成員的聲明與調(diào)用,理解各種參數(shù)在方法中的意義及使用
(4)理解構(gòu)造函數(shù)和析構(gòu)函數(shù)的作用機(jī)制
二、實(shí)驗(yàn)要求
(1)熟悉VS2017的基本操作方法
(2)認(rèn)真閱讀本章相關(guān)內(nèi)容,尤其是案例。
(3)實(shí)驗(yàn)前進(jìn)行程序設(shè)計(jì),完成源程序的編寫任務(wù)。
(4)反復(fù)操作,直到不需要教材、能熟練操作為止。
三、實(shí)驗(yàn)步驟
設(shè)計(jì)一個(gè)windows應(yīng)用程序,模擬一個(gè)簡(jiǎn)單的銀行賬戶管理系統(tǒng),完成“創(chuàng)建賬戶”“取款”“存款”和“查詢余額”的模擬操作。程序功能如下:
①當(dāng)單擊“創(chuàng)建賬戶”按鈕時(shí),顯示如圖所示信息,其中,卡號(hào)為隨機(jī)生成的一個(gè)100000~499999中的值,余額初始化在100元
②在“取款”文本框中輸入取款金額中,單擊“取款”按鈕,顯示如圖所示的信息,如果沒有創(chuàng)建賬戶或沒有輸入取款金額而單擊“取款”按鈕或余額不足時(shí),需要給出適當(dāng)提示
③在“存款”文本框中輸入存款金額中,單擊“存款”按鈕,顯示如圖所示的信息,然后沒有創(chuàng)建賬戶或沒有輸入取款金額而單擊“取款”按鈕時(shí),需要給出適當(dāng)提示
④當(dāng)點(diǎn)擊“查詢余額”按鈕時(shí),顯示如圖所示信息
四、實(shí)驗(yàn)總結(jié)
1、運(yùn)行效果描述:
①當(dāng)單擊“創(chuàng)建賬戶”按鈕時(shí),顯示如圖所示信息,其中,卡號(hào)為隨機(jī)生成的一個(gè)100000~499999中的值,余額初始化在100元
②在未創(chuàng)建賬戶的情況下點(diǎn)擊任何按鈕,彈出消息框提示“操作失敗,請(qǐng)先創(chuàng)建賬戶!”
③如果沒有輸入取款金額,而單擊“取款”按鈕或余額不足時(shí),給出適當(dāng)提示:“輸入的字符串格式不正確!”
④如果余額不足,提示“操作失敗,余額不足”
⑤以下為正常的存取款操作:
2、實(shí)驗(yàn)體會(huì)
本次實(shí)驗(yàn)的內(nèi)容是:模擬一個(gè)簡(jiǎn)單的銀行賬戶管理系統(tǒng),完成“創(chuàng)建賬戶”“取款”“存款”和“查詢余額”的模擬操作,通過這次實(shí)驗(yàn),理解了C#類的特性,理解面向?qū)ο蟮母拍?#xff0c;掌握C#定義類和創(chuàng)建對(duì)象的方法區(qū)分類的不同數(shù)據(jù)成員,包括常量、字段和屬性的定義方法,并學(xué)會(huì)控制其訪問性掌握類的方法成員的聲明與調(diào)用。
本次程序設(shè)計(jì)考慮到了一些以往沒有注意到的細(xì)節(jié),比如:用戶沒有點(diǎn)擊“創(chuàng)建賬戶”就進(jìn)行其他存取款操作,導(dǎo)致沒有實(shí)例化類時(shí),應(yīng)該給出適當(dāng)?shù)奶崾拘畔ⅰMㄟ^flag標(biāo)志位可以實(shí)現(xiàn)這個(gè)功能。否則,使用沒有實(shí)例化的類時(shí),程序?qū)?huì)產(chǎn)生錯(cuò)誤,從而被迫停止運(yùn)行。
另外,本次實(shí)驗(yàn)使我理解了int.Parse()與int.TryParse()的不同。int.TryParse()的特性在于,其存在一個(gè)指示轉(zhuǎn)換是否成功的返回值,對(duì)這個(gè)特性進(jìn)行使用,可以增加程序的健壯性,避免在用戶使用的過程中拋出異常而終止程序。
附錄 運(yùn)行截圖及源程序
(1)運(yùn)行結(jié)果
(2)主要代碼
Form1.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace 第四章_銀行賬戶 {public partial class Form1 : Form{public Form1(){InitializeComponent();}Account account; //定義一個(gè)賬戶類對(duì)象bool createAccount = false; //是否已經(jīng)創(chuàng)建賬戶的標(biāo)志位//創(chuàng)建賬戶private void button1_Click(object sender, EventArgs e){createAccount = true; //已經(jīng)創(chuàng)建賬戶的flagaccount = new Account();string message = String.Format("創(chuàng)建賬戶成功,用戶卡號(hào)為:{0}", account.Num);label1.Text = "卡號(hào):" + account.Num;textBox3.Text = "\n" + message + "\n";}//取款private void button2_Click(object sender, EventArgs e){if (createAccount == false){MessageBox.Show("操作失敗,請(qǐng)先創(chuàng)建賬戶!");return;}string message;//用于outint subNum;bool success = int.TryParse(textBox1.Text, out subNum);//轉(zhuǎn)換是否成功if (success == false){MessageBox.Show("你輸入的字符串格式不正確!");return;}account.subMoney(subNum, out message);//調(diào)用取款方法textBox3.Text = "\n" + message + "\n";//輸出結(jié)果}//查詢余額private void button4_Click(object sender, EventArgs e){if (createAccount == false){MessageBox.Show("操作失敗,請(qǐng)先創(chuàng)建賬戶!");return;}string message;message = String.Format("查詢成功,余額為:{0}", account.Money);textBox3.Text = "\n" + message + "\n";//輸出結(jié)果}//存款private void button3_Click(object sender, EventArgs e){if (createAccount == false){MessageBox.Show("操作失敗,請(qǐng)先創(chuàng)建賬戶!");return;}string message;//用于outint addNum;bool success = int.TryParse(textBox2.Text, out addNum);//轉(zhuǎn)換是否成功if (success == false){MessageBox.Show("你輸入的字符串格式不正確!");return;}account.addMoney(addNum, out message);//調(diào)用存款方法textBox3.Text = "\n" + message + "\n";//輸出結(jié)果}} }Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms;namespace 第四章_銀行賬戶 {static class Program{/// <summary>/// 應(yīng)用程序的主入口點(diǎn)。/// </summary>[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}}public class Account{private int num; //賬戶編號(hào)private decimal money; //余額//創(chuàng)建一個(gè)賬戶public Account(){Random rnum = new Random();num = rnum.Next(100000, 500000);//產(chǎn)生一個(gè)100000~500000的隨機(jī)數(shù)money = 100;//賬戶默認(rèn)100元}//返回余額public decimal Money{get { return money; }}//返回賬戶編號(hào)public int Num{get { return num; }}//取款public bool subMoney(decimal subnum, out string message){//取款金額小于0if (money < 0){message = "操作失敗!\n存款金額不能小于0";return false;}//正常取款else if (money >= subnum){money -= subnum;message = "操作成功!\n取款" + subnum + "元";return true;}//取款大于余額else{message = "操作失敗!\n余額不足";return false;}}//存款public bool addMoney(decimal addnum, out string message){//存款金額小于0if (money < 0){message = "操作失敗!\n存款不能小于0";return false;}//正常存款else{money += addnum;message = "操作成功!\n存款" + addnum + "元";return true;}}} }總結(jié)
以上是生活随笔為你收集整理的C#实验报告 类与对象的访问性:银行账户存取款、新建账户、查询余额的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: verilog入门笔记
- 下一篇: C# 实验四 获取系统时间、点击加一秒功