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);as是参数,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( “yyyyMMdd  hhmmss”)  + “  “ + 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("yyyyMMdd hhmmss") + "  " + 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;

            }

 

        }

    }

}