Loading...
Roberto avatar Roberto 56 Точки
  Console.WriteLine("Write your Birthday (date.month.year)");
            DateTime YourBirthDay = DateTime.Parse(Console.ReadLine());
            DateTime TimeNow = DateTime.Today;
            int CurrentAge = TimeNow.Year - YourBirthDay.Year;
            if (TimeNow.Month <= YourBirthDay.Month && TimeNow.Day <= YourBirthDay.Day)
            {
                Console.WriteLine("After 10 years you will be {0}", CurrentAge + 9);
            }
            else
            {
                Console.WriteLine("After then years you will be {0}", CurrentAge + 10);
            }
            Console.ReadLine();
Това е моето решение на задачата,мисля,че е най-удачно.
4
du4ko avatar du4ko 14 Точки
Мерси , сега ще се пробвам да я реша с новото условие! :)
0
chavdardim avatar chavdardim 17 Точки

Опитах това решение.Как точно трябва да се напише датата на раждане?

На мен ми дава Exception всеки път като пробвам.

0
vanqz avatar vanqz 3 Точки

Първия път когато съм изтеглила домашната... 

* Date after 10 Years
* Write a program to read your age from the console and print how old you will be after 10 years.

Тегля я сега 

* Age after 10 Years
Write a program to read your birthday from the console and print how old you are now and how old you will be after 10 years.


и сега като съм си пратила домашната от първия вариант грешно ли е или правилно :д

0
Roberto avatar Roberto 56 Точки
Може да я коригираш и да го изпратиш наново.
0
kiko144 avatar kiko144 795 Точки
Като се има в предвид, че ние ще си ги проверяваме не мисля че някой ще ти напише отрицателен коментар за това, защото се пак е имало такова условие :) 
0
coaster avatar coaster 412 Точки
И аз пробвах нещо, но не се получава както го мислих... Някой иска ли да пробва да открие грешката (грешките)?

http://pastebin.com/HzTetA9B
0
Lyubo avatar Lyubo 172 Точки

Доколкото разбрах от кодът ви искате да направите нещо подобно Цък

Substring замених с Split, string го направих на масив, текущата година промених на int и е взех с DateTime.Now.Year;

Задачата все още не е решена напълно, трябва да направите и проверка за ден, месец и да добавите на колко години ще сте след 10 години.

0
TsvetinaKoleva avatar TsvetinaKoleva 92 Точки
Разликите в условията са ясни, ще го имам предвид, докато проверявам домашни.

Може да има хора, които са изпратили предишния вариант и не са видели темата във форума. И като цяло да са имали вярна задача... а сега да не им отговаря на условието.
0
Iliya.Stoilov avatar Iliya.Stoilov 6 Точки

ЕДИТ: Пробвах със TimeSpan метода, но не ми извежда правилен резултат на конзолата ето го кода.

        DateTime birthDay = DateTime.Parse(Console.ReadLine());
        TimeSpan difference = DateTime.Now.Subtract(birthDay);
        Console.WriteLine(difference);

0
coaster avatar coaster 412 Точки
TimeSpan не е ли за периоди във времето? Тоест да речем, че РД-то ти е на 11.09.1994, като го извадиш от днешната дата, ще ти даде колко дни са изминали от раждането ти.. Поправете ме ако греша, може да не съм права.
1
MartinBorisov94 avatar MartinBorisov94 52 Точки
Колеги няма нужда да си усложнявате задачата. Изисква се просто да се въведе на колко години сте и  да се отпечати на колко ще сте след 10 години. Звездичката е защото трябва да се запознаете с Console.ReadLine, което ще го учим съвсем скоро.
0
Masovski avatar Masovski 211 Точки
Това за което ти говориш е един от вариантите на задачата. Както вече стана ясно, тази задача е била променяна най-малко 3 пъти. Като, ако изтеглиш файла с домашното отново, ще видиш, че е с различно условие.
2
coaster avatar coaster 412 Точки

Ето още един вариант, малко по-подробен, но пак не успях да изчисля възрастта в зависимост и от датата, и от месеца.. Пресмятат се само според годината на раждане :(
ПП. Също така не знам дали try-catch блокът е нужен и дали изобщо е правилен, така че може да го игнорирате и да гледате само другата част от кода :D

http://pastebin.com/GRX8HSQU

EDIT: Оправих го.. Финалната работеща версия, може би малко по-тежка, отколкото би трябвало да е:

http://pastebin.com/qE5YQQzk

0
Iliya.Stoilov avatar Iliya.Stoilov 6 Точки

Колежке, благодаря за отговора ти към моя коментар от по-горе ! От него ми дойде на акъла съвсем малко по-различно решение отново на 3 реда! :)

        DateTime birthDay = DateTime.Parse(Console.ReadLine());
        TimeSpan difference = DateTime.Now.Subtract(birthDay);
        Console.WriteLine(difference.Days/365);

Решение на 15 задача в 3 реда

Ето и пълния код http://pastebin.com/XmddH1Ha

0
Lyubo avatar Lyubo 172 Точки
До coastes добавих 2-3 реда в кодът ти(ред 122, 124 и 132), вече имаш проверка за деня и месеца и би трябвало да показва вярно датата. Try-catch блокът е малко излишен :) погледни кодът който съм постнал в предишният ти пост.
0
Masovski avatar Masovski 211 Точки

Ето как аз съм го решил, според последното условие на задачата:

http://pastebin.com/Mje70XQx

Добавил съм и коментари към всеки ред. Ако на някой не му е ясно нещо, нека пита.

