Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Marchenko_N_M_Programmirovanie_na_yazyke_SS-1.pdf
Скачиваний:
31
Добавлен:
20.02.2016
Размер:
1.16 Mб
Скачать

6. ОСОБЕННОСТИ РАБОТЫ В СРЕДЕ VISUAL C++

Работая со средой Visual C++ вы обратили внимание, что программы, созданные в консольном приложении Win32 Console Application, после компиляции и запуска на выполнение вместо текста на русском языке выдают набор каких-то странных символов. Это объясняется следующим образом. В старой операционной системе MS DOS для кодировки символов используется стандарт ASCII, являющийся международным только в первой половине кодов (от 0 до 127), вторая половина кодов (от 128 до 255) является национальной и различна для разных стран. Например, в России для второй половины таблицы ASCII используется так называемая «альтернативная кодировка ГОСТа».

ВWindows же используется стандарт ANSI, в первой половине совпадающий с ASCII,

аво второй половине отличающийся от его российского варианта. Разработчики среды Visual C++ решили, что режим консольных приложений должен как бы имитировать работу в среде MS DOS, поэтому ввод-вывод выполняется в этом режиме в кодировке ASCII. В то же время в текстовом редакторе Visual C++, как и во всех Windows-приложениях, используется кодировка ANSI. Поэтому тексты на русском языке в программах, созданных в консольном приложении Win32 Console Application среды Visual C++, не воспроизводятся.

Выходом из данной ситуации является использование функции CharToOem() для преобразования символов из кодировки ANSI в кодировку ASCII и функцию OemToChar() для обратного преобразования. Первая из названных функций нужна для вывода русскоязычного текста на экран, а вторая – для ввода такого текста с клавиатуры. Для использования обеих функций необходимо подключить заголовочный файл <windows.h>, который не предусмотрен стандартом языка С++.

Пример 7. Вывод русскоязычного текста на экран в среде Visual C++.

#include<iostream.h>

#include<windows.h> char* Rus(const char* text); int main()

{cout<<endl<<Rus("Здравствуй, мир!")<<endl; return 0;}

char bufRus[256];

char* Rus(const char* text)

{ CharToOem(text, bufRus); return bufRus;}

Приступая к решению задач этого раздела, следует помнить, что:

для передачи данных в функцию надо использовать только параметры. Глобальные переменные, т.е. переменные, объявленные вне функции, использовать не рекомендуется;

тип каждого фактического параметра (константы или переменной) в инструкции вызова функции должен совпадать с типом соответствующего формального параметра, указанного в объявлении функции;

если параметр функции используется для возврата результата, то в объявлении функции этот параметр должен быть ссылкой, а в инструкции вызова функции в качестве фактического параметра должен быть указан адрес переменной.

41

7.ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ

1.Написать программу, которая с помощью функции вычисляет сопротивление электрической цепи, состоящей из двух резисторов. Параметрами функции являются величины сопротивлений и тип соединения (последовательное или параллельное). Функция должна проверять корректность параметров: если неверно указан тип соединения, то функция должна возвращать –1.

2.Написать программу, которая с помощью функции вычисляет значение a b . Числа a и b могут быть любыми дробными положительными числами.

3.Написать программу, которая с помощью функции вычисляет объем (V abc ) и

площадь поверхности ( S 2(ab bc ca) ) параллелепипеда.

4. Написать программу, которая с помощью функции Dohod вычисляет доход по вкладу. Исходными данными для функции являются: величина вклада, процентная ставка

(годовых) и срок вклада (количество дней).

 

 

 

 

 

5.

Написать

программу,

которая

вычисляет

с

помощью

функции

выражение

y x 2

1 в указанном диапазоне с заданным шагом и печатает таблицу значений y .

6.

Написать

программу,

которая

вычисляет

с

помощью

функции

выражение

y sin2 x cos(x 1) в указанном диапазоне с заданным шагом и печатает таблицу

значений y .

 

 

 

 

 

 

 

 

7.

Написать

программу,

которая

вычисляет

с помощью

функции

выражение

y x2 sin2

x 1 в указанном диапазоне с заданным шагом и печатает таблицу значений

y.

8.

Написать

программу,

которая

вычисляет

с помощью

функции

выражение

 

y

sin x

,

в указанном диапазоне с заданным шагом и печатает таблицу значений y .

 

 

x2 9

 

 

 

 

 

 

 

9.Написать функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде одного из знаков : > , < , = .

10.Написать функцию, которая возвращает максимальное число из двух целых чисел, полученных в качестве аргумента.

11.Написать функцию, которая возвращает минимальное число из двух целых чисел, полученных в качестве аргумента.

12.Написать программу, которая вычисляет значение F с использованием функции

F ax2 bx c при

x 2 и

b 0.

13.Написать программу, которая вычисляет значение F с использованием функции

F

x a

при

x c .

 

x c

 

 

 

 

 

 

14. Написать программу, которая вычисляет значение F с использованием функции

F ax2

bx c

при

a 2 или

b 6.

15. Написать программу, которая вычисляет значение F с использованием функции

F

x2

12

при

x2 12 .

 

42

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]