- 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;
}
Программа выводит год/года/лет. То есть возраст синтаксически правильно. Вопрос. Это как-нибудь можно написать покороче? Это считается говнокодом?
Но тут максимум до 20 лет, а тебе ещё можно так сделать:
....
Однако всё равно должно быть :
else if (age >= 2 && age < 5) Console.WriteLine("{0} года!", age);
Писал когда-то. Выглядит жутко, знаю =3
-1
ты так серьезно относишься к плюсам-минусам, что это уже похоже на плюсоебство, или того хуже - манию. стоит полечится.
На плюсы-минусы стало как бы пох, они не объективны в силу несерьёзности данного места. Тут только фан, о чем сказано прямо в заголовке сайта. Однако, не смотря на это можно вести себя культурно, но ты провоцируешь на безобразия.
Смысл? В разных языках совершено разные правила. Такое АПИ будет работать только для части славянских языков. Для языков, простых в отношении числительных (английский, германский там какой-нибудь), будет ненужный оверхед + лишние аргументы. Для некоторых языков функция будет нерабочая. Поэтому смысла выствалять так на показ вариации нет.
По уму надо для каждого языка делать отдельный языковой класс и переопределять метод что-то вроде string ::GetYearsString(int n).
Замени static string getAgeString(int n) на override string getAgeString(int n) и уверуй!
> а я разве где-то говорил, что собирался писать универсальную функцию под разные языки?
Как можно было из прямого вопроса про мой код внаглую переключить тему на собственный?..
Отдельные модули для отдельных языков реализуют нужный функционал...
И то этого не хватит, ибо может быть разделение по постпозиции/препозиции...
Ну, блин, клиника, а не обсуждение...
И что? Это как-то влияет на алгоритм?
> эксепшн этот говнокодерский (всё равно, что c:\\windows хардкодить).
Что за бред? Обычный контракт на аргументы. Люди выше 120 лет не живут.
> У пыхпыхера выше функция куда юзабельнее.
Как вышеуказанная "критика" соотносится с юзабельностью? Юзабельность это API, а не внутренняя реализация.
Нет, но с твоим ником не гармонирует.
>Люди выше 120 лет не живут.
640кб хватит для каждого.
>Как вышеуказанная "критика" соотносится с юзабельностью?
Это три разных претензии. Просто не вижу смысла привязываться к слову "год". Бывает, надо и в попугаях мерить, и в килограммах и в бутылках.
>640кб хватит для каждого.
Вы думаете что через 25 лет люди будут жить 120 лет?
И я бы понял ограничение, если бы реализовать сабж для возрастов >120 было бы сложно. Но это не так, поддержка долгожителей делается короче, чем этот эксцепшен. Так какого хрена за просто так делать программу убогой?
Вот из-за таких, как Вы, у нас демографический кризис!!!
Что-за дискриминация долгожителей? О_о
Вот купит твою програмку пожилой человек и начнёт юзать, а она в ответ возмёт, да упадёт.
> Вопрос. Это как-нибудь можно написать покороче?
а это что?
> Где-то написано что студентам нельзя находится на сайте и скидывать коды?
Смотреть на лабы уже всем надоело. Сами такое писали, потому не интересно.
Это вопрос.
Дополнительный бонус: работает с любым языком через gettext и даже обрабатывает кодировки.