cout<<"n ? "; cin>>n;
f.seekg((n-1)*sizeof(r)); // перемещение указателя на запись
f.read((char*)&r,sizeof(r)); //чтение записи в структуру cout<<r.nom<<" "<<r.fam<<" "<<r.name<<" "<<r.zar<<" "<<r.nal <<endl;
f.close();
}
Рис. 19. Чтение из двоичного файла
Лабораторная работа №12
Тема: Разработка консольного приложения в С++ Builder
Постановка задачи.
Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или пробелом. Размер фигуры (n) определяется при вводе. Варианты заданий приведены в табл. 1.
№ | Фигура | Расположение на экране |
1 | Заполненный прямоугольный треугольник. Размер катетов – n | |
2 | Пустой прямоугольный треугольник. Размер катетов – n | |
3 | Заполненный равнобедренный треугольник. Основание - n, высота - n/2+1 (n - нечетное) | |
4 | Пустой равнобедренный треугольник. Основание - n, высота - n/2+1 (n – нечетное) | |
5 | Заполненный параллелограмм. Основание и высота - n | |
6 | Заполненный параллелограмм. Основание и высота - n | |
7 | Пустой равнобедренный треугольник. Основание n, высота - n/2+1 (n – нечетное) | |
8 | Заполненный равнобедренный треугольник. Основание - n, высота - n/2+1(n - нечетное) | |
9 | Пустой прямоугольный треугольник. Размер катетов – n | |
10 | Заполненный прямоугольный треугольник. Размер катетов – n | |
11 | Пустой прямоугольный треугольник. Размер катетов – n | |
12 | Заполненный прямоугольный треугольник. Размер катетов – n | |
13 | Заполненный равнобедренный треугольник. Основание – n, высота - n/2+1 (n - нечетное) | |
14 | Пустой равнобедренный треугольник. Основание – n, высота - n/2+1 (n – нечетное) | |
15 | Пустой параллелограмм. Основание n и высота n | |
16 | Пустой параллелограмм. Основание и высота - n | |
17 | Пустой равнобедренный треугольник. Основание - n, высота - n/2+1 (n – нечетное) | |
18 | Заполненный равнобедренный треугольник. Основание - n строк, высота - n/2+1 (n – нечетное) | |
19 | Пустой прямоугольный треугольник. Размер катетов – n. | |
20 | Пустой прямоугольный треугольник. Размер катетов – n. |
Сценарий работы в среде C++ Builder
1. Запустить C++ Builder
2. Создать новый проект
· Выполнить команду File->New
· Выбрать закладку New
· В окне New Items выбрать пиктограмму Сonsole Wizard
· Установить опции: C++ и Console Application
3. Сохранить новый проект в вашей папке, выполнив (Save All)
4. Ввести текст программы. Пример текста программы вывода двух перпендикулярных линий приведен на рис. 1.
5. Сохранить текст программы (File->Save)
6. Откомпилировать и выполнить программу (Run->Run)
7. При наличии ошибок выполнения использовать средства отладки
· Установка/снятие контрольной точки (View-> BreakPoint)
· Пошаговая отладка (F8 – без захода в функции, F7 – c заходом в функции)
· Просмотр значения переменной (подвести курсор к переменной)
· Вывод окна просмотра значений переменных (View->Debug Windows->Watches)
· Окончание отладки (Run-> Program Reset или Ctrl/F2)
#include <iostream.h>
#include <conio.h>
void main(void)
{
int i,j; //параметры циклов
int n; //количество символов в линии
cout<<"n? ";
cin>>n; //ввод значения n
// Вывод горизонтальной линии
for (j=1;j<=n;j++)
cout<<'*';
cout<<endl; //переход на новую строку
// Вывод вертикальной линии
for (i=1;i<n;i++)
{
for (j=1;j<=n/2;j++)
cout<<' ';
cout<<'*'<<endl;
}
getch(); //задержка
}
Пример программы (вариант 13)
Задание: Разработать программу, которая выводит на экран геометрическую фигуру, заполняя ее символом ‘*’ или пробелом. Размер фигуры (n) определяется при вводе. Заполненный равнобедренный треугольник. Основание – n, высота - n/2+1 (n - нечетное)
Текст программы:
#pragma hdrstop
#pragma argsused
#include <iostream.h>
#include <conio.h>
//Основная программа
void main(void)
{ int i,j,n;
cout<<"n >"; cin>>n;
cout<<endl;
for (j=1;j<=n;j++)
cout<<'*';
cout<<endl;
for (i=2;i<=n/2+1;i++)
{ for (j=1;j<=i-1;j++)
cout<<' ';
for (j=1;j<=(n-((i-1)*2));j++)
cout<<'*';
cout<<endl;
}
getch();
}
Тестовый пример:
n >15
***************
*************
***********
*********
*******
*****
***
*