
- •Int num_songs; // число песен
- •Int num_songs; // число песен
- •Int num_songs; // число песен
- •Вложенные структурные типы
- •Массивы структурного типа
- •Примеры выполнения работы
- •Текст программы:
- •Задание на лабораторную работу Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Требования к отчету
- •Контрольные вопросы
Примеры выполнения работы
Сформировать массив, содержащий сведения о вкладах. Структурный тип содержит поля: ФИО вкладчика, номер счета, тип вклада (срочный, депозит, обычный), сумма вклада, дата последнего обращения к вкладу. Написать программу, которая выводит информацию о всех вкладчиках банка в алфавитном порядке имен и о вкладчиках банка, имеющих наибольший размер вклада.
Текст программы:
#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;
• если таких студентов нет, вывести соответствующее сообщение.