Читать книгу Лекции по C++ для начинающих - Сергей Николаевич Талипов - Страница 7
ТЕМА 1 – ТИПЫ ДАННЫХ. ВЫРАЖЕНИЯ. ОПЕРАТОРЫ
7) ОПЕРАТОРЫ ВВОДА
ОглавлениеДля форматного ввода данных используется функция:
scanf("управляющая строка", аргумент1, аргумент2, …);
Если в качестве аргумента используется переменная, то перед ее именем записывается символ &. Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов, спецификации для определения типов аргументов такие же, как и для функции printf.
Если нам надо ввести значения для переменных i (целого типа) и а (вещественного типа). Эту задачу сможет выполнить функция: scanf("%d%f", &i, &a).
В управляющей строке спецификации трех типов могут быть отделены друг от друга различными знаками, в том числе и пробелом. Следовательно, при занесении значений переменных необходимо использовать указанный разделитель. Если функции не отделены одна от другой никакими значениями, то значения переменных заносятся через пробел.
/*
* Пример решения квадратного уравнения
*/
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c, x1, x2;
cout << "Введите значение a: "; cin >> a;
cout << "Введите значение b: "; cin >> b;
cout << "Введите значение c: "; cin >> c;
if ((b * b – 4 * a * c) >= 0) {
x1 = (-b + sqrt(b * b – 4 * a * c)) / (2 * a);
x2 = (-b – sqrt(b * b – 4 * a * c)) / (2 * a);
cout << "Первый корень = " << x1 << endl;
cout << "Второй корень = " << x2 << endl;
} else {
cout << "Нет решения: дискриминант меньше 0";
}
}
ПРИМЕР ЗАДАЧИ (EX2). Чему равна площадь трапеции, если основания равны, а = 6.5, b = 3.9, а высота h = 4.7?
#include <stdio.h>
int main() {
float a, b, h, s;
printf("Введите значения – a, b, h \n");
scanf("\n%f %f %f", &a, &b, &h);
s = (a + b) * h / 2;
printf("Площадь трапеции");
printf("\ns = %f", s);
}
ПРИМЕР ЗАДАЧИ (EX3). Решить пример.
#include <stdio.h>
#include <math.h>
int main() {
float x, y, a;
printf("Введите исходное значение X \n");
scanf("%f", &x);
a = x + 0.25;
y = a + sin(exp(a)) + sqrt(a / 2.5);
printf("x = %f y = %-f", x, y);
}
ПРИМЕР ЗАДАЧИ. Вычислить значения функций.
#include <stdio.h>
#include <math.h>
int main() {
float a, b, x, y, z;
printf("введите исходные данные a, b, x\n");
scanf("%f%f %f", &a, &b, &x);
y = pow(x, 3) + log(pow(x, 2) + 1.2) + sqrt(abs(x – 3.6));
z = exp(a * y) – sin(b * y – 2.37);
printf("x = %7.3f y=%7.3f z=%7.3f", x, y, z);
}