3. Низове
Низ е редица от символи | "Hello" |
Дефиниция на променлива | string name="John"; |
Заглавен файл | #include <string> |
Оператор за присвояване | name="Carl"; |
Извеждане на низове | cout << name; |
Вход | cin >> name; |
Вход на цял ред | getline(cin, name); |
Дължина на низ | int n=name.length(); |
Празен низ | "" |
Автоматична инициализация | string response; |
Поднизове.
string greeting = "Hello World!\n"
string sub = greeting.substr(0, 4);
cout << sub;
Hell |
Член-функция е функция, свързана с определен тип
данни. Тя се извиква с операция точка (.)
<име на променлива>.<име на функция>(<параметри на функцията>) |
За променливи от тип string
са
дефинирани следните член-функции:
name.length() - връща дължината на низа;
greeting.substr(0,4)- връща подниз от позиция 0 до
позиция 3 (4 символа).
Позициите в низа се броят от 0.
Сливане на низове (конкатенация).
string fname = "Nikolay";
string lname = "Kirov";
string name = fname + lname;
NikolayKirov
string name = fname + " " + lname;
Nikolay Kirov
Поне един от аргументите на сливането трябва да е променлива
// initials.cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{ cout << "Please enter your full
name (first middle last): ";
string first;
string middle;
string last;
cin >> first >> middle >> last;
string initials = first.substr(0,1)
+ middle.substr(0,1) + last.substr(0,1);
cout << "Your initials are
" << initials << "\n";
return 0;
}
Please enter your full name (first middle
last): Nikolay
Kirov Kirov Your initials are NKK |
Форматиране на изхода.
Когато просто се отпечатват стойностите на променливите,
не се получава подредена таблица.
cout << pennies << " " <<
pennies * 0.01 << "\n";
cout << nickels << "
" << nickels * 0.05 << "\n";
cout << dimes << " " <<
dimes * 0.10 << "\n";
cout << quarters << " " <<
quarters * 0.25 << "\n";
1 0.01
12 0.6 4 0.4 120 30 |
* Използване на манипулатори:
-- setw задава ширината на следващото изходно поле;
cout << setw(8);
-- setprecision задава (максимален) брой на цифрите
след десетичната точка;
cout << setprecision(2);
-- fixed фиксира броя на цифрите след десетичната точка.
cout << fixed;
* Манипулаторите са дефинирани в заглавния файл iomanip, т.е.
за да ги използваме, трябва да имаме #include <iomanip>
Така изглежда частта от програмата, която отпечатва
подредена таблица:
cout << fixed << setprecision(2);
cout <<setw(8)<< pennies <<"
"<< pennies*0.01 << "\n";
cout <<setw(8)<< nickels <<"
"<< nickels*0.05 << "\n";
cout <<setw(8)<< dimes <<"
"<< dimes*0.10 << "\n";
cout <<setw(8)<< quarters
<<" "<< quarters*0.25 << "\n";
1
0.01
12 0.60 4 0.40 120 30.00 |