Lab1 - Report (Лабораторная работа №1)
Описание файла
Файл "Lab1 - Report" внутри архива находится в следующих папках: Лабораторная работа №1, лаба 1, Documents, 2. Документ из архива "Лабораторная работа №1", который расположен в категории "". Всё это находится в предмете "объектно-ориентированное программирование (ооп)" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "объектно-ориентированное программирование (ооп)" в общих файлах.
Онлайн просмотр документа "Lab1 - Report"
Текст из документа "Lab1 - Report"
Московский Государственный Технический Университет
имени Н.Э. Баумана.
УТВЕРЖДАЮ
"___"__________2000 г.
_____________________
(Большаков С.А.)
"Лабораторная работа по ПППО № 1"
Вариант № 4
Группа ИУ5-62
Отчет
(тип документа)
Бумага формата А4
(вид носителя)
5
(количество листов)
ИСПОЛНИТЕЛЬ
" " 2000 г.
_____________________
(Бидяк И.Н.)
Москва – 2000
-
Цель работы
Целью лабораторной работы является изучение оболочки (IDE) системы программирования BC 3.1 C++ и классов для работы с потоковым вводом выводом С++( CIN и COUT).
-
Порядок работы
-
Изучение оболочки BC 3.1 C++ в интерактивном режиме (всех пунктов меню и окон настройки работы оболочки).
-
Составление блок-схемы и написание программы, состоящей из двух исходных файлов.
-
Редактирование текстов в среде оболочки.
-
Создание проектного файла.
-
Отладка программы с помощью отладчика.
-
Формирование листинга программы и листинга результатов.
-
Оформление отчета.
-
Диаграмма классов CIN и COUT
-
Ошибки, допущенные при написании программы
-
Забывал поставить в конце строки точку с запятой (несколько раз)
-
Сначала переменная realNumber4 была объявлена как int, а не как doublе.
-
Сначала пытался получить вводимую в переменную string4 строку через cin >> string4, в результате чего в string4 сохранялись символы только до первого пробела. Была исправлена на cin.get(string4, MAXSTRING4, '\n').
-
Исправление предыдущей ошибки привело к новой : сразу после ввода вещественного числа программа переходила к отображению введенных значений, минуя ввод строки. Была исправлена следующим образом : перед строкой cin.get(string4, MAXSTRING4, '\n') была вставлена строка cin.get() чтобы "съесть" оставшийся после ввода реального числа символ '\n', который является символом завершения для cin.get(string4, MAXSTRING4, '\n').
-
Блок-Схема программы
-
Листинг программы
//Начало файла LAB1HELP.CPP
//Лабораторная работа по ПППО № : 1
//Номер варианта по списку : 4
//Группа : ИУ5-62
//Автор и исполнитель : Бидяк Иван Николаевич
//Назначение данного файла : Вспомогательный файл программы (для
// демонстрации вывода строки с помощью функции,
// определенной в другом - не основном -файле)
#include <iostream.h>
void outputString( char *s )
{
cout << s;
}
//Конец файла LAB1HELP.CPP
//Начало файла LAB1HELP.H
//Лабораторная работа по ПППО № : 1
//Номер варианта по списку : 4
//Группа : ИУ5-62
//Автор и исполнитель : Бидяк Иван Николаевич
//Назначение данного файла : Заголовочный файл для
// объявления функций, содержащихся в
// LAB1HELP.CPP
void outputString( char* );
//Конец файла LAB1HELP.H
//Начало файла LAB1MAIN.CPP
//Лабораторная работа по ПППО № : 1
//Номер варианта по списку : 4
//Группа : ИУ5-62
//Автор и исполнитель : Бидяк Иван Николаевич
//Назначение данного файла : Основной файл программы
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <stdlib.h>
#include "lab1help.h"
//объявляем использующиеся константы
const int MAXSTRING4 = 100;
//основная процедура
void main( void )
{
//подготавливаемся к выполнению основной части
clrscr();
randomize();
//получаем от пользователя необходиые данные
cout << "Введите число целого типа=>";
int intNumber4;
cin >> intNumber4;
cout << "Введите число реального типа=>";
double realNumber4;
cin >> realNumber4;
cout << "Введите строку символов ( <100 ) =>";
char string4[ MAXSTRING4 ];
cin.get(); //нужно, чтобы пропустить символ '\n'
cin.get(string4, MAXSTRING4, '\n');
//выводим полученные от пользователя данные на экран для контроля
cout << "\nЧисло целого типа = " << intNumber4;
cout << "\nЧисло реального типа = " << realNumber4;
cout << "\nСтрока = " << string4;
//вывод строки посредством функции, определенной в другом файле
outputString("\n\nЭта строка выведена посредством функции, определенной в файле LAB1HELP.CPP\n");
//вывод произвольных чисел с использованием методов настройки
// и манипуяторов
cout << "\n1. Ширина=12 Точность=по_умолчанию Число=" \
<< setw(12) << random(100)*1.2458294;
cout << "\n2. Ширина=8 Точность=2 знака Число=" \
<< setw(8) << setprecision(2) << random(100)*1.2458294;
cout << "\n3. Ширина=8 Точность=4 знака Число=" \
<< setw(8) << setprecision(4) << random(100)*1.2458294;
cout << "\n4. Ширина=2 Точность=1 знак Число=" \
<< setw(2) << setprecision(1) << random(100)*1.2458294;
cout << "\n5. Знак заполнитель=\'_\' Ширина=10 Выравнивание=справа Число=" \
<< setfill('_') << setw(10) << setiosflags(ios::right) << random(1000);
cout << "\n6. Знак заполнитель=\'~\' Ширина=10 Выравнивание=слева Число=" \
<< setfill('~') << setw(10) << setiosflags(ios::left) << random(1000);
cout << "\n7. Основание=8 Число=" << setbase(8) << 23;
cout << "\n8. Основание=10 Число=" << setbase(10) << 23;
cout << "\n9. Основание=16 Число=" << hex << 23;
cout << "\n10. Основание=10 Ширина=10 Выравнивание=справа\n" \
<< " Знак заполнитель='$' Точность=2 Число=";
cout.setf(ios::dec);
cout.setf(ios::right);
cout.width(10);
cout.fill('$');
cout.precision(2);
cout << 123;
//ждем нажатия любой клавиши
cout << "\n\nНажмите любую клавишу...\n";
while( !kbhit() );
}
//Конец файла LAB1MAIN.CPP
-
Листинг результатов
Введите число целого типа=>123
Введите число реального типа=>456.7890123
Введите строку символов ( <100 ) =>Welcome to C++
Число целого типа = 123
Число реального типа = 456.789012
Строка = Welcome to C++
Эта строка выведена посредством функции, определенной в файле LAB1HELP.CPP
1. Ширина=12 Точность=по_умолчанию Число= 118.353793
2. Ширина=8 Точность=2 знака Число= 41.11
3. Ширина=8 Точность=4 знака Число= 84.7164
4. Ширина=2 Точность=1 знак Число=56.1
5. Знак заполнитель='_' Ширина=10 Выравнивание=справа Число=_______797
6. Знак заполнитель='~' Ширина=10 Выравнивание=слева Число=966~~~~~~~
7. Основание=8 Число=27
8. Основание=10 Число=23
9. Основание=16 Число=17
10. Основание=10 Ширина=10 Выравнивание=справа
Знак заполнитель='$' Точность=2 Число=$$$$$$$123
Нажмите любую клавишу...