2011-1-18
今天是实训的第二天,感觉很充实,可是却是也很累。
知识点总结:
l 静态下的所有成员都是静态的,静态方法通过类名加点调,而非静态的 要通过使用关键字new,才可以调用
l 静态的成员是属于类的,而非静态的成员是输入对象的
l 请求用户输入的集中方式:
Int i=Console.Read();输出的值为对应的ASKII
string i=Console.ReadLine();字符串
ConsleKeyInfo i= Console.ReadKey();
Console.WriteLine(i.KeyChar);上边输入什么,这就输出什么
Console.WriteLine(i.Modifiers);如果输入的是个小写字母a,输出的就是aA,如果输入的是Alt+A,则输出的是Alt
l 学习了对背景颜色和字体颜色的设置
Console.BackgroundColor=ConsoleColor.Red;这是对背景颜色的设置
Console.ForegroundColor=ConsoleColor.Red;这是对字体颜色的设置
Console.ResetColor();恢复默认
l 对声音的控制
Console.Beep(a,s);a和s是参数,a决定不同的声音,a的取值是37—32767,;s表示声音的时间
l System.Threading.Thread.Sleep(3000);表示等待
l 类型.Parse用于把string类型转换为整型
l 数据类型分类:
内置数据类型 int char 等
用户自定义类型 借口 委托等
匿名类型
l 变量和常量,常量用const来定义
l 命名规则:匈牙利命名法、驼峰命名法、帕斯卡命名法、
l 数值类型分为值类型和引用类型,string是特殊的引用类型
值类型:简单类型、枚举类型、结构类型
引用类型:类类型、接口类型、Unicode字符串、数组类型、委托类型
l 装箱和拆箱:装箱是值类型到object类型,而拆箱和这相反
l 类型的转换:类型.Parse()
最后完成了 “ 银行系统,完成查询余额,转帐,存款,取款”,在这个项目中,先需要添加一个命名规则,即using system.IO,然后依次完成取款、查询余额、转账、存款、退出操作;再这个系统中,由于我们没建立数据库,所以我们必须自己定义用户名和密码,当用户输入用户名和密码时,判断是否和我们定义的一样,若一样则进入菜单,进行转账等操作,在用户输入密码时应该以*显示,该代码为
String password=””;
For (int i=0;i<6;i++)
{
ConsoleKeyInfo n=Console.ReadKey(ture);
Console .writeline(“*”);
Password=password+n.KeyChar.ToString();
}
这是输入密码是的代码该注意的,另外不管你做什么操作,银行都有记录,这些记录都记录着你什么时间的响应的操作,这是需要再写一个方法,即
Static void WriteLog(string connet)
{
File.AppendAllText( @”D:/log.txt” ,DateTime.Now.Tostring( “yyyy年MM月dd日 hh时mm分ss秒”) + “ “ + content +” \r\t”);
}
在进入菜单以后,做相应的选择是使用switch 语句,进行选择即可,所以整个代码为如下
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Windows.Forms;
using ConsoleApplication5;
using System.IO;
namespace SS
{
class Program
{
static void WriteLog(string content)
{
File.AppendAllText(@"d:/log.txt", DateTime.Now.ToString("yyyy年MM月dd日 hh时mm分ss秒") + " " + content + "\r\n");
}
static string Account = "1234";
static string Password = "111111";
static float SumMoney = 10000f;
static void Main()
{
while (true)
{
Console.Clear();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("==========欢迎使用老桂银行系统=============");
Console.ResetColor();
Console.WriteLine();
Console.WriteLine("请输入帐号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = "";
for (int i = 0; i < 6; i++)
{
ConsoleKeyInfo cki = Console.ReadKey(true);
Console.Write("*");
password = password + cki.KeyChar.ToString();
}
Console.WriteLine();
if (account == Account && password == Password)
{
WriteLog(account+"登录成功!");
string readstr = "";
do
{
Console.Clear();
Console.WriteLine("1、取款 2、查询余额 3、存款 4、转帐 5、退出");
readstr = Console.ReadLine();
switch (readstr)
{
case "1":
if (GetMoney())
{
WriteLog("取款成功!");
}
else
{
WriteLog("取款失败!");
}
break;
case "2":
Console.WriteLine("余额为:{0}", SumMoney);
WriteLog("查询余额!");
break;
case "3":
if (SetMoney())
{
WriteLog("存款成功!");
}
else
{
WriteLog("存款失败!");
}
break;
case "4":
break;
default:
break;
}
System.Threading.Thread.Sleep(3000);
} while (readstr != "5");
}
else
{
WriteLog(account + "登录失败!");
Console.WriteLine("帐号或者密码错误!");
}
}
}
static bool GetMoney()
{
Console.WriteLine("请输入取款金额:");
float money;
if (float.TryParse(Console.ReadLine(), out money))
{
if (money > SumMoney)
{
Console.WriteLine("你现在余额为:{0},已不足", SumMoney);
return false;
}
else
{
SumMoney = SumMoney - money;
Console.WriteLine("取款成功!");
return true;
}
}
else
{
Console.WriteLine("你的输入有误!");
return false;
}
}
static bool SetMoney()
{
Console.WriteLine("请输入存款金额:");
float money;
if (float.TryParse(Console.ReadLine(), out money))
{
SumMoney = SumMoney + money;
Console.WriteLine("存款成功!你的余额为:{0}", SumMoney);
return true;
}
else
{
Console.WriteLine("你的输入有误!");
return false;
}
}
}
}