Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Козырева И., лабораторные работы.doc
Скачиваний:
4
Добавлен:
16.04.2019
Размер:
2.95 Mб
Скачать

Void main()

{

setlocale(LC_ALL,"Russian");

const int n=100;//размерность массива

int k=n;//кол-во введенных данных

//структура

struct reg{//вложенная структура режиссер

char fam[20];//фамилия

char imya[10];//имя

};

struct film{//структура фильм

char name[20];//название

int god;//год выпуска

struct reg reg1;//влож. режиссер

};

struct film mas[n];//массив структур

for (int i=0;i<n;i++){//заполнение

cout<<"Введите название: ";

cin>>mas[i].name;

cout<<"Введите год выпуска: ";

cin>>mas[i].god;

cout<<"Введите фамилию режиссера: ";

cin>>mas[i].reg1.fam;

cout<<"Введите имя режиссера: ";

cin>>mas[i].reg1.imya;

cout<<"Продолжить ввод? y- да, n-нет. ";

char x;

cin>>x;

if (x=='n'){

k=i+1;

break;

}

else;

}

for (int i=0;i<k;i++)//вывод

cout<<mas[i].name<<"\t"<<mas[i].god<<"\t"<<mas[i].reg1.fam<<"\t"<<mas[i].reg1.imya<<endl;

struct film temp;//временная структура

char l;

cout<<"Выберите поле для сортировки: 1 - название, 2 - год выпуска: ";//диалог с пользователем

cin>>l;

if (l=='1'){//сортировка по названию

for (int i=0;i<k-1;i++)

for (int j=0;j<k-i-1;j++)

if (strcmp(mas[j].name,mas[j+1].name)>0){

temp=mas[j];

mas[j]=mas[j+1];

mas[j+1]=temp;

}

cout<<"После сортировки: "<<endl;//вывод

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

cout<<mas[i].name<<"\t"<<mas[i].god<<"\t"<<mas[i].reg1.fam<<"\t"<<mas[i].reg1.imya<<endl;

}

if (l=='2'){//сортировка по году выпуска

for (int i=0;i<k-1;i++)

for (int j=0;j<k-i-1;j++)

if (mas[j].god>mas[j+1].god){

temp=mas[j];

mas[j]=mas[j+1];

mas[j+1]=temp;

}

cout<<"После сортировки: "<<endl;//вывод

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

cout<<mas[i].name<<"\t"<<mas[i].god<<"\t"<<mas[i].reg1.fam<<"\t"<<mas[i].reg1.imya<<endl;

}

else;

}

  1. ''Музыкальный товар'': название; исполнитель (имя, фамилия); время звучания.

#include "stdafx.h"//директивы

#include <iostream>

#include <locale>

using namespace std;

Void main()

{

setlocale(LC_ALL,"Russian");

const int n=100;//размерность массива

int k=n;//кол-во введенных данных

//структура

struct isp{//вложенная структура исполнитель

char fam[20];//фамилия

char imya[10];//имя

};

struct muz{//структура муз. товар

char name[20];//название

int vrem;//время звучания

struct isp isp1;//влож. исполнитель

};

struct muz mas[n];//массив структур

for (int i=0;i<n;i++){//заполнение

cout<<"Введите название: ";

cin>>mas[i].name;

cout<<"Введите время звучания: ";

cin>>mas[i].vrem;

cout<<"Введите фамилию исполнителя: ";

cin>>mas[i].isp1.fam;

cout<<"Введите имя исполнителя: ";

cin>>mas[i].isp1.imya;

cout<<"Продолжить ввод? y- да, n-нет. ";

char x;

cin>>x;

if (x=='n'){

k=i+1;

break;

}

else;

}

for (int i=0;i<k;i++)//вывод

cout<<mas[i].name<<"\t"<<mas[i].vrem<<"\t"<<mas[i].isp1.fam<<"\t"<<mas[i].isp1.imya<<endl;

struct muz temp;//временная структура

char l;

cout<<"Выберите поле для сортировки: 1 - название, 2 - время звучания: ";//диалог с пользователем

cin>>l;

if (l=='1'){//сортировка по названию

for (int i=0;i<k-1;i++)

for (int j=0;j<k-i-1;j++)

if (strcmp(mas[j].name,mas[j+1].name)>0){

temp=mas[j];

mas[j]=mas[j+1];

mas[j+1]=temp;

}

cout<<"После сортировки: "<<endl;//вывод

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

cout<<mas[i].name<<"\t"<<mas[i].vrem<<"\t"<<mas[i].isp1.fam<<"\t"<<mas[i].isp1.imya<<endl;

}

if (l=='2'){//сортировка по времени звучания

for (int i=0;i<k-1;i++)

for (int j=0;j<k-i-1;j++)

if (mas[j].vrem>mas[j+1].vrem){

temp=mas[j];

mas[j]=mas[j+1];

mas[j+1]=temp;

}

cout<<"После сортировки: "<<endl;//вывод

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

cout<<mas[i].name<<"\t"<<mas[i].vrem<<"\t"<<mas[i].isp1.fam<<"\t"<<mas[i].isp1.imya<<endl;

}

else;

}

  1. ''Музыкальный альбом'': название альбома; количество песен на носителе; выпуск (год выпуска, фирма-производитель).

#include "stdafx.h"//директивы

#include <iostream>

#include <locale>

using namespace std;