Дать для числа название «гривна», «гривны» или «гривен». - C (СИ)
Формулировка задачи:
Дано натуральное число s (s <= 1000), определяющий денежную сумму (в гривнах). Дать для этого числа название «гривна», «гривны» или «гривен».
// 3 лаба 3 завдання.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "math.h" #include "stdio.h" #include "conio.h" int main() { int p; if (p==1 || p==21 || p==31 || p==41 || p==51 || p==61 || p==71 || p==81 || p==91 || p==101 || p==121 || p==131 || p==141 || p==151 || p==161 || p==171 || p==181 || p==191 || p==201 || p==221 || p==231 || p==241 || p==251 || p==261 || p==271 || p==281 || p==291 || p==301 || p==321 || p==331 || p==341 || p==351 || p==361 || p==371 || p==381 || p==391 || p==401 || p==421 || p==431 || p==451 || p==461 || p==471 || p==481 || p==491 || p==501 || p==521 || p==531 || p==541 || p==551 || p==561 || p==571 || p==581 || p==591 || p==601 || p==621 || p==631 || p==641 || p==651 || p==661 || p==671 || p==681 || p==691 || p==701 || p==721 || p==731 || p==741 || p==751 || p==761 || p==771 || p==781 || p==791 || p==801 || p==821 || p==831 || p==841 || p==851 || p==861 || p==871 || p==881 || p==891 || p==901 || p==921 || p==931 || p==941 || p==951 || p==961 || p==971 || p==981 || p==991 ) printf("Hruvna\n"); else { if (p>1 && p<5 || p>21 && p<25 || p>31 && p<35 || p>41 && p<45 || p>51 && p<55 || p>61 && p<65 || p>71 && p<75 || p>81 && p<85 || p>91 && p<95 ||p>101 && p<105 || p>121 && p<125 || p>131 && p<135 ||p>141 && p<145 || p>151 && p<155 || p>161 && p<165 ||p>171 && p<175 || p>181 && p<185 || p>191 && p<195 ||p>201 && p<205 || p>211 && p<215 || p>221 && p<225 ||p>231 && p<235 || p>241 && p<245 || p>251 && p<255 ||p>261 && p<265 || p>271 && p<275 || p>281 && p<285 ||p>291 && p<295 || p>301 && p<305 || p>311 && p<315 ||p>321 && p<325 || p>331 && p<335 || p>341 && p<345 ||p>351 && p<355 || p>361 && p<365 || p>371 && p<375 ||p>381 && p<385 || p>391 && p<395 || p>401 && p<405 ||p>411 && p<415 || p>421 && p<425 || p>431 && p<435 ||p>441 && p<445 || p>451 && p<455 || p>461 && p<465 ||p>471 && p<475 || p>481 && p<485 || p>491 && p<495 ||p>501 && p<505 || p>511 && p<515 || p>521 && p<525 ||p>531 && p<535 || p>541 && p<545 || p>551 && p<555 ||p>561 && p<565 || p>571 && p<575 || p>581 && p<585 ||p>591 && p<595 || p>601 && p<605 || p>611 && p<615 ||p>621 && p<625 || p>631 && p<635 || p>641 && p<645 ||p>651 && p<655 || p>661 && p<665 || p>671 && p<675 ||p>681 && p<685 || p>691 && p<695 || p>701 && p<705 ||p>711 && p<715 || p>721 && p<725 || p>731 && p<735 ||p>741 && p<745 || p>741 && p<745 || p>751 && p<755 ||p>761 && p<765 || p>771 && p<775 || p>781 && p<785 ||p>791 && p<795 || p>801 && p<805 || p>811 && p<815 ||p>821 && p<825 || p>831 && p<835 || p>841 && p<845 ||p>851 && p<855 || p>861 && p<865 || p>871 && p<875 ||p>881 && p<885 || p>891 && p<895 || p>901 && p<905 ||p>911 && p<915 || p>921 && p<925 || p>931 && p<935 ||p>941 && p<945 || p>951 && p<955 || p>961 && p<965 ||p>971 && p<975 || p>981 && p<985 || p>991 && p<995) printf("Hryvni\n"); } if (p>1000) printf("Error\n"); else printf("Hryven\n"); getch(); return 0; }
Составил программу а она не работает
Решение задачи: «Дать для числа название «гривна», «гривны» или «гривен».»
textual
Листинг программы
///////////////////////////////////////////////////////////////////////////////////////// //Дано натуральное число s (s <= 1000), определяющий денежную сумму (в гривнах). //Дать для этого числа название «гривна», «гривны» или «гривен». ///////////////////////////////////////////////////////////////////////////////////////// #include <iostream> #include <string> ///////////////////////////////////////////////////////////////////////////////////////// typedef std::string T_str; ///////////////////////////////////////////////////////////////////////////////////////// int main() { std::locale::global(std::locale("")); for(;;) { int amount; std::cout << "Введите сумму в гривнах: "; std::cin >> amount; int units = amount % 10; int tens = amount % 100 / 10; T_str amount_name = "гривен"; if(tens != 1) { switch(units) { case 1: amount_name = "гривна"; break; case 2: case 3: case 4: amount_name = "гривны"; } } std::cout << amount << ' ' << amount_name << std::endl << std::endl << std::endl << std::endl; } }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Объявляется тип переменной T_str, который будет использоваться для хранения строковых значений
- Задаётся цикл, который будет выполняться до тех пор, пока пользователь не введет знак выхода из цикла
- Внутри цикла объявляется переменная amount типа int, в которую будет считываться введенное пользователем натуральное число
- Далее, с помощью операций % и /, определяются десятки и единицы числа
- Переменной amount_name присваивается строковое значение
гривен
- Если значение переменной tens не равно 1, то выполняется блок кода, который будет определять значение переменной amount_name в зависимости от значения переменной units
- Для этого используется оператор switch, который проверяет значение переменной units и присваивает переменной amount_name соответствующее строковое значение
- После выполнения блока кода, выводится на экран введенное пользователем число и его название, которое хранится в переменной amount_name
- После вывода значения переменной amount и amount_name на экран, программа продолжает выполнение цикла с первой итерации
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д