Int main ()
{
using namespace std;
inflatable * ps = new inflatable; // выделение памяти для структуры
cout << "Enter name of inflatable item: ”; // ввод имени элемента inflatable
cin.get(ps->name, 20); // первый метод для доступа к членам
cout « "Enter volume in cubic feet: "; // ввод объема в кубических футах
cin >> (*ps).volume; // второй метод для доступа к членам
cout « "Enter price: $"; // ввод цены
cin >> ps->price;
cout « "Name: " « (*ps).name « endl; // второй метод
cout « "Volume: " << ps->volume << " cubic feet\n"; // первый метод
cout << "Price: $" << ps->price << endl; // первый метод
delete ps; // освобождение памяти, использованной структурой
return 0;
}
// delete.срр — использование операции delete
#include <iostream>
#include <cstring> // или string, h
using namespace std;
char * getname(void); // прототип функции
Int main()
{
char * name; // создание указателя, но без хранилища
name = getname(); // присваивание name адреса строки
cout « name « " at " << (int *) name << "\n";
delete [] name; // освобождение памяти
name = getname(); // повторное использование освобожденной памяти
cout « name « " at " « (int *) name « "\n";
delete [] name; // снова освобождение памяти
return 0;
}
char * getname() // возвращает указатель на новую строку
{
char temp[80]; // временное хранилище
cout « "Enter last name: 4"; // ввод фамилии
cin » temp;
char * pn = new char [strlen (temp) + 1] ;
strcpy(pn, temp); // копирование строки в меньшее пространство
return pn; // по завершении функции temp теряется
}
// formore.срр — дополнительные сведения о циклах for
#include <iostream>
const int ArSize =16; // пример внешнего объявления
int main()
{
double factorials[ArSize];
factorials[1] = factorials[0] = 1;
for (int i = 2; i < ArSize; i + + )
factorials[i] = i * factorials[i-l];
for (i = 0; i < ArSize; i + + )
std::cout « i « " ! = " << factorials [i] « std::endl;
return 0;
}
// forstrl.cpp -- использование цикла for для строки
#include <iostream>
#include <string>
int main ()
{
using namespace
stakeout << "Enter a word: ";
string word;
cin » word;
// Отображение символов в обратном порядке
for (int i = word.size() - 1; i >= 0; i--)
cout << word[i];
cout « "\nBye.\n";
return 0;
}
// compstr2.cpp — сравнение строк с использованием класса string
#include <iostream>
#include <string> // класс string
int main ()
{
using namespace std;
string word = "?ate";
for (char ch = 'a'; word != "mate"; ch++ )
{
cout « word « endl;
word[0] = ch;
}
cout « "After loop ends, word is " « word << endl;
return 0;
}
// while.срр — представление цикла while
#include <iostream>
const int ArSize = 20;
int main ()
{
using namespace std;
char name[ArSize];
cout << "Your first name, please: “; // ввод имени
cin » name;
// Вывод имени посимвольно и в кодах ASCII
cout « "Here is your name, verticalized and ASCIIized:\n";
int i = 0; // начать с начала строки
while (name[i] != '\0') // обрабатывать до конца строки
{
cout « name[i] « " : " « int(name [i]) « endl;
i++; // не забудьте этот шаг
}
return 0;
}
// dowhile. срр -- цикл с проверкой на выходе
#include <iostream>
