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

Void main()

{

setlocale(LC_ALL,"Russian");

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

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

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

int ch;//число

char month[10];//месяц

};

struct Stud{//структура студент

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

char group[10];//группа

struct Data data1;//влож. дата рождения

};

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

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

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

cin>>mas[i].name;

cout<<"Введите группу: ";

cin>>mas[i].group;

cout<<"Введите число рождения: ";

cin>>mas[i].data1.ch;

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

cin>>mas[i].data1.month;

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].group<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<endl;

struct Stud 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].group<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<endl;

}

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

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

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

if (strcmp(mas[j].group,mas[j+1].group)>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].group<<"\t"<<mas[i].data1.ch<<"\t"<<mas[i].data1.month<<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 Dom{//вложенная структура адрес

char street[19];//улица

int nom;//номер дома

};

struct Pokup{//структура покупатель

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

int nomkr;//номер кредитной карты

struct Dom dom1;//влож. адрес

};

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

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

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

cin>>mas[i].name;

cout<<"Введите номер кредитной карты: ";

cin>>mas[i].nomkr;

cout<<"Введите улицу: ";

cin>>mas[i].dom1.street;

cout<<"Введите № дома: ";

cin>>mas[i].dom1.nom;

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].nomkr<<"\t"<<mas[i].dom1.street<<"\t"<<mas[i].dom1.nom<<endl;

struct Pokup 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].nomkr<<"\t"<<mas[i].dom1.street<<"\t"<<mas[i].dom1.nom<<endl;

}

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

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

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

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

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].nomkr<<"\t"<<mas[i].dom1.street<<"\t"<<mas[i].dom1.nom<<endl;

}

else;

}

  1. ''Пациент'': фамилия; год рождения; домашний адрес (улица, дом).

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

#include <iostream>

#include <locale>

using namespace std;