Top.Mail.Ru
Ответы

Как упростить блок схему? (С++, ну так на всякий случай)

ну вот есть прога, она должна выводить текстовый формат введенного числа до 100.
блок схему каждое число в каждый блок нужно вписывать? или можно как нибудь упростить? ну все таки там же просто перечисления по порядку. Как правильно?

объяснил как мог.

вот код если нужен

#include

using namespace std;

int main()
{
setlocale(LC_ALL, "Russian");
int n;
cin » n;
if (n > 19)
{
switch (n / 10)
{
case 2: cout « "двадцать "; break;
case 3: cout « "тридцать "; break;
case 4: cout « "сорок "; break;
case 5: cout « "пятьдесят "; break;
case 6: cout « "шестьдесят "; break;
case 7: cout « "семьдесят "; break;
case 8: cout « "восемьдесят "; break;
case 9: cout « "девяносто "; break;
}
}

switch ((n > 19) ? n % 10 : n)
{
case 0:
if (n < 1) cout « "ноль";
break;
case 1: cout « "один"; break;
case 2: cout « "два"; break;
case 3: cout « "три"; break;
case 4: cout « "четыре"; break;
case 5: cout « "пять"; break;
case 6: cout « "шесть"; break;
case 7: cout « "семь"; break;
case 8: cout « "восемь"; break;
case 9: cout « "девять"; break;
case 10: cout « "десять"; break;
case 11: cout « "одиннадцать"; break;
case 12: cout « "двенадцать"; break;
case 13: cout « "тринадцать"; break;
case 14: cout « "четырнадцать"; break;
case 15: cout « "пятнадцать"; break;
case 16: cout « "шестнадцать"; break;
case 17: cout « "семнадцать"; break;
case 18: cout « "восемнадцать"; break;
case 19: cout « "девятнадцать"; break;
}

cout « endl;
cin.get();
return 0;
}

По дате
По рейтингу
Аватар пользователя
Новичок
8лет

Как уже сказано ранее, вы можете просто создать массив текстовых значений цифр, а блок-схема вам зачем, учитесь что ли?
Ну а если запрещено использовать массивы, используйте map (хотя это ассоциативный массив, но может оценят приблуду)
Создание массива упростит блоксхему, поскольку отпадает целая куча условий. Ваша блок схема сведётся к
1. Начало
2. Добавляем массив значений и заводим переменную для числа
3. Ввод число
4. Вывод Массив [число]
5. Конец
Рисовать не стану, так как всё довольно линейно.

Аватар пользователя
Мудрец
8лет

Упростить? Запросто:
string numbers[] = {"Ноль", "Один", ..};
coun << numbers[n];

Аватар пользователя
Искусственный Интеллект
8лет

Правильно вообще не рисовать блок-схемы, они никому не нужны. А если требуют, то всё равно, насколько она будет запутанной, лишь бы отделаться.
А вообще намного проще написать

#include “iostream”
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
const char a[10][15]={"","","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"};
const char b[20][15]={"","один","два","три","четыре","пять","шесть","семь","восемь","девять","десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать"};
int n; cin>>n; if(n>19)cout<<a[n/10]<<’ ’<<b[n%10]; else cout<<b[n]; cout<<endl; cin.get(); cin.get();}

Аватар пользователя
Мыслитель
8лет

Незачем упрощать. Можно доупрощаться до того, что перестанет работать.