Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Fundamentalen avatar Fundamentalen 133 Точки

int age = int.Parse(Console.ReadLine());

age += 10;

Console.WriteLine(age);

3
HPetrov avatar HPetrov 822 Точки

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

Още не съм се заел да е реша но решението, което си мисля е да използвам 3 проментливи за ден, месец и година като следователно са int day/month/year = int.Parse(Console.ReadLine()); и вече тези стойности да ги използваш заедно с DateTime. Ще остаря сам да се разровиш в нета за как точно да го направиш това - не е сложно спокойно :P После със друг DateTime смяташ разликата между двете дати и трябва да си извади на колко години си сега. Накрая остана просто да добавиш 10 към резултата и си готов :P

4
Fundamentalen avatar Fundamentalen 133 Точки

Мисля че в задачата се иска просто да се въведат годините на потребителя, а не датата на раждане. Определено по този начин, за който ти говориш е по-интелигентен, но в условието се искат просто годините на потребителя...

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

5
kiko144 avatar kiko144 795 Точки
Ако беше толкова лесно нямаше да е със звезда! Има едно ключово нещо което малко противоречи с твоето решение и то е : "read your birthday from the console" Ти въвеждаш на колко години си, а би трябвало да въведеш рождена дата. 
0
mzografski avatar mzografski 189 Точки


Console.WriteLine("How old are you?");
        userAge = int.Parse(Console.ReadLine());
        Console.WriteLine("OMG!!! Your will be {0:D} after 10 years!", (userAge + 10));
       

3
TsvetinaKoleva avatar TsvetinaKoleva 92 Точки
"OMG you will be..." хехе

Моето решение е същото.
Мисля, че най-добре отговаря на условието (поне това което имам аз о.О) и го няма проблема с различните месеци на раждане. Та и задачата не е трудна... с тази звездичка май много хора заключихме, че ще е нещо по-така.
0
mzografski avatar mzografski 189 Точки

Всъщност с дата на раждане е къде-къде по-интересно! трябва да следиш първо въведеното да е наистина дата. После да го направиш да работи с високосни години и с рожденни дни на 29 Февруари. А накрая да го направиш да може да се види резултатът дори и когато го пуснеш с F5.

0
Lyubo avatar Lyubo 172 Точки
        Console.Write("Please enter the year were you born: ");
        int yearBorn = int.Parse(Console.ReadLine());

        int yearNow = DateTime.Now.Year;
        int age = yearNow - yearBorn;

        Console.WriteLine("Now you are {0} years old.", age);
        Console.WriteLine("After 10 years you will be {0}", age + 10);








1
kiko144 avatar kiko144 795 Точки
Решението като цяло е по-близо до смисъла, но в условието пише да въведеш BirthDAY а не година, пък и дори и да е година ако примерно както аз съм роден 1992 г а сега е 2014 г. програмата ще изкара, че съм на 22 а всъщност съм на 21, понеже съм роден май месец! 
0
Lyubo avatar Lyubo 172 Точки

Това е малко по-добре, има проверка за ден, месец и година :)

 Console.Write("Please enter the day were you born: ");
        int dayBorn;
        while (!int.TryParse(Console.ReadLine(), out dayBorn) || dayBorn < 1 || dayBorn > 31) Console.WriteLine("Invalit day!!!");

        Console.Write("Please enter the month were you born: ");
        int monthBorn;
        while (!int.TryParse(Console.ReadLine(), out monthBorn) || monthBorn < 1 || monthBorn > 12) Console.WriteLine("Invalit month!!!");

        Console.Write("Please enter the year were you born: ");
        int yearBorn;
        while (!int.TryParse(Console.ReadLine(), out yearBorn) || yearBorn < 1900 || yearBorn > 2005) Console.WriteLine("Invalit year!!!");

        var test = DateTime.Today;
        var isEqual = test.Day >= dayBorn && test.Month >= monthBorn;

       

        if (isEqual)
        {
            Console.WriteLine("You born on the {0}-{1}-{2}", dayBorn, monthBorn, yearBorn);
            Console.WriteLine("Now you are {0} years old.", DateTime.Now.Year - yearBorn);
            Console.WriteLine("After 10 years you will be {0}", DateTime.Now.Year - yearBorn + 10);
        }
        else
        {
            Console.WriteLine("You born on the {0}-{1}-{2}", dayBorn, monthBorn, yearBorn);
            Console.WriteLine("Now you are {0} years old.", DateTime.Now.Year - yearBorn - 1);
            Console.WriteLine("After 10 years you will be {0}", DateTime.Now.Year - yearBorn + 9);
        }

4
AlexanderBeloev avatar AlexanderBeloev 70 Точки

Здравейте,

 

Исках само да поздравя Lyubo за решението, защото на мен то лично най-много ми допада. Единствено искам да коригирам, че за да излизат вярно годините test.Day трябва да е по малко от dayBorn.

 

Така би изгелждал вече поправеният ред от кода.

 

var isEqual = test.Day <= dayBorn && test.Month >= monthBorn;

 

Благодаря ти много за решението, поне за сега то за мен е най удачно.

 

Поздрави на всички! :)

 

P.S. Коелги, нека ако някой има още корекции към кода, да ги сподели, ще бъда благодарен!

0
wartus avatar wartus 152 Точки
Моето решение е явно като на повечето,защото въведох директно от конзолата годините ( а не датата)
Защо е със "*" ами защото този материал не е учен,тоест не сме учили Parse,Readline и тн(трябва сами да се поровим в нета) , но вместо да се чудите дали се въвежда датата или годините :D направете проверка за валидност на данните , няма да е готино да въведа
"Баба Пена" и да гръмне :) Аз го направих с Try и Catch. 
Успех !
8
velinsi avatar velinsi 0 Точки
       

Според мен е по-добре да се използва DateTime и като цяло е хубаво да се пробват различни неща :)  Може би е добре и да се използва  DateTime.AddYears.

        int birthYear;
        Console.WriteLine("Enter the year you were born:");
        birthYear = Console.ReadLine();

        int yearsToday = DateTime.Now.Year - birthYear;
        int futureAge = yearsToday + 10;
        Console.WriteLine("You will be {0} years old after 10 years", futureAge);

0
wartus avatar wartus 152 Точки
При така написания код има проблем с месеците ,може някой да е роден декември и все още да не е навършил години.
2
Roberto avatar Roberto 56 Точки
Не мога да разбера,дали трябва да изписва направо годините или трябва да се въведът въпросните години и програмата автоматично да ги събира с 10?
0
mzografski avatar mzografski 189 Точки
Идеята е потребителят да въведе годините си и програмата да сметне възрастта му след 10 години.
0
viraldim avatar viraldim 21 Точки

Ето и от мен едно решение по условието с рождената дата: http://pastebin.com/jVPtFimZ

Не съм сигурен, че е най-доброто и ако някой има забележки моля да пише.

3
Roberto avatar Roberto 56 Точки
Не знам кога си свалял домашното,но точно тази задача е променена.Свали го пак и я погледни.
1
ViValDam avatar ViValDam 15 Точки

Намирам, за много полезно , че има различни решения - научих много нови неща !

Благодаря на всички , че бяхте така добри и ги сложихте тук !



















































4
du4ko avatar du4ko 14 Точки

Моето решение , търпя сериозна критика ако има :) !

            double a;
            Console.WriteLine("Type your current age:");
            a = double.Parse(Console.ReadLine());
            Console.WriteLine("In 10 years you will be:" + (a + 10));



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