
- •Алфавит языка Си
- •Лексемы
- •Идентификаторы и ключевые слова
- •Знаки операций
- •Литералы (константы)
- •Комментарии
- •Общая структура программы на языке Си.
- •2. Переменные и константы. Типы данных
- •2.1. Основные типы данных
- •2.2. Декларация (объявление) объектов
- •2.3. Константы в программах
- •2.4. Целочисленные константы
- •2.5. Константы вещественного типа
- •2.6. Символьные константы
- •2.7. Строковые константы
- •3. Обзор операций
- •3.1. Операции, выражения
- •3.2. Арифметические операции
- •3.3. Операции сравнения
- •3.4. Логические операции
- •4. Операции (продолжение).
- •4.1. Операция присваивания
- •Примеры недопустимых выражений:
- •4.2. Сокращенная запись операции присваивания
- •4.3. Преобразование типов операндов бинарных операций
- •4.4. Преобразование типов при присваивании.
- •4.5. Операция явного приведения типа
- •4.6. Операция «,» (запятая)
- •5. Стандартная библиотека языка Си
- •5.1. Стандартные математические функции
- •5.2. Потоковый ввод-вывод
- •5.3. Консольные функции вывода данных на экран
- •5.4. Консольные функции ввода информации
- •5.5. Ввод-вывод в оконных приложениях.
- •Советы по программированию
5.5. Ввод-вывод в оконных приложениях.
Для ввода-вывода в оконных приложениях C++ Builder'a используются различные компоненты (Memo, Edit, Label и др.) Например, ввод-вывод в Edit осуществляется обычно через операцию присваивания:
Edit1->Text=IntToStr(k);
X:=StrToFloat(Edit2->Text);
а вывод в Memo - через метод Add() :
Memo1->Lines->Add("x="+FloatToStrF(x, ffFixed, 15, 7));
При этом обычно используются функции преобразования типов C++ Builder'a:
Функция |
Направление преобразования |
Пример |
StrToInt() |
String int |
k=StrToInt (Edit1->Text); |
IntToStr() |
int String |
Edit1->Text= IntToStr(k); |
StrToFloat() |
String double |
x= StrToFloat (Edit1->Text); |
FloatToStr() |
double String |
Edit1->Text= FloatToStr(x); |
FloatToStrF() |
double String |
Edit1->Text=FloatToStrF(x, ffFixed, 15, 8); |
В функции FloatToStrF(), в отличие от функции FloatToStr(), задается максимальное общее количество цифр в числе (которое поэтому лучше задавать побольше, например, 15) и количество цифр после запятой. Второй параметр может принимать лишь одно из нескольких допустимых значений, имеющих смысл, подобный спецификаторам формата printf() (ffFixed - %f, ffExponent - %e, ffGeneral - %g и т.п.).
В русской версии Windows в функциях StrToFloat(), FloatToStr(), FloatToStrF() дробная часть числа отделяется от целой запятой; а в английской версии Windows - точкой.
Советы по программированию
1. Выбирайте тип для переменных с учетом диапазона их возможных значений и требуемой точности представления данных.
2. Старайтесь давать переменным ID (имена), отражающие их назначение.
3. При вводе данных с клавиатуры выводите на экран пояснения: что нужно ввести, т.е. организуйте диалог. Для контроля сразу же после ввода выводите исходные данные на дисплей (хотя бы в процессе отладки).
4. При составлении выражений учитывайте приоритет используемых операций.
5. В функциях ввода/вывода printf и scanf для каждой переменной указывайте спецификацию формата, соответствующую ее типу. Не забывайте ставить '&' перед каждой переменной в функции scanf.
7. При использовании стандартных функций требуется с помощью директивы препроцессора #include подключить к программе соответствующие заголовочные файлы. Установить, какой именно файл необходим, можно с помощью справочной системы.
8. Данные при вводе разделяйте пробелами, символами перевода строки или табуляции, но не запятыми (если в управляющей строке scanf() вы не задали иное).