Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Функции небуфиризированного ввода с клавиатуры




 

(прямой ввод на экран без нажатия клавиши ENTER). Объявлены в заголовочном файле <conio.h>.

char ch=getch(); // ввод без эхоотображения.

char ch=getche(); //с эхоотображением на экране.

 

8.6. Ввод/вывод в поток в С++

 

Система ввода/вывода – неотъемлемая часть среды программирования С++, и она занимает в языке особое место.

В заголовочном файле iostream.h содержаться следующие объявления одного потока ввода и трех потоков вывода:

extern istream_withassign _Cdecl cin; //Объект потока ввода

extern ostream_withassign _Cdecl cout; //Объект потока вывода

extern ostream_withassign _Cdecl cerr; //Объект потока вывода ошибок

extern ostream_withassign _Cdecl clog; //Объект буферизованного потока вывода ошибок

Поток является промежуточным звеном между программой и устройством ввода и вывода. Поток может быть присоединён к различным устройствам: консоли, принтеру, фиктивному устройству, а так же к файлам на диске.

cin >> v; // Прочитать из стандартного потока ввода

cout << v; // Записать в стандартный поток вывода

Обычно стандартный поток вывода cout присоединен к экрану терминала. Простейшая программа, использующая операцию вывода, имеет следующий вид:

#include <iostream..h>

void main(void)

{

cout << “Hello, world!”;

}

Приоритет операций << и >> позволяет помещать в оператор вывода арифметические выражения, не прибегая к использованию скобок, зато при использовании логических выражений или операций присваивания скобки использовать необходимо:

cout << “x+y =” << x+y <<”; x&y =” << (x&y) << “\n”;

Для ввода данных в программу используется стандартный поток ввода. Он имеет много общего с выводом данных. Обычно стандартный поток ввода соединен с клавиатурой cin.

int i;

float y;

cin >> i >> f;

Форматирование вывода

 

Для форматирования вывода можно установить несколько флагов, для этого используются функции-члены setf, unsetf.

unsigned v =12345;

cout << "Before: " << v << endl;

cout.setf(cout.hex); //Модификация потока

cout << "After: " << v << endl;

Для форматирования можно подключить заголовочный файл Iomanip.h, тогда используем манипуляторы

cout << "In hexadecimal v == " << hex << v << endl;

cout << "In decimal v == " << dec << v << endl;

ends вставить нулевой завершающий символ в строку

endl начать новую строку

oct 8-ричная система счисления

Для выравнивания по правому краю целочисленных переменных можно задать: cout.width(8); но он не оказывает влияние на следующее выводимое значение.

 

Заключительная программа

 

Задача. Три бригады собирают в саду яблоки. Написать программу учета сбора яблок каждой бригадой. Определить, сколько яблок было собрано за день и средний заработок в каждой бригаде.

 

# include <stdio.h>

# include <conio.h>

void main (void) {

int worker1, worker2, worker3; //Кол-во человек в бригадах

int weight1, weight2, weight3; //Вес яблок

char ch;

float cost; //Стоимость яблок

int num, w; //Номер бригады и вес яблок

clrscr();

weight1 = weight2 = weight3 = 0;

printf("Введите количество студентов в каждой бригаде\n");

scanf ("%d %d %d",&worker1,&worker2,&worker3);

printf("Введите стоимость 1 кг. яблок \n");

scantf("%f",&cost);

for(;;) {

printf("В. номер бригады и количество собранных яблок\n");

scanf("%d %d",&num,&w);

switch (num) {

case 1:

weight1 += w;

break;

case 2:

weight2 += w;

break;

case 3:

weight3 += w;

break;

default:

printf("Вы неверно ввели номер бригады\n");

}

printf("Для окончания нажмите клавишу q\n");

ch = getche();

if (ch == 'q')

break;

}

printf("Собрано яблок \n");

printf("1 б-й = %d, 2 б-й = %d, 3 б-й = %d\n”, weight1,weight2,weight3);

printf("Всего за день собрано %d яблок\n ",weight1+weight2+ weight3);

printf("Заработок в 1-й бригаде=%f\n", (float)weight1*cost/worker1);

printf("Заработок в 2-й бригаде=%f\n", (float)weight2*cost/worker2);

printf("Заработок в 3-й бригаде=%f\n", (float)weight3*cost/worker3);

}

МАССИВЫ

 

Одномерные массивы

 

Массив - это набор переменных, расположенных последовательно в памяти, имеющих одно имя и отличающихся друг от друга числовым признаком.

float mas [20]; - объявляет массив mas, состоящий из 20 членов или элементов. 1 элемент mas [0], последний mas [19].

mas [5] = 32.54; присваивание значения элементу массива

float y = mas[5];

Массивы могут быть образованы из данных любого типа. Одномерные массивы называются вектором, двумерные – матрицей.

 

 
 

 


4б 4б 4б

 

Обращение к элементу массива осуществляется с помощью индекса. Индекс изменяются от 0 до n-1, где n размерность массива.

Для работы с массивами часто используются циклы.

 

#include <stdio.h>

void main (void) {

int i, a[10];

for (i=0; i<10; i++)

scanf (" %d",&a[i]); //ввод с клавиатуры

printf ("Вывести следующие результаты \n");

for (i=0; i<10; i++)

printf (" %5d", a[i]); // вывод на экран.

}

 





Поделиться с друзьями:


Дата добавления: 2016-11-23; Мы поможем в написании ваших работ!; просмотров: 357 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лучшая месть – огромный успех. © Фрэнк Синатра
==> читать все изречения...

2254 - | 2139 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.