Студопедия — Русификация под Visual
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Русификация под Visual






При работе в консольном приложении Visual ввод-вывод выполняется в кодировке ASCII, которая является международной только в первой половине кодов (от 0 до 127, см. Приложение 1). Символы национального (русского) алфавита - вторая половина кодов. Для выполнения этого можно использовать функцию CharToOem () для преобразования символов из кодировки ANSI в кодировку ASCII и функцию OemToChar () для обратного преобразования, находящиеся в библиотеке windows.h. Приведем пример их использования.

...

#include<windows.h>

char bufRus[256];

char* Rus(const char*); // Описание прототипа

void main(void)

{ int a=2;

float r=5.5;

char s[]="Минск!", s1[256];

printf("\n %s ",Rus(s));

printf("\n Vvedi string ");

gets(s1);

printf("\n %s ",s1);

printf(Rus("\n Значение а = %d r = %f\n"), a, r);

}

char* Rus(const char *text) // Функция преобразования символов

{

CharToOem(text, bufRus);

return bufRus;

}


Функции пользователя

 

В отличие от других языков программирования высокого уровня в языке «С» нет разделения на подпрограммы-процедуры, подпрограммы-функции, здесь вся программа строится только из функций.

В языке «С» любая подпрограмма – функция, представляющая собой отдельный программный модуль, к которому можно обратиться в любой момент и (в случае необходимости) передавать через параметры некоторые исходные данные и который (в случае необходимости) способен возвращать один или несколько результатов своей работы.

 

Декларация функции

Как объект языка Си, функцию необходимо объявить. Объявление функции пользователя, т.е. ее декларация, выполняется в двух формах – в форме описания и в форме определения.

Описание функции заключается в приведении вначале программного файла ее прототипа. Прототип функции сообщает компилятору о том, что далее в тексте программы будет приведено ее полное определение (полный ее текст): в текущем или другом файле исходного текста либо находится в библиотеке.

В стандарте языка используется следующий способ декларации функций:

тип_результата ID _функции(тип переменной1, …, тип переменной N);

Заметим, что идентификаторы переменных в круглых скобках прототипа указывать не обязательно, так как компилятор языка их не обрабатывает.

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

Пример описания функции fun со списком параметров:

float fun(int, float, int, int);

Полное определение функции имеет следующий вид:

тип_результата ID _функции(список параметров)

{

код функции

}

Тип результата определяет тип выражения, значение которого возвращается в точку ее вызова при помощи оператора return <выражение>;.

Если тип функции не указан, то по умолчанию предполагается тип int.

Список параметров состоит из перечня типов и идентификаторов параметров, разделенных запятыми.

Функция может не иметь параметров, но круглые скобки необходимы в любом случае.

Если функция не возвращает никакого значения, она должна быть описана как функция типа void (пустая).

В данном случае оператор return можно не ставить.

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

Пример функции, определяющей наименьшее значение из двух целочи­слен­ных переменных:

int min (int x, int y)

{

return (x<y)? x: y;

}

Все функции, возвращающие значение, должны использоваться в правой части выражений языка С, иначе возвращаемый результат будет утерян.

Если у функции отсутствует список параметров, то при декларации такой функции желательно в круглых скобках также указать ключевое слово void. Например, void main(void).

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

Наличие определения функции делает излишним запись ее описания в остатке файла исходного текста.

 







Дата добавления: 2015-10-19; просмотров: 431. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

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

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия