Loading...
antonradev avatar antonradev 43 Точки

Проверка за въведени входни данни в конзолата. If - Else...?

Здравейте!

Пиша си домашното и в задачата за данните на служителя искам да направя да се въвеждат през конзолата, като им сложа и проверка дали са въведени. За сега без успех. Мога да изведа съобщение, че не са въведени данни и само Enter-а е натиснат с празен ред:

 

Console.WriteLine("Enter Employee`s First Name:");

string firstName = Console.ReadLine();

if (string.IsNullOrEmpty(firstName))
    {
        Console.WriteLine("Please enter the Employee`s First Name. It cannot be blank");
    }

 

Съобщението се извежда, но програмата продължава да се изпълнява напред и вече ме чака да въвеждам Last name-а. Не мога да я направя така, че докато не въведа First name да не продължава напред.

Опитах с return но пък това спира нацяло програмата от последващо изпълнение:

 

if (string.IsNullOrEmpty(firstName))
    {
        Console.WriteLine("Please enter the Employee`s First Name. It cannot be blank");
        return;
    }

 

В Elsa-a на If-а нищо не върши работа също, просто си е Else.

 

Някакви идеи?

 

(Сори за оцветяването на кода, но все още немога да форматирам параграф като код и импровизирам)

Тагове:
0
Programming Basics
antonradev avatar antonradev 43 Точки

Немога също да сложа целият ред:

 

 string firstName = Console.ReadLine();

 

в If-а, защото не ми дава да го използвам така и ми съобщава за грешка за използване на променливата в друг контекст

0
coaster avatar coaster 412 Точки

Един while loop ще ти свърши прекрасна работа :)

Console.WriteLine("Enter Employee`s First Name:");
string firstName = Console.ReadLine();
while (string.IsNullOrEmpty(firstName))
{
    Console.WriteLine("Please enter the Employee`s First Name. It cannot be blank");
    firstName = Console.ReadLine();
}

4
antonradev avatar antonradev 43 Точки

Мерси много! Верно! :)

0
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

В if конструкцията, където проверяваш дали е NULL сложи : firstName = Console.ReadLine(); , и след което вече else . Даже както е споменато вече while цикълът е вариантът в този случай

2
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

while (string.IsNullOrEmpty(firstName))
{
Console.WriteLine("Please enter the Employee`s First Name. It cannot be blank");
Console.WriteLine("Enter Employee`s First Name:");
firstName = Console.ReadLine();
}

1
HPetrov avatar HPetrov 822 Точки

По принцип If-Else statements са за проверка на нещо и при дадено условие прави нещо. Да, можеш да го направиш да ти провери дали е празен инпута и да поиска нов, но ако потребителя пак реши да не въведе нищо просто ще си продължи програмата без да я интересува много какво е въвел или в случая не е въвел човек. Решение на това е с while цикъл както колежката coaster предложи малко по-нагоре. Това ще провери в случая дали е празен инпута и ако е - влиза в цикъла и тормози постоянно потребителя да си въведе данните докато не го направи най-накрая :)

2
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Самата if конструкция , ако я проследиш с debuger ще видиш, че излизаш от конструкцията още след първата проверка и заради това ще провери само веднъж дали е Null

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