Uploaded by informatica.ltisnl

Строки.Массивы.Структуры.11 класс

advertisement
Строки. Массивы. Структуры.
Строковый тип данных.
Строка – последовательность символов (буквы, цифры и другие символы), заключенная в
двойные кавычки (“ “). Строковый тип данных обозначается на языке C++ - string
Для того, чтобы использовать и производить операции над строками мы должны
подключить необходимый заголовочный файл #include <string>
Инициализация – присваивание значения
string myClass(“11 A”); – инициализация при объявлении переменной строкового
типа
string myClass;
myClass = “11 A”; - инициализация после объявления переменной;
#include <iostream>
#include <string>
using namespace std;
int main () {
string myClass(“11 A”);
cout << “I study in “ << myClass;
}
Важно! cin считывает введенную пользователем строку до первого пробела. При работе
со строками рекомендуется использовать функцию getline() , которая полностью
считывает строку, введеную пользователем. У функции getline() есть 2 аргумента –
cin и имя переменной, куда запишется введенная пользователем строка.
Например, getline(cin, myFullName) – запишет введенную пользователем строку в
переменную myFullName.
Конкатенация строк – объединения, слияние строк происходит засчет оператора (+).
Например:
string myFirstName (“Ivanov);
string myLastName (“Ivan”);
cout << myFirstName + myLastName;
Выведет на экран IvanovIvan
Функция length() – возвращает длину строки(включая пробелы).
Например,
string myFirstName (“Ivanov);
cout << myFirstName.length();
Выведет на экран цифру 6
Важно заполнить алгоритм использования функции:



Имя переменной строкового типа, длину которой мы хотим узнать
Точка .
Самая функция length()
Задание. Написать программу, в которой объявляются 3 переменные строкового типа
данных(FirstName, LastName, country). Переменные будут хранить в себе имя, фамилию и
название страны, которые пользователь должен ввести с клавиатуры. На экран должно
выводится:
Hello, ИмяФамилия!
I love your country! Страна is the great!
Решение:
#include <iostream>
#include <string>
using namespace std;
int main () {
string FirstName, LastName, country;
getline(cin, FirstName);
getline(cin, LastName);
getline(cin, country);
cout << “Hello, “ << FirstName + LastName << endl;
cout << “I love your country! ” << country << “ is the best!”;
}
Массивы.
Массив – это структура данных, хранящая в себе элементы одного и того же типа данных,
и где каждый из элементов имеет свой индекс. Нумерация индексов начинается с 0.
Для того, чтобы объявить массив, необходимо указать тип данных массива, дать ему имя
и указать его размерность(количество элементов массива).
Например, int myArray [26]; - объявляет целочисленный массив на 26 элементов
Массив будет состоять из 26 целых значений, у первого элемента будет индекс 0, у
второго 1, …, а у последнего 25.
Инициализация массива может производится 3 способами:



Сразу же при объявлении массива. int myArray[5] = {34,67,235,61,43};
Отдельно для каждого элемента массива
В цикле (об этом ниже)
Доступ к определенному элементу массива осуществляется путем указания имени массива
и индекса элемента, к которому мы хотим получить доступ
Например, myArray[1] = 67; - присвоили значение 67 второму элементу массива
Задание. Написать программу, которая создает массив (myArray) на 9 целочисленных
элементов, заполняется в цикле и выводится на экран.
#include <iostream>
#include <string>
using namespace std;
int main () {
int myArray[9];
for (int i = 0; i < 9; i++)
{
cin >> myArray[i];
}
for (int i = 0; i < 9; i++)
{
cout << “myArray[“ << i << “ ] = “ << myArray[i] << endl;
}
}
Структуры.
Структура – пользовательский тип данных, объединяющий переменные разных типов в
одно целое.
Как объявляются структуры? Указанием ключевого слова struct , имени структуры и
содержащихся полей. Например,
struct Pupil {
string firstName;
int age;
double mark;
};
Мы создали структуру Pupil , которая содержит в себе 3 поля:



Переменная строкового типа данных firstName
Целочисленная переменная age
Переменная вещественного типа mark
Внимание!



Важно не забыть ; после закрывающей } структуры
Структуры объявляются до основной функции main()
Для того, чтобы использовать структуру нам необходимо объявить переменную
типа структуры
Для того, чтобы использовать структуру нам необходимо объявить переменную типа
структуры (в нашем случае Pupil). Объявление происходит по типу обычной переменной.
Например, Pupil john; - мы создали переменную с именем john типа Pupil
Доступ к полям структуры осуществляется через оператор выбора члена ( . )
Например, john.firstName = “Ivanov”; - мы обратились к полю firstName
переменной типа структуры Pupil и присвоили(инициализировали) соответствующее
значение Ivanov
Мы можем объявить любое количественно переменных типа структуры, соответственно,
каждая из этих переменных будет иметь столько же полей, как и у основной структуры.
Над переменными-членами структуры мы можем совершать арифметические и
логические операции. Например, john.mark = john.mark + 3; прибавит 3 к
текущему значению балла Джона.
Задание. У вас есть веб-сайт и вы хотите отслеживать, сколько денег вы
зарабатываете в день от размещенной на нем рекламы. Объявите
структуру Advertising, которая будет отслеживать:



сколько объявлений вы показали посетителям (1);
сколько процентов посетителей нажали на объявления (2);
сколько вы заработали в среднем за каждое нажатие на объявления (3).
Значения этих трех полей должен вводить пользователь. Программа подсчитает,
сколько всего денег вы заработали за день.
#include <iostream>
#include <string>
using namespace std;
struct Advertising {
int shownAds;
double clicked;
float myEarn;
};
int main () {
Advertising test;
cout << “How many ads was shown? “ << endl;
cin >> test.shownAds;
cout << “What is the percentage of those who clicked?“ << endl;
cin >> test.clicked;
cout << “What is your earn per click? “ << endl;
cin >> test.myEarn;
cout << “You got” << test.shownAds * test.clicked / 100 * test.myEarn
<< “ $ in 1 day”;
}
Download