Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабЯзыкиПрогрИб.doc
Скачиваний:
1
Добавлен:
12.11.2019
Размер:
320 Кб
Скачать

3.3. TPlab2_3 «Массивы и функции»

Цель работы – изучение массивов в качестве параметров функций.

Условие задачи: ввести данные о рабочих: фамилия и зарплата; определить рабочих, у которых зарплата меньше прожиточного минимума.

Создание проекта консольного приложения

Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab2_3.

Создается исходный файл TPlab2_3.cpp, который будет содержать всего одну пустую функцию main():

int t_main(int args, _TCHAR* argv[])

{return 0;}.

Создание и добавление исходных файлов в проект

Проект должен содержать файл заголовков TPlab2_3.h, файл кодов TPlab2_3.cpp и файл кодов TPlab2_3f.cpp.

Создать файл TPlab2_3.h, ввести текст файла и сохранить его:

//файл заголовков TPlab2_3.h

#include <iostream>

using std::cin;

using std::cout;

#include <iomanip>

using std::setw;

using std::setprecision;

const int max_rab=100;

Void vvod1(int n, char m1[][20]);

Void vvod2(int n, float m2[]);

Void vyvod(int n, char m1[][20], float m2[]);

char menu();

Добавить в файл кодов TPlab2_3.cpp тексты функций main() и menu():

//файл кодов TPlab2_3.cpp

#include "stdafx.h"

#include "TPlab2_3.h"

int _tmain(int argc, _TCHAR* argv[])

{

char selector;

do

{

selector=menu();

}

while(selector!='0');

return 0;

}

char menu()

{

char ch;

static char fio[max_rab][20];

static float zarp[max_rab];

static int kol;

cout<<'\t'<<"MENU\n\n";

cout<<'\t'<<"1 Vvod dannyx\n\n";

cout<<'\t'<<"2 Vyvod rezultatov\n\n";

cout<<'\t'<<"0 Vyxod\n\n";

cout<<'\t'<<"Vash vybor: ";

cin>>ch;

switch(ch)

{

case '1': cout<<"Vvedite kolichestvo rabochix:";

cin>>kol;

vvod1(kol, fio);

vvod2(kol, zarp);

break;

case '2': vyvod(kol, fio, zarp);

break;

case '0': break;

}

return (ch);

}

Аналогично создать файл кодов TPlab2_3f.cpp. Необходимо выбрать вкладку типа файл C/C++Source File.

//файл кодов TPlab2_3f.cpp

#include "stdafx.h"

#include "lab2_3.h";

void vvod1(int n, char m1[][20])

{

for(int i=0; i<n; i++)

{

cout<<"Fio rabochego "<<i+1<<':';

cin>>m1[i];

}

return;

}

void vvod2(int n, float m2[])

{

for(int i=0; i<n; i++)

{

cout<<"Zarplata rabochego "<<i+1<<':';

cin>>m2[i];

}

return;

}

void vyvod(int n, char m1[][20], float m2[])

{

float min;

int ch;

cout<<"Minimum:";

cin>>min;

cout<<"\tFio\tZarplata\n\n";

for(int i=0;i<n;i++)

if (m2[i]<min)

{

cout<<'\t'<<m1[i];

cout<<'\t'<<setw(8)<<setprecision(2)<<m2[i]<<'\n';

}

cout<<"Konec vyvoda";

}

Компиляция, запуск и тестирование приложения

Выбрать команду Build->Build TPlab2_3. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.

3.4. TPlab2_4 «Типовые операции над массивами»

Цель работы - изучение типовых операций над массивами: ввод, вывод, сортировка, слияние, поиск и т.д..

Условие задачи: ввести два массива, отсортировать их, и затем произвести их слияние.

Создание проекта консольного приложения

Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab2_4.

Создается исходный файл TPlab2_4.cpp, который будет содержать всего одну пустую функцию main():

