break;
default: cout << "Попробуйте еще раз.\n\n";
}
}while(choice != 0);
return 0;
}
// Функция возвращает команду, выбранную пользователем.
int menu()
{
int choice;
cout << "0. Выход из программы\n";
cout << "1. Ввод информации\n";
cout << "2. Генерирование отчета\n";
cout << "\n Выберите команду: ";
cin >> choice;
return choice;
}
// Функция ввода информации в базу данных.
void enter()
{
int i;
char temp[80];
for(i=0; i<10; i++) {
cout << "Введите фамилию: ";
cin >> name[i];
cout << "Введите номер телефона: ";
cin >> phone[i];
cout << "Введите количество отработанных часов: ";
cin >> hours[i];
cout << "Введите оклад: ";
cin >> wage[i];
}
}
// Отображение отчета.
void report()
{
int i;
for(i=0; i<10; i++) {
cout << name[i] << ' ' << phone[i] << '\n';
cout << "Заработная плата за неделю: "<< wage[i] * hours[i];
cout << '\n';
}
}
Глава 6: Указатели
Указатели, без сомнения, — один из самых важных и сложных аспектов C++. В значительной степени мощь многих средств C++ определяется использованием указателей. Например, благодаря им обеспечивается поддержка связных списков и динамического выделения памяти, и именно они позволяют функциям изменять содержимое своих аргументов. Однако об этом мы поговорим в последующих главах, а пока (т.е. в этой главе) мы рассмотрим основы применения указателей и покажем, как можно избежать некоторых потенциальных проблем, связанных с их использованием.
При рассмотрении темы указателей нам придется использовать такие понятия, как размер базовых С++-типов данных. В этой главе мы предположим, что символы занимают в памяти один байт, целочисленные значения — четыре, значения с плавающей точкой типа float — четыре, а значения с плавающей точкой типа double — восемь (эти размеры характерны для типичной 32-разрядной среды).
Указатель —
тип *имя_переменной;
Здесь элемент
int *р;
Для объявления указателя на
float *р;
В общем случае использование символа "звездочка" (
Тип данных, на которые будет ссылаться указатель, определяется его базовым типом. Рассмотрим еще один пример.
int *ip; // указатель на целочисленное значение
double *dp; // указатель на значение типа double
Как отмечено в комментариях, переменная
С указателями используются два оператора: