Лабораторная работа №2 Программирование типовых числовых задач обработки двумерных массивов в среде Visual c ++



бет3/6
Дата19.04.2023
өлшемі82 Kb.
#84659
түріЛабораторная работа
1   2   3   4   5   6
Байланысты:
семинар 2ая аттестация

3.3. Кодирование проекта
Заголовочная часть программы должна состоять из:
 директив для препроцессора, обеспечивающих включение в программу заголовочных файлов, содержащих объявления функций и переменных стандартных библиотек ввода-вывода;
 математических функций;

  • функций для работы в текстовом режиме;

  • определений функций, разработанных для данного проекта;

  • описаний глобальных массивов и(или) переменных.

Тогда код заголовочной части для разрабатываемой программы будет иметь, например, следующий вид:
# include // Библиотека ввода-вывода
# include // Главный заголовочный файл для Windows-приложений
# include // Библиотека для работы с консолью в текстовом режиме
# include // Библиотека специальных функций
# include // Библиотека для работы с временем и датами.
long int A[3][3]={{0,0,0},{0,0,0},{0,0,0}};//Глобальный исходный массив
long int B[3][3]={{0,0,0},{0,0,0},{0,0,0}};//Глобальный промежуточный массив
int menu();//функция, реализующая функциональное меню
int Zadacha1();//функция, реализующая задачу №1
………………….
int Zadacha7();//функция, реализующая задачу №7.

Как следует из приведенного текста заголовочной части имена всех заголовочных файлов заключены в угловые скобки(< >), что говорит о том, что препроцессор должен искать эти файлы в системном каталоге \INCLUDE\.


Описание или тело главной функции int main() представляет последовательность описаний, определений, операторов, заключенных в фигурные скобки { } и обеспечивающих решение всех поставленных в проекте задач. Любая программа на С++ должна включать только одну функцию с этим именем.
Для кодирования проекта могут быть полезными следующие рекомендации:
1) Так как исходный массив из случайных целочисленных элементов формируется в задаче 1 и используется во всех других задачах, то целесообразно ему придать статус глобального массива, и тогда он будет доступен на протяжении работы программы. Аналогичный статус должен получить и массив B[3][3], в котором будет сохранятся транспонированная матрица и она же будет использоваться в задаче 7.
2) При выводе на экран строковых данных на русском языке необходимо использовать специальную функцию AnsiToOem(x,y), обеспечивающую конвертирование строки из кодировки ANSI(Windows) в кодировку OEM(MS-DOS), которая описана в первой лабораторной работе.
3) Для формирования разных значений псевдослучайных чисел в диапазоне 0..k и присваивания их элементам двумерного массива можно использовать следующий блок операторов:
A[0][0] = 2;
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
{
k=k+1;
srand(time(NULL));
A[i][j] = A[i][j]+rand() % k;
}
}
Случайное целое значение, генерируемое функцией rand() находится в диапазоне 0..32767. Однако, с помощью инициализации функции rand() функцией srand(time(NULL)) и масштабирования значения, генерируемого rand(), с помощью выражения A[i][j] = A[i][j]+rand() % k мы обеспечиваем заполнение массива A[3][3] разными целочисленными значениями при каждом новом запуске этого блока операторов.
4) Для создания меню можно использовать условный оператор if … else, который был рассмотрен в первой лабораторной работе или оператор switch c бесконечным циклом for (;;). В бесконечном цикле оператора switch пользователь может выбрать какой–либо пункт, выполнить соответствующие действие, а затем вернуться к меню. Так продолжается до тех пор, пока пользователь не выберет пункт выхода. Чтобы выйти из цикла switch, необходим оператор break.
5) Описание главной функции для настоящего проекта можно начинать, например, таким кодом:




Достарыңызбен бөлісу:
1   2   3   4   5   6




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет