Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2023, 20:33   #1
pozzetiffman
Новичок
Джуниор
 
Регистрация: 14.03.2023
Сообщений: 7
По умолчанию Сравнение чисел через if как упростить? C++

Нужно выдать: год, лет, года в зависимости от возраста. код работает но слишком большой. Как можно его упростить ?

Код:
int v;
  
cout << name << " Укажите возраст человека "<< endl;
    cin >> v;

  if (v == 1)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 1)"<< endl;
    
    else if (v <= 4 && v>=2 )
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 4 && v>=2 )"<< endl;
    
    else if (v >= 5 && v <= 20 )
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 5 && v <= 20)"<< endl;

    else if (v == 21)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 21)"<< endl;
    
    else if (v <= 24 && v >= 22)
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 24 && v >= 22)"<< endl;
    
    else if (v >= 25 && v <= 30)
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 25 && v <= 30)"<< endl;
    
    else if (v == 31)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 31)"<< endl;
    
    else if (v <= 34 && v >= 32)
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 34 && v >= 32)"<< endl;
    
    else if (v >= 35 && v <= 40)
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 35 && v <= 40)"<< endl;
    
    else if (v == 41)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 31)"<< endl;
    
    else if (v <= 44 && v >= 42)
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 44 && v >= 42)"<< endl;
    
    else if (v >= 45 && v <= 50)
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 45 && v <= 50)"<< endl;
    
    else if (v == 51)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 51)"<< endl;

    else if (v <= 54 && v >= 52)
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 54 && v >= 52)"<< endl;
    
    else if (v >= 55 && v <= 60)
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 55 && v <= 60)"<< endl;
    
    else if (v == 61)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 61)"<< endl;
    
    else if (v <= 64 && v >= 62)
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 64 && v >= 62)"<< endl;
    
    else if (v >= 65 && v <= 70)
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 65 && v <= 70)"<< endl;
    
    else if (v == 71)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 71)"<< endl;
    
    else if (v <= 74 && v >= 72)
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 74 && v >= 72)"<< endl;
    
    else if (v >= 75 && v <= 80)
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 75 && v <= 80)"<< endl;
    
    else if (v == 81)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 81)"<< endl;
    
    else if (v <= 84 && v >= 82)
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 84 && v >= 82)"<< endl;
    
    else if (v >= 85 && v <= 90)
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 85 && v <= 90)"<< endl;
    
    else if (v == 91)
        cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 91)"<< endl;
    
    else if (v <= 94 && v >= 92)
        cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 94 && v >= 92)"<< endl;
    
    else if (v >= 95 && v <= 99)
        cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 95 && v <= 99)"<< endl;
    
    else if (v >= 100)
            cout << "Как этот человек еще жив?  " << endl;
    
    else if (v <= 0)
            cout << "Напишите как миниуму еще через год  " << endl;

Последний раз редактировалось BDA; 15.03.2023 в 21:09.
pozzetiffman вне форума Ответить с цитированием
Старый 15.03.2023, 21:07   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
int v;

cout << name << " Укажите возраст человека "<< endl;
cin >> v;

if (v <= 0) {
    cout << "Напишите как миниуму еще через год " << endl;

} else if ((v%10 == 1) && (v%100 != 11)) {
    cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v%10 == 1) && (v%100 != 11)"<< endl;

} else if ((2 <= v%10 && v%10 <= 4) && (v % 100/10 != 1)) {
    cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (2 <= v%10 && v%10 <= 4) && (v % 100/10 != 1)"<< endl;

} else if ((5 <= v%10 && v%10 <= 9) || (v%10 == 0) || (v%10 > 5) || (11 <= v%100 && v%100 <= 14)) {
    cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (5 <= v%10 && v%10 <= 9) || (v%10 == 0) || (v%10 > 5) || (11 <= v%100 && v%100 <= 14)"<< endl;

// } else if (v == 21) {
// cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 21)"<< endl;

// } else if (v <= 24 && v >= 22) {
// cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 24 && v >= 22)"<< endl;

// } else if (v >= 25 && v <= 30) {
// cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 25 && v <= 30)"<< endl;

// } else if (v == 31) {
// cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 31)"<< endl;

// } else if (v <= 34 && v >= 32) {
// cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 34 && v >= 32)"<< endl;

// } else if (v >= 35 && v <= 40) {
// cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 35 && v <= 40)"<< endl;

// } else if (v == 41) {
// cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 31)"<< endl;

// } else if (v <= 44 && v >= 42) {
// cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 44 && v >= 42)"<< endl;

// } else if (v >= 45 && v <= 50) {
// cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 45 && v <= 50)"<< endl;

// } else if (v == 51) {
// cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 51)"<< endl;

// } else if (v <= 54 && v >= 52) {
// cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 54 && v >= 52)"<< endl;

// } else if (v >= 55 && v <= 60) {
// cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 55 && v <= 60)"<< endl;

// } else if (v == 61) {
// cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 61)"<< endl;

// } else if (v <= 64 && v >= 62) {
// cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 64 && v >= 62)"<< endl;

// } else if (v >= 65 && v <= 70) {
// cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 65 && v <= 70)"<< endl;

// } else if (v == 71) {
// cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 71)"<< endl;

// } else if (v <= 74 && v >= 72) {
// cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 74 && v >= 72)"<< endl;

// } else if (v >= 75 && v <= 80) {
// cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 75 && v <= 80)"<< endl;

// } else if (v == 81) {
// cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 81)"<< endl;

// } else if (v <= 84 && v >= 82) {
// cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 84 && v >= 82)"<< endl;

// } else if (v >= 85 && v <= 90) {
// cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 85 && v <= 90)"<< endl;

// } else if (v == 91) {
// cout << "Я слышал тебе исполнился " << v << " год. Это здорово" << " (v == 91)"<< endl;

// } else if (v <= 94 && v >= 92) {
// cout << "Я слышал тебе исполнилось " << v << " года. Это здорово" << " (v <= 94 && v >= 92)"<< endl;

// } else if (v >= 95 && v <= 99) {
// cout << "Я слышал тебе исполнилось " << v << " лет. Это здорово" << " (v >= 95 && v <= 99)"<< endl;

} else // if (v >= 100) {
    cout << "Как этот человек еще жив? " << endl;
}
Попробуйте использовать математику

ADD: https://godbolt.org/z/oqveeoMfW

Последний раз редактировалось macomics; 15.03.2023 в 21:38.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение чисел Evacuator Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 06.06.2013 12:47
сравнение 16-ых чисел vaan.sk Общие вопросы C/C++ 2 29.11.2012 15:26
XML и сравнение чисел Green4el PHP 10 08.11.2012 14:20
Сравнение двух чисел Ardarik Общие вопросы C/C++ 2 16.01.2011 23:49
Сравнение чисел Draips Помощь студентам 2 17.06.2010 16:51