Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C_08_Vvod-Vyvod_LAB_ukr.doc
Скачиваний:
2
Добавлен:
14.07.2019
Размер:
412.16 Кб
Скачать

C++: Лекция 01

Програмна реалізація алгоритмів лінійної структури.

Базові типи даних і|та| введення-виведення.

Мета роботи:

Отримання|здобуття| практичних навичок|навиків| в роботі з|із| типами даних мови|язика| C++ і|та| у використанні функцій стандартного введення-виводу|висновку|.

Теми для попереднього опрацювання:

Типи даних мови|язика| C.

Оголошення змінних.

Функції стандартного введення-виводу|висновку|.

Приклад|зразок| рішення задачі :

Завдання.

Розробити програму, яка виводить на екран таблицю, що містить|утримує| дані, введені|запроваджувати| з клавіатури.

Варіант 30

Буддійські монастирі Японії періоду Нара

Школа

Кількість ченців

Площа землі (га)

Т

220

368.8

Я

50

54.7

Д

10

12.2

Примітка|тлумачення|: Т - Тендай; З|із| - Сингон; Д – Дзедзіцу

  1. Розробка алгоритму

    1. Загальний|спільний| метод розв'язання

Спочатку йде загальний|спільний| заголовок. У заданій таблиці, перший рядок заголовки стовпців таблиці. Фактичні дані складають третю, четвертую і п'яту рядки. Шостий рядок - примітки|тлумачення|.

Програма починається з введення фактичних даних. Для зручності оператора, перед введенням на екран виводиться запрошення, в якому перераховується, які саме дані чекає програма. За одне запрошення-введення вводиться|запроваджує| один рядок фактичних даних таблиці. Тобто, запрошення-вводу| повторюється тричі. Введені|запроваджувати| дані зберігаються в змінних програми.

На другому етапі програма виконує виведення даних на екран. Кожен рядок таблиці виводиться одним оператором виводу|висновку|. Серед рядків, які виводяться, є рядки без змінних значень (заголовки і лінії) і рядка із|із| змінними значеннями (рядки з|із| фактичними даними).

    1. Визначення змінних програми

Для кожної змінної підбирається такий тип, який би забезпечував представлення в пам'яті її значення з|із| достатнім діапазоном і достатньою точністю.

Школа. Ці дані є одним символом. Їх оголошення:

char| sch1|, sch2|, sch3|;

Кількість ченців. Ці дані є цілими числами в діапазоні 10 - 220. Цей діапазон перекривається діапазоном можливих значень типу unsigned short (діапазон цього типу: 0 - 255). Тобто оголошення відповідних змінних:

unsigned| short| cnt1|, cnt2|, cnt3|;

Площа земель. Це число з дробовою частиною, отже, відповідні змінні мають бути змінними з плаваючою крапкою. Точність даних - всього один знак після крапки, тому для їх уявлення буде достатньо типу float:

float| sq1|, sq2|, sq3|;

    1. Текста программы

#include<iostream.h>

#include <windows.h>

#include <iomanip.h>

#include <string.h>

int main(){

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

//------------------------------------Объявление основных переменных---

char sc1='Т', sc2='С', sc3='Д'; //школа

short int cnt1=220, cnt2=50, cnt3=10; //количество монахов

double sq1=368.8, sq2=54.7, sq3=12.2; //площадь земли

cout.setf(ios::left); //выравнивание элементов объекта cout слева

//--------------------------------------ввод данных------------------

/*

int i=1; //номер записи

//ввод 1-й записи

cout<<i<<"\n";

cout<<setw(20)<<"Школа"<<":";

cin>>sc1;

cout<<setw(20)<<"Количество монахов"<<": ";

cin>>cnt1;

cout<<setw(20)<<"Площадь земли"<<":";

cin>>sq1;

//ввод 2-й записи

i=i+1;

cout<<i<<"\n\n";

cout<<setw(20)<<"Школа"<<": ";

cin>>sc2;

cout<<setw(20)<<"Количество монахов"<<": ";

cin>>cnt2;

cout<<setw(20)<<"Площадь земли"<<": ";

cin>>sq2;

//ввод 3-й записи

i++;

cout<<i<<"\n\n";

cout<<setw(20)<<"Школа"<<": ";

cin>>sc3;

cout<<setw(20)<<"Количество монахов"<<": ";

cin>>cnt3;

cout<<setw(20)<<"Площадь земли"<<": ";

cin>>sq3;

//--------------------------------------вывод данных-------------------

// Объявление переменных для печати таблицы

const int poz1=8,poz2=19, poz3=14;

const int poz_all=poz1+poz2+poz3+2*4;

const char simb='-';

cout.setf(ios::fixed); //выдача в формате с фиксированной точкой

cout<<setprecision(2); //два знака после запятой

cout<<endl;

cout<<setw(poz_all)<<"Буддийские монастыри Японии периода Нара\n";

cout<<endl;

cout.fill(simb);

cout<<setw(poz_all-1)<<simb<<endl;

cout.fill(' ');

cout<<"| "<<setw(poz1)<<"Школа";

cout<<"| "<<setw(poz2)<<"Количество монахов";

cout<<"| "<<setw(poz3)<<"Площадь земли"<<"| \n";

cout.fill(simb);

cout<<setw(poz_all-1)<<simb<<endl;

cout.fill(' ');

cout<<"| "<<setw(poz1)<<sc1;

cout<<"| "<<setw(poz2)<<cnt1<<"| "<<setw(poz3)<<sq1<<"| \n";

cout<<"| "<<setw(poz1)<<sc2;

cout<<"| "<<setw(poz2)<<cnt2<<"| "<<setw(poz3)<<sq2<<"| \n";

cout<<"| "<<setw(poz1)<<sc3;

cout<<"| "<<setw(poz2)<<cnt3<<"| "<<setw(poz3)<<sq3<<"| \n";

cout.fill(simb);

cout<<setw(poz_all-1)<<simb<<endl;

cout<<"Примечание: Т - Тэндай; С - Сингон; Д - Дзедзицу\n";

cout<<endl<<endl; //перевод строки*/

return;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]