int _tmain(int args, _TCHAR* argv[])

{return 0;}.

Создание и добавление исходных файлов в проект

Проект должен содержать файл заголовков TPlab2_4.h и файл кодов TPlab2_4.cpp.

Создать файл TPlab1_2.h, ввести текст файла и сохранить его:

//файл заголовков TPlab2_4.h

#include <iostream>

using std::cout;

using std::cin;

using std::endl;

const int nmax=100;

const int nmaxr=200;

void vvod(int n, float m[]);

void sort(int n, float m[]);

void slijanie(int n1, float m1[], int n2, float m2[], float m[]);

void vyvod(int n, float m[]);

Добавить в файл кодов TPlab2_4.cpp тексты функций:

//файл кодов TPlab2_4.cpp

#include "stdafx.h"

#include "TPlab2_4.h"

int _tmain(int argc, _TCHAR* argv[])

{

int k, k1, k2;

float a1[nmax], a2[nmax], a[nmaxr];

cout<<"Vvedite chislo elementov massiva 1: ";

cin>>k1;

vvod(k1, a1);

sort(k1, a1);

cout<<"Vvedite chislo elementov massiva 2: ";

cin>>k2;

vvod(k2, a2);

sort(k2, a2);

k=k1+k2;

slijanie(k1, a1, k2, a2, a);

vyvod(k, a);

return 0;

}

void vvod(int n, float m[])

{

for(int i=0; i<n; i++)

{

cout<<"Vvedite element "<<i+1<<": ";

cin>>m[i];

}

return;

}

void sort(int n, float m[])

{

int i=0;

int perest=1;

while(i<=n-1 && perest)

{

perest=0;

for(int j=n-1; j>0; j--)

if(m[j-1]>m[j])

{

perest=1;

float b=m[j-1];

m[j-1]=m[j];

m[j]=b;

}

i++;

}

return;

}

void slijanie(int n1,float m1[],int n2,float m2[],float m[])

{

int i, i1, i2;

i=i1=i2=0;

while(i1<n1 && i2<n2)

if(m1[i1]<m2[i2])

{

m[i]=m1[i1];

i++;

i1++;

}

else

{

m[i]=m2[i2];

i++;

i2++;

}

if(i1==n1)

{

for(int k=i2; k<n2; k++)

{

m[i]=m2[k];

i++;

}

}

else

{

for(int k=i1; k<n1; k++)

{

m[i]=m1[k];

i++;

}

}

return;

}

void vyvod(int n, float m[])

{

cout<<"Resultat: "<<endl;

for(int i=0; i<n; i++)

cout<<m[i]<<" ";

return;

}

Компиляция, запуск и тестирование приложения

Выбрать команду Build->Build TPlab2_4. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.

4. Блок лабораторных работ №3 по теме

«Обработка файлов данных»

4.1. TPlab3_1 «Файл последовательного доступа»

Цель работы – создание файла последовательного доступа, запись в файл и чтение данных из файла.

Условие задачи: ввести данные о рабочих (фамилия, зарплата) и записать в файл; читать данные из файла и определить рабочих, у которых зарплата меньше прожиточного минимума.

Создание проекта консольного приложения

Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab3_1.

Создается исходный файл TPlab3_1.cpp, который будет содержать всего одну пустую функцию main():

int t_main(int args, _TCHAR* argv[])

{return 0;}.

Создание и добавление исходных файлов в проект

Проект должен содержать файл заголовков TPlab3_1.h и файл кодов TPlab3_1.cpp.

Создать файл TPlab3_1.h, ввести текст файла и сохранить его:

//файл заголовков TPlab3_1.h

#include <iostream>

using std::cin;

using std::cout;

using std::endl;

#include <iomanip>

using std::setw;

using std::setprecision;

#include <fstream>

using std::ofstream;

using std::ifstream;

using std::ios;

struct trab

{

char tabn[6];

char fio[20];

float zarp;

};