- •Практикум
- •Г. Петропавловск-Камчатский
- •Введение
- •Задание №1. Операции ввода-вывода. Арифметические операции.
- •Int a;b;c; double X,
- •Int a,b,c; float a,b,c;
- •Float X; scanf (“%f”,X);
- •Задание №2. Операторы условного перехода if-case
- •Int main(int argc, char* argv[])
- •Найдите синтаксические и логические ошибки в инструкциях (если есть)
- •Задание №3. Оператор цикла for
- •Int main(int argc, char* argv[])
- •Задание №4. Одномерные и многомерные массивы
- •Задание №5. Алгоритмы поиска и сортировки данных
- •Найдите синтаксические и логические ошибки в инструкциях
- •Сформулируйте одной фразой, какое действие выполняет фрагмент:
- •Задание №6. Массивы символов
- •Int _tmain(int argc, _tchar* argv[])
- •Написать программу для решения задачи:
- •Написать программу для решения задачи:
- •Класс string
- •Функции работы со строками Задание №7. Функции
- •Void fill_screen (void)
- •Напишите функцию для:
- •Задание №1. Создание программ с использованием компонентов: tEdit, tButton, tLabel
- •Проектирование интерфейса приложения:
- •Программирование приложения
- •Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Задание №2. Создание программ с использованием компонентов: tComboBox, tListBox
- •Задание №3. Создание программ с использованием компонента Timer
- •Создайте приложение «Угадай число»
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Void __fastcall tForm1::CheckBox1Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Задание №4. Написание программ для выполнения операций с файлами
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •If (FileExists("meteo.Txt"))
- •Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
- •Задание для самостоятельного выполнения:
- •Задание №5. Использование компонентов tRichEdit, tMainManu, tOpenDialog и др.
- •Проектирование интерфейса приложения
- •Программирование приложения
- •Void __fastcall tForm1::imOpenClick(tObject *Sender)
- •Void __fastcall tForm1::imSaveClick(tObject *Sender)
- •Void __fastcall tForm1::imToolBarClick(tObject *Sender)
- •Void __fastcall tForm1::AboutClick(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Задание №6. Работа с графикой. Вывод текста. Программа Приветствие
- •Напишите процедуру при изменении размера формы:
- •Void __fastcall tForm1::FormResize(tObject *Sender)
- •Void __fastcall tForm1::Button4Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button5Click(tObject *Sender)
- •Задание №8. Базы данных. Создание приложения Записная книжка
- •Создание базы данных.
- •Проектирование интерфейса приложения
- •Программирование приложения
- •Void __fastcall tForm1::BitBtn1Click(tObject *Sender)
- •Задание №9. Ежедневник
- •Void __fastcall tForm1::FormShow(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button3Click(tObject *Sender)
- •Задание №10. Будильник
- •Int cHour, cMinute;
- •Int alrHour, alrMinute;
- •Void __fastcall CreateTrayIcon (int n, AnsiString Tip);
- •Void __fastcall DeleteTrayIcon (int n);
- •Void __fastcall tForm1::CreateTrayIcon (int n, AnsiString Tip)
- •Void __fastcall tForm1::DeleteTrayIcon (int n)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Задание №11. Часы
- •Int ahr, amin, asec;
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Задание №12. Очистка диска
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Рекомендуемая литература
Задание №4. Написание программ для выполнения операций с файлами
Цель занятия: Научиться работать с файлами средствами языка программирования С++
Студенты должны знать: операции над файлами
уметь: выполнять различные операции над файлами
Задание.
Выберите в меню Пуск – Программы - CodeGear RAD Studio 2009 - C++Builder 2009
Создание новое приложение (File – New – VCL Forms Application).
Создайте приложение Погода, которое добавляет в текстовый файл информацию о температуре воздуха. Каждая строка файла содержит дату и значение температуры. Если файла нет, то программа создаёт его в текущем каталоге. Кнопка ОК доступна только тогда, когда поле Температура содержит данные.
Проектирование пользовательского интерфейса: добавьте следующие компоненты: MonthCalendar1, метку Label1, окно ввода Edit1 и кнопку Button1 Добавить.
Программирование приложения:
Добавьте программный код в конструктор программы:
int f;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
MonthCalendar1->ShowTodayCircle=false;
MonthCalendar1->Date=Now();
Button1->Enabled=false; } //---------------------------------------------------------------------------
Самостоятельно напишите программу для изменения содержимого в поле редактирования значения температуры: если длина строки = 0 (Edit1->Text.Length()==0) или длина строки = 1 и первый символ строки является символом «минус» ((Edit1->Text.Length() ==1) && (Edit1->Text[1]=='-')), то кнопка неактивна, иначе кнопка активна.
Добавьте программу при нажатии на кнопку Добавить
Void __fastcall tForm1::Button1Click(tObject *Sender)
{
AnsiString st; // переменная для записи в файл
st=MonthCalendar1->Date.DateString()+" "+Edit1->Text+"\r\n";
If (FileExists("meteo.Txt"))
f=FileOpen("meteo.txt",fmOpenWrite);
else
f=FileCreate("meteo.txt");
// если файл существует то открыть для записи или создать файл
if (f != -1)
{
FileSeek(f,0,2);
FileWrite(f,st.c_str(),st.Length());
FileClose(f);
Button1->Enabled=false;
}
else
ShowMessage("Ошибка доступа к файлу: ни открыть,""ни создать не получилось");
}
Напишите процедуру для нажатия в поле клавиш
Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
{
if ((Key>='0') && (Key<='9')) return;
if ((Key=='.') || (Key==','))
{
Key=',';
if (Edit1->Text.Pos(',') !=0) Key=0;
return;
}
if (Key==8) return;
if ((Key=='-') && (Edit1->Text.Length()==0))return;
Key=0; //все остальные символы запрещены
}
Самостоятельно напишите процедуру: при щелчке по компоненту Календарь окно ввода будет очищаться и фокус установится в поле ввода температуры.
Задание для самостоятельного выполнения:
Добавьте кнопки перехода по месяцам: Вперёд, Назад.
Добавьте кнопки перехода по дням.
Добавьте кнопки перехода по дням с помощью клавиш клавиатуры.
Напишите программу Добрый день, таким образом, чтобы в зависимости от времени суток менялся текст приветствия: Добрый день (вечер).
Напишите программу Добрый день, таким образом, чтобы в зависимости от времени суток менялся текст приветствия: Добрый день (вечер, утро).
Напишите программу Добрый день, таким образом, чтобы в зависимости от времени суток менялся текст приветствия: Добрый день (вечер, утро, ночь).
Напишите программу Добрый день, таким образом, чтобы в зависимости от времени суток менялся не только текст приветствия, но и фоновый рисунок.
Добавьте окно Memo1 на форму, в которую требуется выводить записанную в файл температуру.
Предусмотрите редактирование значений температуры в файле.
Напишите программу для расчёта среднемесячной температуры.
Напишите программу для расчёта минимальной температуры в году.
Напишите программу для расчёта максимальной температуры в году.
Сдайте работу преподавателю
Вопросы для контроля и самоконтроля:
Как создать текстовый файл программным способом?
Как открыть файл для чтения (записи) данных?
Как переходить по дням календаря?
Как отобразить текущие дату и время?
