- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
#include<stdio.h>
int main()
{
int a;
printf("Vvedite svoy vozrast (0-200 let)");
scanf("%d",&a);
if ((a==11)||(a==12)||(a==13)||(a==14)){printf("mne %d let",a); return 0;}
if ((a==111)||(a==112)||(a==113)||(a==114)){printf("mne %d let",a); return 0;}
if (a%10==1){printf("mne %d god",a); return 0;}
if (a%10==2){printf("mne %d goda",a); return 0;}
if (a%10==3){printf("mne %d goda",a); return 0;}
if (a%10==4){printf("mne %d goda",a); return 0;}
if ((a%10==0)||(a%10==5)||(a%10==6)||(a%10==7)||(a%10==8)||(a%10==9)){printf("mne %d let",a); return 0;}
return 0;
}
Программа выводит год/года/лет. То есть возраст синтаксически правильно. Вопрос. Это как-нибудь можно написать покороче? Это считается говнокодом?
psina-from-ua 09.06.2010 17:02 # 0
Но тут максимум до 20 лет, а тебе ещё можно так сделать:
Nagg 09.06.2010 17:53 # +18
....
absolut 10.06.2010 12:49 # 0
nil 10.06.2010 10:36 # 0
psina-from-ua 10.06.2010 11:15 # 0
nil 10.06.2010 11:22 # 0
absolut 10.06.2010 12:38 # 0
Однако всё равно должно быть :
else if (age >= 2 && age < 5) Console.WriteLine("{0} года!", age);
Lennis 09.06.2010 17:18 # 0
ForEveR 09.06.2010 17:29 # 0
telnet 09.06.2010 17:50 # 0
Писал когда-то. Выглядит жутко, знаю =3
ForEveR 09.06.2010 17:59 # −1
telnet 09.06.2010 18:02 # 0
ForEveR 09.06.2010 18:07 # 0
xXx_totalwar 09.06.2010 18:04 # +4
absolut 10.06.2010 12:40 # −3
xXx_totalwar 10.06.2010 12:46 # +1
-1
absolut 10.06.2010 12:57 # 0
xXx_totalwar 10.06.2010 13:00 # +3
absolut 11.06.2010 01:31 # 0
xXx_totalwar 11.06.2010 07:02 # 0
ты так серьезно относишься к плюсам-минусам, что это уже похоже на плюсоебство, или того хуже - манию. стоит полечится.
absolut 11.06.2010 10:40 # −1
На плюсы-минусы стало как бы пох, они не объективны в силу несерьёзности данного места. Тут только фан, о чем сказано прямо в заголовке сайта. Однако, не смотря на это можно вести себя культурно, но ты провоцируешь на безобразия.
Bjarne_Stroustrup 09.06.2010 18:51 # +1
Смысл? В разных языках совершено разные правила. Такое АПИ будет работать только для части славянских языков. Для языков, простых в отношении числительных (английский, германский там какой-нибудь), будет ненужный оверхед + лишние аргументы. Для некоторых языков функция будет нерабочая. Поэтому смысла выствалять так на показ вариации нет.
По уму надо для каждого языка делать отдельный языковой класс и переопределять метод что-то вроде string ::GetYearsString(int n).
telnet 09.06.2010 18:59 # 0
Bjarne_Stroustrup 09.06.2010 19:04 # 0
Замени static string getAgeString(int n) на override string getAgeString(int n) и уверуй!
telnet 09.06.2010 19:16 # +1
> а я разве где-то говорил, что собирался писать универсальную функцию под разные языки?
Как можно было из прямого вопроса про мой код внаглую переключить тему на собственный?..
Bjarne_Stroustrup 09.06.2010 19:18 # 0
Отдельные модули для отдельных языков реализуют нужный функционал...
И то этого не хватит, ибо может быть разделение по постпозиции/препозиции...
ForEveR 09.06.2010 19:23 # +1
Bjarne_Stroustrup 09.06.2010 20:05 # 0
telnet 09.06.2010 19:24 # +1
Bjarne_Stroustrup 09.06.2010 20:06 # −1
telnet 09.06.2010 20:27 # +2
Ну, блин, клиника, а не обсуждение...
Bjarne_Stroustrup 09.06.2010 18:33 # −4
legolegs 09.06.2010 18:40 # 0
Bjarne_Stroustrup 09.06.2010 18:42 # −2
И что? Это как-то влияет на алгоритм?
> эксепшн этот говнокодерский (всё равно, что c:\\windows хардкодить).
Что за бред? Обычный контракт на аргументы. Люди выше 120 лет не живут.
> У пыхпыхера выше функция куда юзабельнее.
Как вышеуказанная "критика" соотносится с юзабельностью? Юзабельность это API, а не внутренняя реализация.
legolegs 09.06.2010 21:27 # +5
Нет, но с твоим ником не гармонирует.
>Люди выше 120 лет не живут.
640кб хватит для каждого.
>Как вышеуказанная "критика" соотносится с юзабельностью?
Это три разных претензии. Просто не вижу смысла привязываться к слову "год". Бывает, надо и в попугаях мерить, и в килограммах и в бутылках.
Анонимус 11.06.2010 01:13 # +1
>640кб хватит для каждого.
Вы думаете что через 25 лет люди будут жить 120 лет?
legolegs 11.06.2010 02:34 # +2
И я бы понял ограничение, если бы реализовать сабж для возрастов >120 было бы сложно. Но это не так, поддержка долгожителей делается короче, чем этот эксцепшен. Так какого хрена за просто так делать программу убогой?
nil 10.06.2010 10:39 # +2
Вот из-за таких, как Вы, у нас демографический кризис!!!
Говногость 10.06.2010 16:57 # +1
Что-за дискриминация долгожителей? О_о
Вот купит твою програмку пожилой человек и начнёт юзать, а она в ответ возмёт, да упадёт.
zitzy 09.06.2010 20:43 # +1
legolegs 09.06.2010 21:24 # +3
zitzy 09.06.2010 21:29 # +2
psina-from-ua 09.06.2010 21:37 # 0
ForEveR 09.06.2010 21:57 # 0
zitzy 09.06.2010 22:03 # 0
> Вопрос. Это как-нибудь можно написать покороче?
а это что?
> Где-то написано что студентам нельзя находится на сайте и скидывать коды?
Смотреть на лабы уже всем надоело. Сами такое писали, потому не интересно.
ForEveR 09.06.2010 22:18 # −2
Это вопрос.
This is obvious 09.06.2010 22:28 # +2
ForEveR 09.06.2010 22:36 # −2
This is obvious 10.06.2010 08:46 # +2
koodeer 10.06.2010 15:20 # −1
ForEveR 10.06.2010 20:52 # 0
KoirN 12.06.2010 18:51 # −1
guest 23.03.2012 18:46 # 0
Дополнительный бонус: работает с любым языком через gettext и даже обрабатывает кодировки.