Loading...
NikolayNK avatar NikolayNK 4 Точки

Въвеждане на определен string от user

Искам да разбера как да напиша програма, в която Input-а трябва задължително да бъде примерно или "А" или "B". Ако user-a въведе нещо различно от "A" или "B", в Output-a да изпише примерно "You can only choose between "A" or "B": " и да трябва да въведе отново стойност. Просто казано -Console.ReadLine();, който да работи единствено с определени от нас стойности и ако не е въведена посочената стойност да се повтори Console.ReadLine(); процеса. Пробвах редици начини, а после потърсих в Google, но нищо не открих. Ще съм много благодарен, ако някой ми помогне. laughing 

Тагове:
0
Programming Basics
d3vildog avatar d3vildog 58 Точки
Best Answer

Здравей, 
ето още едно решение на задачата ти :

  string answer = Console.ReadLine();
  while (answer != "A" || answer != "B") {
     Console.WriteLine("Incorrect input. Please enter A or B");
     answer = Console.ReadLine();

  }


надявам се да съм помогнал. tongue-out

0
30/11/2014 19:34:59
NikolayNK avatar NikolayNK 4 Точки

хммм незнайно защо при твоя код, дори и да въведа "A" или "B" ми връща "Incorrect input. Please enter A or B". Ако го направя while (answer != "A") няма проблеми, но като са две не става... 

0
30/11/2014 20:47:18
d3vildog avatar d3vildog 58 Точки

Да моя е грешката frown трябва да се напише така :


 while (!(input == "A" || input == "B")), а не while (answer != "A" || answer != "B");

или  while (input != "A" && input != "B"); tongue-out

1
30/11/2014 20:47:03
NikolayNK avatar NikolayNK 4 Точки

Точно това търсих!
Много благодаря. smile

1
KonstantinKirchev avatar KonstantinKirchev -1 Точки

string letters = Console.ReadLine();
            if (letters == "A"|| letters == "B")
            {
                Console.WriteLine("Correct!");
            }
            else
            {
                Console.WriteLine("Incorrect input. Please enter A or B");
            }
            Main();

Това е кода който искаш. Между къдравите скоби на if-а си вкарваш кода който искаш да се изпълни.

Main функцията на края съм я сложил за да връща кода отначало. Просто за да се упражняваш. Можеш да я махнеш ако искаш. Успех :)

-1
NikolayNK avatar NikolayNK 4 Точки

Благодаря много! Бях го направил по същия начин, но без Main(); и просто след изписването на "You can only choose between A or B" ми изписваше Press any key to continue, а не да въведа нова стойност.

0
KonstantinKirchev avatar KonstantinKirchev -1 Точки

string letters = Console.ReadLine();
            Console.WriteLine(letters == "A" || letters == "B" ? "Correct!" : "Incorrect input. Please enter A or B");
            Main();

А този фокус върши същата работа. Спестява ти писане на if и else.

Ако условието преди ? е true се изпълнява първото между ? и :,

ако е false се изпълнява второто след :

Това е всичко от мен. Успех

-2
dmstoyanov avatar dmstoyanov 32 Точки

Здравей, 
това може да се направи с "while" цикъл по следният начин- Линк

0
Filkolev avatar Filkolev 4482 Точки

Излишно е да се ползва тернарният оператор тук, изразът letter == "A" връща булева стойност. Казваш един вид "ако е вярно, върни вярно" и т.н.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.