• Предмет: Информатика
  • Автор: mirzoshoyevanilufar
  • Вопрос задан 5 месяцев назад

Дается показатель усвоения учащимся. Целое число в диапазоне 0-100. В зависимости от его освоения составьте программу, выражающую результат словами (“ноль баллов”, “пятьдесят баллов”, “восемьдесят семь баллов”).
C++

Ответы

Ответ дал: hypefaq
1

#include <iostream>

#include <string>

std::string convert_to_words(int num) {

   // массив слов для чисел от 0 до 19

   std::string ones[] = {"ноль", "один", "два", "три", "четыре", "пять",

                         "шесть", "семь", "восемь", "девять", "десять",

                         "одиннадцать", "двенадцать", "тринадцать", "четырнадцать",

                         "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать"};

   // массив слов для чисел десятков

   std::string tens[] = {"", "", "двадцать", "тридцать", "сорок", "пятьдесят",

                         "шестьдесят", "семьдесят", "восемьдесят", "девяносто"};

   // массив слов для чисел сотен

   std::string hundreds[] = {"", "сто", "двести", "триста", "четыреста", "пятьсот",

                             "шестьсот", "семьсот", "восемьсот", "девятьсот"};

   std::string words;

   if (num == 0) {

       words = ones[0];

   } else if (num <= 19) {

       words = ones[num];

   } else if (num <= 99) {

       words = tens[num / 10] + " " + ones[num % 10];

   } else if (num <= 999) {

       words = hundreds[num / 100] + " " + convert_to_words(num % 100);

   } else {

       words = "недопустимое значение";

   }

   return words;

}

int main() {

   int num;

   std::cout << "Введите показатель усвоения: ";

   std::cin >> num;

   std::string words = convert_to_words(num);

   std::cout << "Показатель усвоения: " << words << std::endl;

   return 0;

}


hypefaq: ой, там от от 0 до 100 нужно, а не 1000. незаметил, извини, к сожалению уже закрыл программу, просто снеси массив
Вас заинтересует