В следующем случае код внутри шкафа «c» не выполняется. Ничего не произошло! Если вход «q», isOwner = false выполняется просто отлично. Для меня это не имеет смысла. Пожалуйста помоги!Код внутри простого корпуса коммутатора или оператор if не выполняется
// Customer information
string customerName = "";
string customerPassword = "";
int customerCredits = 0;
string input = "";
Console.WriteLine ("Welcome to my console Pet Store");
Console.WriteLine ("Type in your name?");
customerName = Console.ReadLine();
Console.WriteLine ("Type in your password?");
customerPassword = Console.ReadLine();
if (customerName == "owner" && customerPassword == "1234") {
bool isOwner = true; // Launch the owner interface when isOwner is true
while (isOwner) {
Console.Clear();
Console.WriteLine ("You are logged in as Owner");
Console.WriteLine ("[q] Quit");
Console.WriteLine ("[c] Create new product");
Console.WriteLine ("[d] Create new animal");
Console.WriteLine ("[i] View all items in the store");
Console.WriteLine ("[t] View all customers");
// string input;
input = Console.ReadLine();
switch (input) {
case "q":
isOwner = false;
break;
case "c":
Console.Clear();
Console.WriteLine ("What type of product do you want to create?");
break;
}
}
} // END of owner interface
Btw: Ive также пробовал то же самое с утверждением if, но с тем же результатом.
Im довольно новый для C#, так что голый со мной, если я пропустил что-то очевидное здесь.
Вход = Console.ReadLine(); - Вы вводите ввод и нажимаете клавишу ввода, когда оно доходит до этой точки? –
Соблюдайте осторожный код. Когда вы доберетесь до 'case 'c" ', вы очистите консоль и спросите, какой продукт создать. Затем вы * сразу * возвращаетесь к началу цикла while ('while (isOwner)'), снова очищаете консоль, а затем распечатываете меню. Ваш код * выполняется *, но вы очищаете консоль так быстро, что не увидите ее. Я бы предложил удалить 'Console.Clear()', пока вы отлаживаете – Rob
, это действительно помогло мне выяснить, в чем проблема, спасибо! – Kvisgaard