Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_8_метод_указания.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
623 Кб
Скачать
☆

Ввод-вывод

#include <string>

int main() {

string s;

cout << "input slova:" << endl;

cin >> s; //ввод до первого пробельного символа

cout << s << endl; //вывод строки

cin.get(); //удаление из потока символа ‘\n’

cout << "input c probelami:" << endl;

getline(cin,s); //ввод строки с пробелами

cout << s << endl;

cout << "input strok c $:" << endl;

getline(cin,s,'$'); //ввод строки до символа завершения '$'

cout << s << endl;

_getch();

return 0;

}

// ввод-вывод

#include <string>

int main()

{

string full_name, nickname, address;

string greeting("Hello, ");

cout << "Enter your full name: ";

getline(cin, full_name); //ввод строки с пробелами

cout << "Your full name is: " << full_name << endl;

cout << "Enter your nickname: ";

cin >> nickname; //ввод строки-объекта

greeting += nickname; //добавление имени к строке-приветствию

cout << greeting << endl; //вывод: "Hello, Jim"

cout << "Enter your address on separate lines\n";

cout << "Terminate with '$'\n";

getline(cin, address, '$'); //ввод нескольких строк

cout << "Your address is: " << address << endl;

_getch();

return 0;

}

Результаты работы программы:

Enter your full name: lar str

Your full name is: lar str

Enter your nickname: mama

Hello, mama

Enter your address on separate lines

Terminate with '$'

aaa

bbb

ccc$

Your address is:

aaa

bbb

ccc

Методы корректировки

#include <string>

int main()

{

string s1("Quick! Send for Count Graystone.");

string s2("Lord");

string s3("Don't ");

s1.erase(0, 7); //удаление "Quick! "

s1.replace(9, 5, s2); //замена "Count" на "Lord"

s1.replace(0, 1, "s"); //замена 'S' на 's'

s1.insert(0, s3); //вставка "Don't " в начало

s1.erase(s1.size()-1, 1); //удаление '.'

s1.append(3, '!'); //добавление "!!!"

size_t x = s1.find(' '); //поиск пробела и возврат его позиции

while( x < s1.size() ) //продолжать пока пробел не найден

{

s1.replace(x, 1, "/"); //замена пробела на слэш

x = s1.find(' '); //поиск следующего пробела

}

cout << "s1: " << s1 << endl;

_getch();

return 0;

}

Результаты работы программы:

s1: Don't/send/for/Lord/Graystone!!!

//методы assign, insert, erase, replace

#include <string>

int main() {

string s0, s01, s02,s03, s04;

s0.assign("aabb"); //s0=”aabb”

s01.assign(s0); //s01=s0

s02.assign("ccc"); //s02=”ccc”

s03.assign(s01,2,1); //s03 присваивается 2-ой символ из s01

s04.assign("abcd",3); //s04 присваивается первые 3 символa строки "abcd"

cout << "s0= " <<s0<< endl; //

cout << "s01= " <<s01 << endl;

cout << "s02= " <<s02 <<endl;

cout << "s03= " <<s03 <<endl;

cout << "s04= " <<s04 <<endl;

string s1 ("a"), s2("ok"), s3("les");

cout << "s1= " <<s1<< endl; //

cout << "s2= " <<s2 << endl;

cout << "s3= " <<s3 <<endl;

// insert, erase:

cout << "s3: " <<s3.insert(3,s1) << endl; //lesa

cout << "s3: " <<s3.insert(3,s2) <<endl; //lesoka

cout << "s3: " <<s3.erase(5,1) <<endl; //lesok

cout << "s3: " <<s3.insert(5,s1) <<endl; //lesoka

cout << "s3: " <<s3.erase(3,1) <<endl; //leska

// replace:

cout << "s3= " <<s3.replace(1,1,s1, 0,1) <<endl; //laska

string s ("mam");

cout << s.at(1) << endl; //будет выведен символ a

s.at(1)='o'; //символ a заменится на символ o

cout << s.at(1)<< "\n";

_getch();

return 0;

}

Результаты работы программы:

s0= aabb

s01= aabb

s02= ccc

s03= b

s04= abc

s1= a

s2= ok

s3= les

s3: lesa

s3: lesoka

s3: lesok

s3: lesoka

s3: leska

s3= laska

a

o