2012-09-04 38 views
2

好吧,我剛剛啓動C#並試圖從C++的基本面轉換。 我正在上一堂課(不是一個年級,它是一個學習作業),除了獲取用戶輸入外,我已經設置了一切。我正在嘗試使用列表而不是數組,但我無法弄清楚如何讓它讓用戶輸入價格。獲取來自用戶的輸入以填充C#列表中的列表

這是一個簡單的註冊項目。用戶必須輸入價格。這裏將不到100件物品。

這是我到目前爲止有:

static void Main() 
{ 
     double i; 

     Console.Writeline("Enter Item Prices\n"); 
     List<double> items = new List<double>[i]; 
     Console.ReadLine(items); 
     Console.WriteLine("{0}: ", i, items[i]); 
     for (double i = 0; i < 100; i++) 
     { 
      items.Add(i); 
     } 
     return 0; 
    } 

我都Calcs(計算)成立,就不能得到所需的價格輸入。我知道i有些東西是錯誤的。另外,它的WriteLineReadLine取代了coutcin這讓我感到困惑。

我只需要弄清楚如何獲得價格並將它們放入我的公式中。

我會給出最好的答案,以幫助我的程序評論。

編輯:

我需要回去和檢查,如果用戶想繼續與否

+0

而且你不想使用GUI?會更好,你會學到更多;) –

+0

嗯,不是真的,我只需要打印一張收據,但我只是將它讀出到命令窗口而不是實際發送給打印機,我想我們經過一段時間後,我會得到GUI,我還可以使用photoshop,flash和illastrator – superSport

+0

擅長,我仍然需要使用「cout.setf(ios :: fixed); cout.setf格式化最終價格輸出(ios :: showpoint); cout.precision(2);「在C++中使用它的方法? – superSport

回答

3

順序有點亂了。修復它爲你:

Console.Writeline("Enter Item Prices\n"); 
    List<double> items = new List<double>(); 
    for (double i = 0; i < 100; i++) 
    { 
     string userInput; 
     double newItem; 

     // repeatedly ask for input from the user until it's a valid double 
     do 
     { 
      Console.Write(string.Format("Enter item #{0}: ", i)); 
      // read from console into userInput 
      userInput = Console.ReadLine(); 
     } while (!double.TryParse(userInput, out newItem)) 

     // add the new item to the array 
     items.Add(newItem); 
    } 

    // output all the items to the console, separated by commas 
    Console.WriteLine(
     string.Join(", ", 
      items.Select(item => item.ToString()) 
    ) 
); 
+0

double.TryParse – jfs

+0

好的謝謝,所以基本上我只需要調用userInput進入我的其他函數去calcs? – superSport

+0

,並讓它讀下來只需在string.join(「,」) – superSport

0

最小的例子。

class Program 
{ 
    static void Main(string[] args) 
    { 
     //reading the input and assign it to s 
     string s = Console.ReadLine(); 
     //writing the input 
     Console.WriteLine(s); 
    } 
} 
+0

就像另一個一樣,只需爲整個程序聲明「string s」並在我的calc函數中調用它吧? – superSport

+0

是的,它宣佈它,以便它有正確的範圍。如果你需要它在任何地方設置它,例如在你的主。 –