嗨,我是 C# 新手,我正在尝试构建一个非常简单的股票跟踪控制台应用程序,用户在其中输入有关股票的一些信息,程序保存并使用输入。我一直在浏览在线教程,但我似乎无法将它们放在一起。
我想请用户选择是要卖出股票、买入股票还是退出程序。如果他们选择买入或卖出股票,程序将要求他们输入股票代码、购买的股票数量和支付的价格。
在这种情况下,我希望用户能够继续购买或出售股票,直到他们选择退出应用程序。该程序应跟踪用户对每个股票代码的总库存量。例如,用户可以输入他们在 2012 年 2 月 1 日购买了 100 股 APPL 股票,然后输入他们在 2012 年 2 月 15 日又购买了 50 股 APPL 股票,然后在 3 日卖出了 25 股 APPL 股票1/12。
该程序将跟踪信息,当用户选择退出时,程序将输出他们还剩下多少股。在上面的例子中,他们还剩下 125 股。
最终我想把它变成一个实时股票交易程序,但现在我只是迈出了第一步。
我已经在下面包含了我到目前为止编写的代码。我不明白处理用户输入的最佳方式。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace StockTracker
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("Welcome to the Stock Tracker");
Console.WriteLine("--------------------------------");
Console.WriteLine("Please choose from the following options:");
Console.WriteLine("1) Buy Stock, 2) Sell Stock, 0) Exit");
ArrayList Array1 = new ArrayList();
ArrayList Array2 = new ArrayList();
string userValue = Console.ReadLine();
string message = "";
double price;
int amount;
string stockTicker;
switch (userValue)
{
case "1":
Console.WriteLine("Enter ticker to buy:");
stockTicker = Console.ReadLine();
Array1.Add(stockTicker);
Console.WriteLine("Enter stock price");
price = double.Parse(Console.ReadLine());
Array1.Add(price);
Console.WriteLine("Enter Quantity");
amount = int.Parse(Console.ReadLine());
Array1.Add(amount);
Console.WriteLine("***Stock Purchased***");
break;
case "2":
//message = "Enter stock ticker to sell";
Console.WriteLine("Enter stocker ticker to sell");
stockTicker = Console.ReadLine();
Array2.Add(stockTicker);
Console.WriteLine("Enter Quantity");
amount = int.Parse(Console.ReadLine());
Array2.Add(amount);
Console.WriteLine("***Stock Sold***");
break;
case "0":
Console.WriteLine("Good Bye!");
return;
default:
message = "Invalid entry";
break;
}
Console.Write(message);
Console.ReadLine();
Console.WriteLine();
} //while (userValue != "0");
}
}
}