Лабораторная работа №7 Составление программы с исползованием подпрограмм



бет2/3
Дата07.02.2022
өлшемі20,29 Kb.
#86492
түріЛабораторная работа
1   2   3
Байланысты:
Лабораторная работа 9

Пример 1: Функция с параметрами-значениями. Результат связан с именем функции. В программе объявляется прототип функции, а сама функция описывается ниже.

//lab8_1
#include


#include
int max(int,int); //Прототип функции
void main()
{ int x,y,z;
printf(" input x,y ");
scanf("%d%d",&x,&y);
z=max(x,y); //Вызов функции с фактическими параметрами
printf("x=%d y=%d max=%d",x,y,z);
getch();
}
int max(int a ,int b) //Заголовок функции с формальными параметрами
{ int c;
if (a>b) c=a;
else c=b;
return c;
}


Пример 2: Функция с параметрами-указателями. Здесь передаются адреса фактических параметров, по которым и получаем результат. Функция меняет местами переменные x,y.

//lab8_2
#include


#include
main()
{ float x,y;
void swap(float *, float *); // Прототип функции с параметрами - указателями
printf("\n введите x,y ");
scanf("%f%f",&x,&y);
swap(&x,&y); // Передаём адреса переменных
printf("\n x=%4.2f y=%4.2f ",x,y);
getch();
}
void swap(float * a, float * b)
{float c;
c=*a; // *a - содержимое по адресу a
*a=*b;
*b=c;
}


Пример 3: Подключение файлов с функциями и создание меню.
! Внимание! Следите за тем, чтобы константы, объявленные директивой #define, не переобъявлялись в функциях.

//lab8_3
#include


#include
#include "lab3.c"
#include "lab5.c"
#include "lab6.c"
main()
{ int nom;
while(1)
{ clrscr();
printf("\n 1. Сумма ряда \n");
printf(" 2. Матрица \n");
printf(" 3. Строки \n");
printf(" 4. Выход \n");
scanf("%d",&nom);
switch(nom)
{
case 1:lab3();break;
case 2:lab5();break;
case 3:lab6();break;
case 4:return 0;
default:printf("Неверный режим");
}
}
getch();
}


Пример 4: Передача в функцию массива с использованием указателя. Результат – элементы массива возводятся в квадрат. Функция описывается до вызова, поэтому прототип не объявляется.

//lab8_4
#include


#include
void quart(int n, float * x) // Можно void quart(int n, float x[])
{ int i;
for (i=0;ix[i]=x[i]*x[i];
}
main()
{ float z[]={1,2,3,4};int j;
clrscr();
for (j=0;j<4;j++)
printf(" %6.2f",z[j]);
quart(4,z);
for (j=0;j<4;j++)
printf("\n %6.2f",z[j]);
getch();
}




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




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

    Басты бет