Универсальные функции ввода и вывода любых типов данных — КиберПедия 

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Универсальные функции ввода и вывода любых типов данных

2017-11-17 280
Универсальные функции ввода и вывода любых типов данных 0.00 из 5.00 0 оценок
Заказать работу

Scanf и printf

 

scanf вводит данные из stdin в форматированном виде.

Синтаксис вызова:

scanf(arg1, arg2...);

функция вводит различное количество данных разного типа.

– Где arg1 – управляющая строка - константа, содержащая только набор спецификаций формата, который отражает тип вводимых данных. Спецификации разделяются между собой пробелами или запятыми. Вводимые при выполнении программы значения так же разделяются этим же символом. Не ставить пробел в начале или в конце управляющей строки.

Основные спецификации формата:

%d – десятичное условие типа int.

%iint (в любой системе счисления).

%u – unsigned.

%ld – long.

%c – один символ.

%s – строка символов без пробелов внутри (слово).

%f - float.

%lf – double.

%p – для вывода адреса переменной.

%e – для вывода очень больших или очень маленьких данных с десятичной точкой в экспоненциальной форме.

arg2... – адрес переменных, по которым записывается данное. При вводе строки символов & не пишется – только имя строки. Количество адресов совпадает с количеством спецификаций. В качестве результата функция возвращает качество результата операций качеством успешных операций. Например:

int a;

float b;

scanf(“%d %f”, &a,&b);

 

Функция вывода printf пишется по аналогичным правилам, только вместо адресов пишутся имена переменных и в управляющей строке можно писать комментирующий текст.

Например:

printf(“Ваши данные - %d и %f\n”, a,b);

 

Структуры и форма написания программы

 

Программы состоят из одной или нескольких функций, среди которых обязательно есть функция main. Любая функция состоит из заголовка и тела функции. Заголовок функции состоит из директивы препроцессора и имени функции. # include <iostream>. при выполнении директивы include содержание указанного файла будет вставлено в текст программы вместо самой директивы.

Имя функции main пишется стандартным образом:

int main (void)

Тело функции – несколько операторов, заключенные в фигурные скобки. Сначала пишутся операторы объявления типа переменных, затем – операторы действия: ввод исходных данных, вычисление результата и вывод его на экран.

Форма написания программы. Текст пишется маленькими латинскими буквами, большие буквы используются в именах переменных и константах.

Задача. Фокусное расстояние собирающей линзы F = 30 см, расстояние предмета от фокуса l = 10 см, линейные размеры предмета h = 5 см. Определить размеры изображения по формуле

Программа будет строиться в виде проекта, состоящего из файлов:

– main.cpp – файл с текстом функции main;

– Rus.cpp – файл с текстом функции Rus;

– Rus.h – файл с прототипом функции Rus.

 

Полный текст программы будет выглядеть так:

 

//содержимое файла main.cpp

#include<iostream> //подключение системных средств для

using namespace std; //возможности использовать потоки ввода-вывода

#include "Rus.h" //прототип функции русификации

int main(void) //имя функции main

{

double focus, distance, size, h; //объявили переменные

//здесь и далее: приглашение к вводу, текст выводится на экран монитора //отдельной строкой

cout<<Rus("\n Введите фокусное расстояние ");

//ввод исходного данного с клавиатуры в переменную focus

cin>>focus;

cout<<Rus("Введите расстояние предмета от фокуса ");

cin>>distance;

cout<<Rus("Введите размеры предмета ");

cin>>size;

//вычисление по формуле, результат помещается в h

h=focus*size/distance;

//вывод результата из переменной h на монитор с комментарием

//в одном операторе Rus вызываем один раз

cout<<Rus("Размеры изображения ")<<h;

cout<<Rus("см\n");

//оператор return завершает работу функции main

return 0;

}

 

//содержимое файла Rus.cpp

#include<windows.h>

char bufrus[256];

char*Rus(const char*text)

{

CharToOemA(text, bufrus);

return bufrus;

}

 

//содержимое файла Rus.h

#ifndef RUS_H

#define RUS_H

char*Rus(const char*text);

#endif

 

Примечание. В последующих примерах будут приводиться тексты только функции main. Использование функции Rus будет опускаться, так как это не относится к самому языку С++, а к особенностям среды программирования VS2008.

 


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

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

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

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

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.