Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_структуры.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
111.1 Кб
Скачать

Примеры выполнения работы

Сформировать массив, содержащий сведения о вкладах. Структурный тип содержит поля: ФИО вкладчика, номер счета, тип вклада (срочный, депозит, обычный), сумма вклада, дата последнего обращения к вкладу. Написать программу, которая выводит информацию о всех вкладчиках банка в алфавитном порядке имен и о вкладчиках банка, имеющих наибольший размер вклада.

Текст программы:

#include <string.h>

#include <stdio.h>

# include <iomanip.h>

struct Banc

{

char name[20]; // фамилия вкладчика

int sch; // номер счета

char tip[10]; // тип вклада

float sum; // сумма вклада

char data[10]; // дата последнего обращения

};

void main(void)

{

Banc b[10],b_new[10];

int kol;

cout<<"Введите количество вкладчиков >";

cin>>kol;

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

{

cout<<"Имя вкладчика :";

cin>>setw(15)>>b[i].name;

cout<<"Номер счета :";

cin>>b[i].sch;

cout<<"Тип вклада :";

cin>>b[i].tip;

cout<<"Сумма вклада :";

cin>>setw(10)>>b[i].sum;

cout<<"Дата последнего обращения к вкладу :";

cin>>setw(10)>>b[i].data;

cout<<endl;

}

/* Вывод содержимого массива вкладчиков в алфавитном порядке*/

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

{

Banc min=b[i];

int num=i;

for(int j=i; j<kol; j++)

if(strcmp(banc[j].name,min.name)<0)

{

min=b[j];

num=j;

}

b[num]=b[i];

b[i]=min;

}

cout<<"Имя вкладчика”<<”Номер счета”<<”Тип вклада”;

cout<<”Сумма вклада”<<”Дата последнего обращения к вкладу”<<endl;

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

{

cout<<setw(15)<<b[i].name<<setw(13)<<b[i].sch<<setw(11)<<b[i].tip;

cout<<setw(13)<<b[i].sum<<setw(16)<<b[i].data<<endl;

}

// Формирование массива вкладчиков, имеющих наибольший размер вклада

float max=0.0;

int kol_new=0;

for(int i=0; i<kol; i++) // Определение значения наибольшего вклада

if(b[i].sum>max) max=b[i].sum;

cout<<”Наибольшая сумма вклада”<<max<<endl;

// Массив вкладчиков с наибольшей суммой вклада

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

if(b[i].sum==max) b_new[kol_new++]=b[i];

cout<<”Имя вкладчика”<<”Номер счета”<<”Тип вклада”;

cout<<”Сумма вклада”<<”Дата последнего обращения к вкладу”<<endl;

for( i=0; i<kol_new; i++)

{ cout<<setw(15)<<b_new[i].name<<setw(13)<<b_new[i].sch<<

setw(11)<< b_new[i].tip;

cout<<setw(13)<<b_new[i].sum<<setw(16)<<b_new[i].data<<endl;

}

}

Задание на лабораторную работу Вариант 1

1. Описать структуру с именем STUDENT, содержащую следующие поля:

• фамилия и инициалы;

• номер группы;

• успеваемость (массив из пяти элементов).

2. Написать программу, выполняющую следующие действия:

• ввод с клавиатуры данных в массив, состоящий из десяти структур типа

STUDENT; записи должны быть упорядочены по возрастанию номера

группы;

• вывод на дисплей фамилий и номеров групп для всех студентов, включенных

в массив, если средний балл студента больше 4,0;

• если таких студентов нет, вывести соответствующее сообщение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]