C#。我遇到了与学校相关的项目的问题,我应该编写一个类似于电子商店/购物车的程序。
我得到了待售物品清单及其价格;鳟鱼:10美元,三文鱼:20美元,牛肉:50美元,西红柿:5美元等......但是用户必须能够选择他想要的东西和多少,直到他按“S”完成订单。然后程序打印用户购买的以下项目以及数量,个别价格和所有商品的总价。我将如何解决此问题,因为当用户按下“S”时,他们不会运行商店项目的其他变量。我正在考虑设置这种代码:
string unknownItem1 = Console.ReadLine();
Console.WriteLine("how many?");
string unknownItemQuantity1 = Console.ReadLine();
string unknownItem2 = Console.ReadLine();
Console.WriteLine("how many?");
string unknownItemQuantity2 = Console.ReadLine();
string unknownItem3 = Console.ReadLine();
Console.WriteLine("how many?");
string unknownItemQuantity3 = Console.ReadLine();
string unknownItem4 = Console.ReadLine();
Console.WriteLine("how many?");
string unknownItemQuantity4 = Console.ReadLine();
if () {//if user input equals "S" finish order.(idk how to do this since there is no variable for it)
}
如果有人知道如何做到这一点请帮助,所有答案对我都很有帮助。感谢
-Realitiez
答案 0 :(得分:3)
尝试执行do while循环,循环条件检查readLine()值,如果检测到S,则停止提示用户。希望它有所帮助!
答案 1 :(得分:2)
寻找这样的东西?
while ((line = Console.ReadLine()) != "S")
{
//Continues while input doesn't equal to "S"
}
答案 2 :(得分:0)
if(unknownqty.ToUpper()==“S”) 返回;
答案 3 :(得分:0)
您可以通过在数组中添加项来解决此问题。使用数组索引计算项目的价格。你的程序的输出将是这样的:
Enter item number
1. Eggs
2. Bread
///////////////////////////////////////////
string[,] items = new string[,] {{"Eggs","10"}, {"Bread","15"}};
string input;
int price=0;
int quantity;
int index;
do {
input = Console.ReadLine();
Console.WriteLine("Enter quantity: ");
index = Convert.ToInt32(input)+1;
quantity = Convert.ToInt32(Console.ReadLine());
price += quantity * Convert.ToInt32(items[index,1]); // accessing price of item
}while(input != "S");
Console.WriteLine("Your total: "+price);