Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- public class HappyBirthday
- {
- public static void Main()
- {
- string AgeNowStr; // Тук потребителя въвежда на колко години е в момента//
- int AgeNow; // При коректно въведено число, то се задава на тази променлива//
- int AgeLater; // Това ще е възрастта му след X години//
- bool canProceed = false;
- string BirthdayAlready;// Тук потребителят въвежда дали вече е имал рожден ден през тази година//
- int HasOrNot; // Това ще е стойност 0 ако е имал рожден ден през тази година и стойност 1 ако е имал рожден ден през тази година//
- int XYears; // Това ще е КОРЕКТНИЯТ на потребителя за колко години да се пресметне//
- string XYearsStr; //Това ще е изборът на потребителя за колко години да се пресметне//
- int AgeInXYears; // Това ще е възрастта му след Х на брой години//
- bool isNumber; // Проверка дали въведеното от потребителя е число//
- Console.WriteLine("Здравейте!"); //Поздравяваме потребителя//
- AskAgeAgain: // Тук ще го връщаме, докато се научи да познава числата//
- Console.Write(" На колко години сте? Не се притеснявайте, няма да кажа на никого!"); // Искаме от потребителя да въведе възрастта си//
- AgeNowStr = Console.ReadLine(); // Задаваме въведената информация на string AgeNowStr//
- isNumber = int.TryParse(AgeNowStr, out AgeNow);
- // Проверяваме дали е число и ако е, го задаваме като стойност на AgeNow//
- if (!isNumber)
- {
- Console.WriteLine("Хайде да не се бъзикаме от самото начало? Годините се въвеждат с числа!");
- goto AskAgeAgain; // Връщаме потребителя в началото докато не въведе число //
- }
- else // Ако всичко е ок, продължаваме напред. :) //
- {
- if (AgeNow <= 0 && AgeNow >= -40) // Проверяваме дали не е въведено отрицателно число в границата до -40 //
- {
- Console.WriteLine("Вероятно още сте в студентските гащи на баща си. Вижте си ЕГН-то и въведете отново!"); // Ако се е объркал го подсещаме //
- goto AskAgeAgain; // И го връщаме да пробва пак //
- }
- else // Явно става все по-умен, нека върви напред! //
- if (AgeNow <= 7 && AgeNow >= 1) // Проверяваме дали не е прекалено малък за да може да пише (7 е примерна година) //
- {
- Console.WriteLine("Малкия, още не си се научил да четеш, а вече пишеш! Вашите ще ти се карат, кажи на кака ти да седне пред компютъра!");
- goto AskAgeAgain;
- }
- if (AgeNow >= 99 && AgeNow <= 100) // Проверяваме дали не е столетник //
- {
- Console.WriteLine("Евала! На тези години, с тази пенсия и пред компютър? Страхотно! Сигурно ли е, че имате пулс?");
- goto AskAgeAgain; // Връщаме го да си преброи годините пак //
- }
- else
- if (AgeNow <= -41 || AgeNow >= 101) // Проверяваме дали не е въведено прекалено голямо число (отрицателно или положително и е примерно) //
- {
- Console.WriteLine("Сигурни ли сте, че можете да броите до толкова? Ако цифрата е вярна, щяхте да сте в Гинес, а не пред компютъра!"); // Ако се е объркал го подсещаме //
- goto AskAgeAgain; // И го връщаме да пробва пак //
- }
- else
- {
- AskBirthAgain: // Тук ще го връщаме, когато натисне нещо различно от или N! //
- Console.Write(" Имахте ли вече ЧРД тази година? Въведете Y за ДА или N за НЕ "); // Питаме дали вече е имал ЧРД за да изведем точни години по-късно //
- BirthdayAlready = Console.ReadLine(); // Задаваме въведеното на BirthdayAlready //
- if (BirthdayAlready == "Y") // Проверяваме дали е натиснал Y //
- { HasOrNot = 0; goto WrongLimit; } // Ако го е направил, задаваме стойност 0 на HasOrNot, защото пресметнатите години ще са валидни за цялата търсена година //
- if (BirthdayAlready == "N") // Проверяваме дали е натиснал N //
- { HasOrNot = 1; goto WrongLimit; } // Задаваме стойност 1 за да я ползваме като добавка при пресмятането след избраните години. Като добавим 1 ще покажм на колко ще е в края на търсената година, а не просто по същото време//
- else
- Console.Write("Изрично упоменах Y или N! Я, да опитаме пак дали познаваш буквите!"); // Подсещаме го, че трябва да натисне Y или N //
- goto AskBirthAgain; // И го връщаме обратно //
- }
- WrongLimit: // Тук ще го връщаме ако въведе некоректни стойности //
- Console.Write("След колко години искате да пресметна възрастта Ви?"); // Очакваме избора на потребителя за колко време да пресметнем //
- XYearsStr = Console.ReadLine(); // Задаваме на XYearsStr въведеното от него//
- isNumber = int.TryParse(XYearsStr, out XYears); // Проверяваме дали е число и ако да - задаваме го на XYears //
- if (!isNumber) // Тук правим проверка дали изобщо е въвел число//
- {
- Console.WriteLine("Май споменах число? Опитайте пак!");
- goto WrongLimit; // Връщаме потребителя в началото докато не въведе число //
- }
- else
- if (XYears >= 100) // Проверка дали не иска да живее прекалено дълго:) //
- {
- Console.WriteLine("Не че съм песимист ама след толкова години дали ще си пишем отново за да видим дали съм сметнал вярно? Хайде от мен да мине столетнико!");
- }
- if (HasOrNot == 1) // роверка дали ще има рожден ден в тази година след пресмятането или ще е минал! //
- {
- AgeLater = AgeNow + XYears; // Задаваме възраст по същото време след избраните години //
- Console.WriteLine("След " + XYears + " години по същото време ще сте на " + AgeLater + " години.");
- AgeLater = AgeNow + XYears + HasOrNot; // Добавяме 1-ца за да му кажем на колко ще е в края на годината //
- Console.WriteLine("Все пак в края на годината ще сте на " + AgeLater + " години, така че не забравяйте да почерпите!");
- Console.WriteLine("Сега Ви благодаря, че ми загубихте времето с тази толкова важна за Вас информация. Хайде със здраве!"); // Вадим съобщение и го изпращаме по живо, по здраво //
- }
- else
- if (HasOrNot == 0)
- {
- AgeLater = AgeNow + XYears; // Задаваме възраст по същото време след избраните години. Няма да събираме с нищо,зщото по това време рождения му ден ще е минал //
- Console.WriteLine("След " + XYears + " години по същото време ще сте на " + AgeLater + " години.");
- Console.WriteLine("Сега Ви благодаря, че ми загубихте времето с тази толкова важна за Вас информация. Хайде със здраве!");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement