Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_1_10 / Лекция 05.pptx
Скачиваний:
45
Добавлен:
21.05.2015
Размер:
488.43 Кб
Скачать

При выполнении этой программы получаем такие результаты.

Это просто тест

ИЗМЕНЕНО

Это просто тест

ИЗМЕНЕНО

Предположим, что мы используем следующий вариант инициализации массивов для построения таблицы сообщений об ошибках.

char e1[14] = "Деление на 0\n";

char е2[23] = "Конец файла\n";

char еЗ[21] = "В доступе отказано\п";

char е1[] = "Деление на 0\n";

char е2[] = "Конец файла\n";

char еЗ[] = "В доступе отказано\n";

При инициализации многомерных массивов вам необходимо указать все данные, за исключением крайней слева размерности, чтобы С++-компилятор мог должным образом индексировать массив.

Используя "безразмерную" инициализацию массивов, можно создавать таблицы различной длины, позволяя компилятору автоматически выделять область памяти, достаточную для их хранения.

В следующем примере массив sqrs объявляется как "безразмерный".

int sqrs[][2] =

{

1, 1,

2, 4,

3, 9,

4, 16,

5, 25,

6, 36,

7, 49,

8, 64,

9, 81,

char str_array[30][80];

Массив строк это специальная форма двумерного массива символов.

Получить доступ к отдельной строке довольно просто: достаточно указать только левый индекс.

Например, следующая инструкция вызывает функцию gets() для записи третьей строки массива

str_array.

gets(str_array[2]);

#include <iostream>

#include <cstdio> using namespace std; int main()

{

int t, i;

char text[100][80];

for(t=0; t<100; t++) {

cout << t << ": ";gets(text[t]);

if(!text[t][0]) break; // Выход из цикла по

пустой строке.

}

// Отображение строк на экране.

for(i=0; i<t; i++)

cout << text[i] << ' \n';

return 0;

}

char name[10][80]; // Массив имен служащих.

char phone[10][20]; // Массив телефонных

номеров служащих.

float hours[10]; // Массив часов, отработанных

за неделю.

float wage[10]; // Массив окладов.

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';

}

}

// Простая программа ведения базы данных служащих.

#include <iostream> using namespace std;

char name[10][80]; // Массив имен служащих.

char phone[10] [20]; // Массив телефонных номеров служащих. float hours[10]; // Массив часов, отработанных за неделю. float wage[10]; // Массив окладов

int menu();

void enter(), report(); int main()

{

int choice;

do {

choice = menu(); // Получаем команду, выбранную пользователем.

switch(choice) {

case 0: break;

case 1: enter();

break;

case 2: report();

break;

default: cout << "Попробуйте еще раз.\n\n";

}

}while(choice != 0);

return 0;

}

Соседние файлы в папке lekcii_1_10