Вывод русскими буквами

Лабораторная работа N 2

по дисциплине "Теория и технология программирования"

на тему: "Вычисления с условиями"

Цель работы.

Цель лабораторной работы состоит в формировании умений:

- Работы с операторами проверки условий;

- Анализа вводимых пользователем данных;

- Создания русскоязычного интерфейса программы.

Задание.

В соответствии с персональным вариантом задания написать программу, которая предлагает пользователю ввести требуемые данные (параметры A,B,C,D,G,M,N,K,W для различных вариантов), проверяет корректность введенных данных (отрицательный или дробный возраст, нулевой год и т.д.), предлагает исправить некорректно введенные данные и вычисляет требуемые в задании условия:

таблица 1.

Индивидуальные варианты

Задание
1. Дано число C. Распечатать величину этого числа в словесной форме, учитывая его знак Предусмотреть, что -9 <= С <= 9
2. Дано число М. Определить полугодие, на которое приходится месяц M и количество дней в этом месяце. Предусмотреть, что 1<=M<=12, год невисокосный.
3. Дано число N. Напечатать фразу "Мне N лет", учитывая, что при некоторых значениях N слово "лет" надо заменить на слово "год" или ''года'' Предусмотреть, что N<100,N - целые
4. Дано число N. Напечатать фразу "Мы успешно сдали N экзаменов", согласовав окончание слова "экзамен" с числом N Предусмотреть, что 1<=M <=20
5. Определить время года, к которому относится месяц M и найти количество дней в этом месяце Педусмотpеть, что 1 <= M <= 12 год високосный
6. Даны два числа D-день и M-месяц. Определить K- номер того дня високосного года, который имеет дату D и M.  
7. Определить D и M-дату К-го по счету дня високосного года. Месяц вывести числом и в словесной форме.  
8. Даны два числа D и M, определяющие день и месяц. Считая, что год невисокосный и его день 1 Января приходится на день недели W, определить день недели с датой D и M .  
9. Дан номер года. Найти число дней в году . В григориганском календаре каждый год, номер которого делится на 4,являeтся високосным, за исключением тех, которые делятся на 100 и не делятся на 400 нацело. 1900г.-невисокос. 2000г.-високосный.
10. Даны три числа D,M и G. Проверить образуют ли они правильную дату и вывести соответствующее сообщение. Например,31.06.90 - неправильная дата. Определение вис.г. см. в условии N9.
11. Даны три целых числа, определяющие дату: год, месяц, день. Считая, что год не високосный, определить дату следующего дня.  
12. В японском календаре был принят 60-ти летний цикл, состоящий из пяти 12-ти летних подциклов. Внутри подцикла года носили названия животных мыши,коровы,тигра,зайца,дракона,змеи,лошади,овцы,обезьяны,курицы,собаки и свиньи. Попарно года в цикле обозначались названиями цвета: зеленый, красный, желтый , белый и черный. Определите цвет и знак вводимого года по японскому календарю. Начало очередного цикла:1984 год-год зеленой мыши 1985 -год зеленой коровы и т.д.
13. Даны 3 числа. 2 из них – длины сторон треугольника а третий – угол между ними. Определить длины всех сторон треугольника и величину углов треугольника. Вывести в таблице длину сторон, величину углов, значение sin и cos углов.  
14. Даны две даты. Определить количество дней между этими датами  
15. Даны три числа A,B,C. Написатьпрограмму, определяющую образуют ли они геометрическую прогрессию и выдающую на печать с первого по десятый член, если это прогрессия.  
16. Задано два промежутка времени (Час, Мин, Сек). Проверить время на корректность. Напечатать сумму двух времен и разнице двух времен.  
17. Задано время в часа и минутах. Определить через сколько минут часовая и минутная стрелки будут образовывать угол в 90 градусов. Часовая стрелка имеет дискретное (почасовое) перемещение.  
18. Написать программу, которая после введенного с клавиатуры числа ( в диапазоне от 1 до 999), обозначающего денежную единицу, дописывать слово «рубль» в правильной форме. Например : 12 рублей, 21 рубль.  
19. Написать программу для вычисления совпадения дня недели – пятницы, 13 числа и полнолуния  
20. Глупая лягушка поднимается по лестнице. Лягушка делает прыжок вверх на N ступенек, при этом у нее получается отскок от достигнутого результата на M ступенек вниз. Сколько потребуется сделать прыжков лягушке, чтобы остановится на ступеньке с номером S?  
21. Задан год и номер первого дня недели в году. Определить число различных дней недели в году  
22. Даны 2 натуральных числа M и N. Определить сумму M последних цифр числа N.  
23. Реализуйте игру «угадай число». В заданном диапазоне загадывается число, за N попыток игрок вводит числа. После каждого ввода, компьютер сообщает больше, меньше или равно введенное число загаданного srand(time(0));// инициализация генератора случайных чисел. ... A=rand()%20; //Случайное число от 0 до 20
24. Программа генерирует 4-х значное число, причем цифры в нем не могут повторяться. Программа предлагает ввести пользователю число. После ввода, программа сообщает игроку, сколько цифр из числа программы-игрока есть в задуманном и стоят на своем месте (Быки), и сколько есть в задуманном, но не стоят на своем месте (коровы).Если число не угадано, возврат вводу числа игроком.
25. С помощью использования логических операторов, составить программу для перевода числа из десятичной в двоичную систему счисления
26. С помощью использования логических операторов, составить программу для перевода числа из двоичной в восьмеричную систему счисления
27. С помощью использования логических операторов, составить программу для перевода числа из восьмеричной в десятичную систему счисления
28. Задача на определение «Счастливого билета». В серии из 10 опытов, определить число счастливых билетов (сумма цифр левой половины номера билета равны сумме цифр правой половине номера билета) с номерами, состоящими из 6 цифр. Номера билетов получаются случайным образом (см. задачу №23)
29. Пользователю предлагается ввести число Y. Требуется проверить, является ли введенное число Y решением уравнения вывод русскими буквами - student2.ru . Определить значение n.
30. В наборе монет и банкнот есть следующие номиналы: монеты – 1, 2, 5, 10 рублей, банкноты – 50, 100, 500, 1000, 5000 рублей. Пользователь вводит стоимость товара. Требуется рассчитать минимальный набор банкнот и монет необходимый для покупки товара.
31. Составить программу, которая осуществляет перевод кода цвета из палитры RGB в палитру HLS. H = arcsin(sqrt(3/2)*(G-R)/S) L = (R+G+B)/3 S = sqrt(R^2 + G^2 + B^2 - B * G - B * R - G * R) R = L - 1/3*S*cos(T)-1/v 3 *S*sin(T) G = L + 2/3*S*cos(T) B = L - 1/3*S*cos(T)+1/v 3 *S*sin(T)
32. Составить программу, которая осуществляет перевод кода цвета из палитры CMYK в палитру RGB.   R = 255 × (1-C) × (1-K) G = 255 × (1-M) × (1-K) B = 255 × (1-Y) × (1-K) R' = R/255 G' = G/255 B' = B/255 K = 1-max(R', G', B') C = (1-R'-K) / (1-K) M = (1-G'-K) / (1-K) Y = (1-B'-K) / (1-K)
33. Пользователю предлагается ввести число. Вывести на экран общее количество, число четных и нечетных чисел, из которых состоит введенное число.
34. Написать программу, реализующую вычисление контрольной суммы алгоритмом Луна
35. Написать программу, реализующую вычисление контрольной суммы штрих кода стандартов EAN-8 и EAN-13
36. Написать программу, реализующую вычисление контрольной суммы штрих кода стандарта EAN-128
37. Написать программу, реализующую алгоритм проверки контрольной суммы с исправлением ошибки CRC8
38. Написать программу - реализацию игры «камень ножницы бумага». Пользователь вводит свой вариант ответа, компьютер случайным образом выбирает свой вариант. Программа сравнивает ответы и определяет победителя. Для получения случайного числа см. пояснение к заданию №23
39. Пользователь вводит даты рождения 5 людей. Требуется посчитать средний возраст (годы, месяцы, дни)
40. Пользователь вводит даты рождения 5 людей. Требуется среднюю дату рождения в году (среднее арифметическое номеров дня рождения). Сделать 2 варианта программы для високосного и не високосного годов.
41. Составить программу для вычисления числа перестановок вывод русскими буквами - student2.ru используя только операторы цикла и условия.
42. Пользователь вводит 3 даты рождения. Программа должна вывести на экран насколько 1 дата старше (младше) второй и третьей, вторая дата старше (младше второй)

Вывод русскими буквами

#include <stdafx.h>

#include <conio.h>

#include <windows.h>

#include <string.h>

//-----------Функция для отображения русских букв-----------//

char bufRus[256];

char* Rus(const char* text)

{

CharToOem(text,bufRus);

return bufRus;

}

//Вызов функции внутри функции main:

printf(Rus(«Вывод текста русскими буквами\n"));

Отчет.

Отчет должен содержать следующие разделы: титульный лист, задание, текст программы, входные и выходные данные, пример работы программы, выводы.

Наши рекомендации