Модификаторы спецификаций преобразования
Общий вид модификаторов спецификаций преобразования %[выравнивание][ширина][доп.признаки]символ преобразования %[-][ширина]d – выравнивание по влевой границе %[-][ширина][.точность]f %[-][+][ширина]d – целое со знаком %[-][#][ширина][l]u(o,x) – целое без знака, выводится 0 или 0х для восьмиричной или шестнадцатиричной системы счисления %[-][+][#][ширина][.точночть]f(e, g) - # вывод дес.точки даже при нулевой точности. По умолчанию точность 6 цифр. Цифры - ширина поля. Если число больше, то оно выходит за ширину поля. %4.2f - количество печатаемых цифр после запятой 2, поле шириной 4 позиции. /%d/ /3.36/ - "выбор по умолчанию" %2d /336/ %10d / 336/ %-10d /336 / %f /1234.560059/ 1234.56 %e /1.234560E+03/ %4.2f /1234.56/ %3.1f /1234.6/ %10.3f / 1234.560/ %10.3e / 1.234E+0.3/ /%s/ /'Выдающееся исполнение'/ 22 c. /%25.s / Выдающееся исполнение'/ % 25.5s / Выдаю/ %-25.5 s /Выдаю / % d 336 % o 520 % x 150 % d -336 % u 65200 от 32768-65536 - отрицательные числа 65535- -1 65536 - 336 = 65200 printf (" %d %c ", 'A', 'A'); //На экране 65 A
Функция ввода данных с клавиатуры sсanf() scanf ("Управляющая строка", список адресов параметров); Используются те же спецификаторы, что и printf(). В качестве параметров указываются адреса переменных. scanf("%d",&num);
Функции ввода/вывода одного символа getchar(), putchar()
Объявлены в заголовочном файле stdio.h. # include <stdio.h> void main() { char ch; ch = getchar(); тоже самое putchar(ch); putchar (getchar()); }
Функции небуфиризированного ввода с клавиатуры
(прямой ввод на экран без нажатия клавиши 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]); // вывод на экран. }
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (370)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |