2014-01-08 3 views
2

Итак, я новичок в программировании, и я не знаю, как это работает. Но это, наверное, самое легкое из вопросов. Итак, я хочу создать программу, в которой вы продаете вещи и прочее. Клиент ведет к меню, в котором он или она выберет вещь для покупки. Каждый продукт имеет свою указанную букву для входа пользователя. Так что я хочу знать, как вы присваиваете значения идентификаторам с помощью массива и вызываете их, когда клиент выбирает соответствующую букву?Использование массивов вместо базы данных в C#

как, например, [A] Продукт 1 [B] Продукт 2

Входы клиента так продукт 1 будет называться и вместе с ним является цена продукта. Затем, используя цикл «do-while», программа спросит, хочет ли клиент иметь другую транзакцию, и если клиент выберет «ДА», программа повторит, и клиент выберет, а цена нового элемента будет добавлено к более старым. Нравится: Продукт 1 + Товар 2 = Общая стоимость

Затем, если клиент выбирает НЕТ, он распечатает квитанцию ​​с купленными товарами, количеством и суммой. Пожалуйста, помогите мне. Если это не для массива, возможно, я смогу это сделать, но да. :(

Спасибо. Кстати, если вы хотите увидеть мой код, здесь это. Это только дизайн, хотя только, чтобы дать вам идею. Еще раз спасибо! Я надеюсь, что вы можете помочь мне. Пожалуйста.

string ans; 

do 
{ 
    switch(group) 
    { 
    case "S": 
    case "s": 
     Console.WriteLine("***************************************************************"); 
     Console.WriteLine("*       SHINee        *"); 
     Console.WriteLine("***************************************************************"); 
     Console.WriteLine("* Items:       * Bundles for Concert  *"); 
     Console.WriteLine("* | Lanyards/Lace  P200  * [O]BUNDLE 1 P450  *"); 
     Console.WriteLine("*  [A]Onew      *  T-SHIRT(Free Size) *"); 
     Console.WriteLine("*  [B]Jonghyun     *  Lightstick   *"); 
     Console.WriteLine("*  [C]Minho     *  Banner    *"); 
     Console.WriteLine("*  [D]Key      *       *"); 
     Console.WriteLine("*  [E]Taemin     * [P]BUNDLE 2 P590  *"); 
     Console.WriteLine("*         *  T-SHIRT(Free Size) *"); 
     Console.WriteLine("* | Bag Tag   P60  *  2 Lighsticks   *"); 
     Console.WriteLine("*  [G]Onew      *  Banner    *"); 
     Console.WriteLine("*  [H]Jonghyun     *       *"); 
     Console.WriteLine("*  [I]Minho     * [Q]BUNDLE 3 P720  *"); 
     Console.WriteLine("*  [J]Key      *  T-SHIRT(Free Size) *"); 
     Console.WriteLine("*  [K]Taemin     *  2 Lighsticks   *"); 
     Console.WriteLine("*         *  Banner    *"); 
     Console.WriteLine("* | Couple Keychain P90  *  Balloon    *"); 
     Console.WriteLine("*  [M]2Min      *       *"); 
     Console.WriteLine("*  [N]JongKey     *       *"); 
     Console.WriteLine("*         *       *"); 
     Console.WriteLine("*         *       *"); 
     Console.WriteLine("***************************************************************"); 
     Console.WriteLine(""); 
     Console.WriteLine("=========================="); 
     Console.Write("Input letter of choice: "); 

     string merchshin = Console.ReadLine(); 
     break; 
    } 

    Console.Write("Do you want to do another transaction?"); 
    ans = Console.ReadLine(); 
    Console.WriteLine("=========================="); 
    Console.Clear(); 
} 
while (ans == "y" || ans == "Y"); 
Console.ReadLine(); 

ответ

0

То, что вы описываете это «ключ-значение пара», для этого вы обычно использовать Dictionary

. Например:

// Create a dictionary of pairs of 'strings' (the item) and 'ints' (the prices) 
Dictionary<string, int> pricesByItem = new Dictionary<string, int>(); 

// Add items and their prices. 
pricesByItem.add("Sandwhich", 3); 
pricesByItem.add("Hamburger", 4); 
pricesByItem.add("Cheese", 5); 

// Get the price of an item 
int priceOfASandwhich = pricesByItem["Sandwhich"]; 
Console.WriteLine(priceOfASandwhich); 
+0

спасибо! я попробую! : DD – kichen

2

вы ищете реализация пары ключевых значений, например dictionary.

Если это не делает трюк, вы всегда можете взглянуть на такие инструменты, как Redis (http://redis.io), который является в основном расширенным хранилищем ключей.

+0

«Если вы хотите отсортировать массив, вы можете использовать« Array.Sort »... если это не работает, попробуйте Google MapReduce!» :п – sircodesalot

1

Я бы сказал, используя словарь с классом, содержащим информацию о вашем продукте.

// Create the dictionary. 
Dictionary<string, Product> productInfo = new Dictionary<string, Product>(); 

//Create products and there information. 
productInfo.Add("ProductOne", new Product { Name = "name", Price=1.99, Description="description" }; 
productInfo.Add("ProductTwo", new Product { Name = "name", Price=1.99, Description="description" }; 
productInfo.Add("ProductThree", new Product { Name = "name", Price=1.99, Description="description" }; 

Чтобы создать класс, который просто нужно

public class Product 
{ 
    //product properties. 
    public string Name { get; set; } 
    public double Price { get; set; } 
    public string Description { get; set; } 

    public Product() 
    { } 
} 

Чтобы получить доступ к словарю просто использовать что-то вроде ...

Console.WriteLine(string.format("Product Name: {0} Price:{1}", productInfo["ProductOne"].Name, productInfo["ProductOne"].Price)); 
Смежные вопросы