Смекни!
smekni.com

Методические указания к лабораторным работам по дисциплине «Программирование на языке высокого уровня» (стр. 10 из 10)

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

Варианты заданий
Фигура Расположение на экране
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(); //задержка

}

Рис.1. Текст программы вывода двух перпендикулярных линий из звездочек

Пример программы (вариант 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

***************

*************

***********

*********

*******

*****

***

*