书中的银行,我们一起奋斗的C#,只因乐在其中~
梦回C#,只因心中还留有那么一点执着,相信大家应该也有这些感触吧!!所以呢?我想给大伙分享我的一些学习,也希望大家能给我多点建议,让我们一起进步,共同成长!!!
那么我们就来看一下该怎么运用C#来构造一个银行系统的项目吧!
首先:
我们就得到把大的几个类给分清楚:{Bank类,Card、最后就是启动的系统类了},完了之后就该运用一些代码:
步骤: .首先要创一个数组:代码如下: Card[] cards = new Card[]; :初始化卡类: public void InitialData() { //01.准备一个卡对象 Card card1=new Card(); card1.CardNo = ""; card1.CardOwner = "小英"; card1.CardPwd = ""; card1.Balance = 0.0; //02.将卡对象赋值给数组第一项 cards[0] = card1; //创建第2个卡对象 Card card2=new Card(); card2.CardNo = ""; card2.CardOwner = "小颖"; card2.CardPwd = ""; card2.Balance = ; cards[] = card2;
那么我们就来了解一些具体的功能是怎么样的吧!
例如:开户、存取款、查询金额、真正转账等等,
.开户 Console.WriteLine("请输入卡号:"); string cardNo = Console.ReadLine(); Console.WriteLine("请输入密码:"); string cardPwd = Console.ReadLine(); Console.WriteLine("请输入用户名:"); string cardOwner = Console.ReadLine(); Console.WriteLine("请输入开户金额:"); double balance = double.Parse(Console.ReadLine()); //先将四个零散的属性装配成一个Card对象 Card card=new Card(); card.CardNo = cardNo; card.CardPwd = cardPwd; card.CardOwner = cardOwner; card.Balance = balance; //01.将card对象赋值给数组第一个为null的项目 for (int i = ; i < cards.Length; i++) { if (cards[i]==null) { //我就将card赋值给cards[i] cards[i] = card; Console.WriteLine("开户成功"); break; } } Console.WriteLine("==================="); Welcome(); } //输出所有账户的持卡人,以及余额 public void PrintCustomerInfo() { foreach (Card item in cards) { //一个item就是一张卡 if (item!=null) { Console.WriteLine("用户名{0}\t余额{1}", item.CardOwner, item.Balance); } .存款 Console.WriteLine("请输入卡号:"); string cardno = Console.ReadLine(); bool flag = false; //如何判断对方卡号存在 foreach (Card item in cards) { if (item!=null) { if (item.CardNo.Equals(cardno))//卡号存在 { //请输入金额 Console.WriteLine("请输入存款金额:"); int money = int.Parse(Console.ReadLine()); item.Balance += money; Console.WriteLine("存款成功"); Console.WriteLine("余额:{0}",item.Balance); flag = true; break; } .取款 bool flag = false;//默认没有该卡
foreach (Card item in cards)
{
if (item!=null)
{
if (item.CardNo.Equals(account))//证明卡存在 003 001
{
//提示用户输入密码
Console.WriteLine("请输入密码:");
string pwd = Console.ReadLine();
if (item.CardPwd.Equals(pwd))
{
//代码执行到这里,证明用户名和密码均正确
Console.WriteLine("请输入取款金额:");
int money = int.Parse(Console.ReadLine());
if (money < item.Balance)
{
item.Balance = item.Balance - money;
Console.WriteLine("取款成功,用户名是{0}的账户余额是{1}", item.CardOwner, item.Balance);
}
else {
Console.WriteLine("余额不足");
}
}
else
{ .转账 bool outCardFlag = false;//默认转入卡不存在
int type = ;
foreach (Card card in cards)
{
if (card!=null)
{
if (card.CardNo.Equals(outCardNo)) //卡号一致
{
flag = true;
//判定密码是否一致
if (card.CardPwd.Equals(outCardPwd)) //密码一致
{
//用户名 密码均正确,可以执行后续内容
Console.WriteLine("请输入转入卡卡号");
string inCardNo = Console.ReadLine();
#region 内层循环,转入卡
foreach (Card card1 in cards)
{
if (card1 != null)
{
if (card1.CardNo.Equals(inCardNo)) //转入卡存在
{
type = ;
//存在,可以提示输入转账金额
Console.WriteLine("请输入转账金额");
int money = Convert.ToInt32(Console.ReadLine());
if (money <= card.Balance) //合法
{
while (money % != ) //不是面值100的
{
Console.WriteLine("您输入的不合法");
money = Convert.ToInt32(Console.ReadLine());
}
好了,看完了之后、有没有那么一点点收获呢!如果没有,请大家多多提建议、多多关注吧!!
我会在这里等着大家来一起分享学习的快乐,
书中的银行,我们一起奋斗的C#,只因乐在其中~的更多相关文章
- 关于《Head First Python》一书中print_lol()函数的思考
关于<Head First Python>一书中print_lol()函数的思考 在<Head First Python>第一章中,讲述到Python处理复杂数据(以电影数据列 ...
- [CareerCup] 17.9 Word Frequency in a Book 书中单词频率
17.9 Design a method to find the frequency of occurrences of any given word in a book. 这道题让我们找书中单词出现 ...
- 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
各位程序猿: <剑指Offer>一书源自该书作者何海涛坚持更新与编写的博客(http://zhedahht.blog.163.com/),该博客收集整理了大量如微软.Goo ...
- C++primer原书中的一个错误(派生类using声明对基类权限的影响)
在C++primer 第4版的 15章 15.2.5中有以下这样一段提示: "注解:派生类能够恢复继承成员的訪问级别,但不能使訪问级别比基类中原来指定的更严格或者更宽松." 在vs ...
- 基于python的《Hadoop权威指南》一书中气象数据下载和map reduce化数据处理及其可视化
文档内容: 1:下载<hadoop权威指南>中的气象数据 2:对下载的气象数据归档整理并读取数据 3:对气象数据进行map reduce进行处理 关键词:<Hadoop权威指南> ...
- 运用《深入理解Java虚拟机》书中知识解决实际问题
前言 以前看别人博客说看完<深入理解Java虚拟机>这本书并没有让自己的编程水平提高多少,不过却大大提高了自己的装逼水平.其实,我倒不这么认为,至少在我看完一遍这本书后,有一种醍醐灌顶的感 ...
- Spring Bean的生命周期,《Spring 实战》书中的官方说法
连着两天的面试 ,都问到了 Spring 的Bean的生命周期,其中还包括 昨晚一波阿里的电话面试.这里找到了Spring 实战中的官方说法.希望各位要面试的小伙伴记住,以后有可能,或者是有时间 去看 ...
- 《Unity3D 实战核心技术详解》书中关于矩阵的错误
最近一直在学习实时渲染,不免要接触线性代数.而渲染中,一定会用到矩阵,当我再次去复习我之前看的书时,发现<Unity3D 实战核心技术详解>关于矩阵就有几处错误 ,特标注出来. 书的第一章 ...
- 数据科学实战手册(R+Python)书中引用资料网址
本文会持续将<数据科学实战手册(R+Python)>一书中的附带参考资料网址手打出来, 方便访问. 由于书中的参考资料网址太多, 这个文档将可能花费一段时间才能完成. 第一章 P7 Rs ...
随机推荐
- Mac OS X 上安装 ASP.NET 5
在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...
- Django框架-目录文件简介
Rhel6.5 Django1.10 Python3.5 Django框架-目录文件简介 1.介绍Django Django:一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django, ...
- javascript学习笔记之array.sort
arrayName.sort()方法: 功能是实现排序(按ascii编码或按数字大小),可无参或有参使用,无参时默认升序排列.有参时可实现升序或降序排列,参数必须是具有返回值的方法,当方法表达式大于0 ...
- Java实现画八卦
八卦是由多个圆叠加而成,如果我们让每个圆都有自己的颜色,那么具体结构便一目了然,如下图所示: 显然只要令对应的圆颜色相同,就能达到我们预期的效果. 用Java就能轻松画出来: import java. ...
- 【Java EE 学习 70 下】【数据采集系统第二天】【Action中User注入】【设计调查页面】【Action中模型赋值问题】【编辑调查】
一.Action中User注入问题 Action中可能会经常用到已经登陆的User对象,如果每次都从Session中拿会显得非常繁琐.可以想一种方法,当Action想要获取User对象的时候直接使用, ...
- Ubuntu(Linux系统)虚拟机工具vmtools详细说明
安装虚拟机工具vmtools大概步骤如下: 个人总结步骤: 第一步:点击虚拟机软件的vm工具栏选项,选择install vmware tools(安装VMware Tools) 第二步:桌面会出现一个 ...
- 浅谈WEB前后端分离
重审业务逻辑 用过MVC的童鞋都知道业务逻辑(Bussiness Logic),但是大多对这概念又是模棱两可,业务逻辑从来都是这样难以理解,谈论前后端分离之前这个概念非常有必要探讨一下! 在简单的CR ...
- js倒计时
/** * 启动,秒杀倒计时 * totalSecond:剩余秒数 * showTime(tm):回调函数,其中tm={day:"",hour:"",min:& ...
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
- Redis学习总结(1)——数据持久化
以前研究Redis的时候,很多东西都不太明白,理解得也不太深,现在有时间重新拾起来看看,将一些心得记录下来,希望和大家一起探讨. 一.简介 Redis是一个单线程高可用的Key-Value存储系统,和 ...