3
ViValDam avatar ViValDam 15 Точки

това дето уж проверява грешен инпут - нищо не прави

1
Masovski avatar Masovski 211 Точки
Не го бях сложил с такава цел, а за да не гърми. Все пак го промених, сега има и проверка.
0
GoShow avatar GoShow 595 Точки
static void Main()
    {
        //This was my first solution.It's also working but the algorithm is not right. :)

        //Console.Write("Enter your age : ");
        //int age = int.Parse(Console.ReadLine());
        //Console.WriteLine("After 10 years you will be {0} years old.", age + 10);

        //Second (right) solution :)

        Console.Write("Please enter your birthday (YYYY-MM-DD) : ");
        DateTime birthday = DateTime.Parse(Console.ReadLine());
        int afterTenYears = (DateTime.Now.Year - birthday.Year) + 10;
        Console.WriteLine("After 10 years you will be {0}.", afterTenYears);

    }

За сигурност съм използвал и двата варианта :).На който му харесва може да разкоментира първия.












1
ViValDam avatar ViValDam 15 Точки

ЕТО ГО И МОЕТО РЕШЕНИЕ !

ДОСТА СЕ ПОИЗПОТИХ, ДА РОВЯ ИЗ ИНТЕРНЕТ, АМА СТАНА НАКРАЯ И ТО С НЯКОЛКО РЕДА САМО !

ПРОГРАМАТА МИ ИЗЧИСЛЯВА , ОСВЕН ГОДИНИТЕ И МЕСЕЦИТЕ И ДНИТЕ ОТ ВЪЗРАСТТА -САМО ЗА УПРАЖНЕНИЕ РАЗБИРА СЕ - НЕ Е НЕОБХОДИМО !

ВАРИАНТА С ДАДЕНАТА ДАТА НА РАЖДАНЕ :


using System;
using System.Globalization;

class AgeAfter10Years
{
static void Main()
{
//Problem 15. *
//Age after 10 Years
//Write a program to read your birthday from the console and
//print how old you are now and how old you will be after 10 years.

Console.WriteLine("How old you gonna be in 10 years? I'm going to tell you!");
Console.WriteLine();
Console.WriteLine("Type your birthday with numbers this way [month/day/year], then press [Enter]:" );
Console.WriteLine();

//birtday
string birthday = Console.ReadLine();
DateTime DateOfBirth = Convert.ToDateTime(birthday);

//today
DateTime DateToday = DateTime.Today;

// calculates years
TimeSpan AgeInDays = DateToday.Subtract(DateOfBirth);
double AgeInYears = AgeInDays.TotalDays / 365.25;
Console.WriteLine();

// calculates months
double Months = (AgeInYears - (int)AgeInYears) * 12;

// calculates days
double Days = (Months - (int)Months) * 24;


Console.WriteLine("You are now " + (int)AgeInYears + " years " + (int)Months
+ " months and " + (int)Days + " days" + " old.");
Console.WriteLine();
Console.WriteLine("After 10 years you'll be " + ((int)AgeInYears + 10) + " years "
+ (int)Months + " months and " + (int)Days + " days" + " old.");
Console.WriteLine();

Console.Read();

}

}


И РЕШЕНИЕТО МИ ПРИ ДУГОТО УСЛОВИЕ - ПРИ ДАДЕНА ВЪЗРАСТ

С ХВАЩАНЕ НА ВЪЗМОЖНИ ГРЕШКИ ПРИ ВЪВЕЖДАНЕТО НА ДАННИТЕ:

using System;

class ItCalculatesYourAgeAfter10Years
{
static void Main()
{

Console.WriteLine("Now, I am going to tell you, how old are you going to be, after 10 years. ");
Console.WriteLine();
Console.WriteLine("Type your age and then press <ENTER> ! ");

Console.WriteLine();
string line = Console.ReadLine();
Console.WriteLine();
int value;

if ((int.TryParse(line, out value)) & (value <= 100))
{
Console.WriteLine("Oh, so now you are " + value + " years old!");
Console.WriteLine();
Console.Write("That means, after 10 years you are going to be ");
Console.Write(value + 10);
Console.WriteLine(" years old! ");

}

else
if ((value > 100) & (value < 120))
{

Console.WriteLine("You are going to be in heaven my dear!");

}

else
{

Console.WriteLine("No jokes, please !");
Console.WriteLine();
Console.WriteLine("This is not a valid age !");
}

Console.ReadLine();
}
}























































































































































 И РЕШЕНИЕТО МИ ПРИ ДУГОТО УСЛОВИЕ - ПРИ ДАДЕНА ВЪЗРАСТ :

using System;

class ItCalculatesYourAgeAfter10Years
{
static void Main()
{

Console.WriteLine("Now, I am going to tell you, how old are you going to be, after 10 years. ");
Console.WriteLine();
Console.WriteLine("Type your age and then press <ENTER> ! ");

Console.WriteLine();
string line = Console.ReadLine();
Console.WriteLine();
int value;

if ((int.TryParse(line, out value)) & (value <= 100))
{
Console.WriteLine("Oh, so now you are " + value + " years old!");
Console.WriteLine();
Console.Write("That means, after 10 years you are going to be ");
Console.Write(value + 10);
Console.WriteLine(" years old! ");

}

else
if ((value > 100) & (value < 120))
{

Console.WriteLine("You are going to be in heaven my dear!");

}

else
{

Console.WriteLine("No jokes, please !");
Console.WriteLine();
Console.WriteLine("This is not a valid age !");
}

Console.ReadLine();
}
}








































































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