
第一步画出很好实现,只要在中间需要显示数据的一行有些修改可以传值就行了。
static void draw(string num)
{
drawTop();
Console.Write("▕ ▕");
Console.Write("{0}", num);
writeAt("▕ ▕", 52, 4);
drawDown();
}
{
drawTop();
Console.Write("▕ ▕");
Console.Write("{0}", num);
writeAt("▕ ▕", 52, 4);
drawDown();
}
drawTop()和drawDown()都只是基本的Console.WriteLine画出的布局,关键在 writeAt("▕ ▕", 52, 4);这里有个方法
static void writeAt(string s, int x, int y)
{
Console.SetCursorPosition(x, y);
Console.WriteLine(s);
}
其中Console.SetCursorPosition(x, y);定位光标位置,x,y是坐标需自己找,这样在占位符{0}中传值的时候,就不会把后方的竖杠向后推了,输入数字是布局不会变动。
{
Console.SetCursorPosition(x, y);
Console.WriteLine(s);
}
其中Console.SetCursorPosition(x, y);定位光标位置,x,y是坐标需自己找,这样在占位符{0}中传值的时候,就不会把后方的竖杠向后推了,输入数字是布局不会变动。
我的技术太有限了,或者说是设计思想,这个程序做了一天也没成功,期间我数次抬头仰望墙壁上的那两行字“设计思想胜于编程技术,领域见识决定专业高度”,说的太好了,我看着它们编不出来代码内牛满面~!
最后询问了同桌一姐又看了她的源代码终于弄出来了,但一姐的也不是太完善,在输入符号的时候需要把之前输入数截取做个标记,在这里用Enter键
static string getNum()
{
string temp = "";
ConsoleKeyInfo cki = new ConsoleKeyInfo();
while (cki.Key.ToString() != "Enter")
{
draw(temp);
cki = Console.ReadKey();
temp += cki.KeyChar.ToString();
Console.Clear();
}
return temp;
}
{
string temp = "";
ConsoleKeyInfo cki = new ConsoleKeyInfo();
while (cki.Key.ToString() != "Enter")
{
draw(temp);
cki = Console.ReadKey();
temp += cki.KeyChar.ToString();
Console.Clear();
}
return temp;
}
这是main方法
static void Main(string[] args)
{
string str1 = getNum();
double d1=Convert.ToInt64(str1);
ConsoleKeyInfo cki = Console.ReadKey(false);
string str2 = getNum();
double d2=Convert.ToInt64(str2);
string reasult =Convert.ToString( Count(d1, d2, cki.KeyChar));
draw(reasult);
}
{
string str1 = getNum();
double d1=Convert.ToInt64(str1);
ConsoleKeyInfo cki = Console.ReadKey(false);
string str2 = getNum();
double d2=Convert.ToInt64(str2);
string reasult =Convert.ToString( Count(d1, d2, cki.KeyChar));
draw(reasult);
}
cki是获取的符号键,count是计算函数,太长了大同小异一下截取加法
static double Count(double d1,double d2,char c)
{
if (c == '+')
{
double r = d1 + d2;
return r;
}
else if(c=='-')···
{
if (c == '+')
{
double r = d1 + d2;
return r;
}
else if(c=='-')···
转载于:https://blog.51cto.com/1877165/351486