- •1. Краткие теоретические сведения
- •1.1. Понятие структуры
- •1.2. Определение (описание) шаблона структуры
- •1.3. Описатель типа
- •1.4. Объявление переменных структурного типа
- •1.5. Инициализация переменной структурного типа
- •1.6. Операции со структурами
- •1.7. Доступ к значениям полей структурного типа
- •1.8. Вложенные структурные типы
- •1.9. Массивы структурного типа
- •1.10. Структурные переменные и указатели
- •1.11. Структуры и функции
- •1.11. Использование синонима типа
- •1.12. Доступ к отдельному биту
- •1.13.Типичные ошибки при разработке структур
- •1.14. Примеры программирования задач на структуры
- •2. Задание
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1. Вычисление с использованием структур
- •2.4.1.1. Условие задания
- •2.4.1.2. Пример для варианта 30
- •2.4.1.3. Программа
- •2.4.1.4. Тестирование
- •2.4.2. Задание 2. Массив структур
- •2.4.2.1. Условие задания
- •2.4.2.2. Пример выполнения работы
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.4.3. Задание 3. Структуры данных
- •2.4.3.1. Условие задания
- •2.4.3.2. Пример для варианта 30
- •2.4.3.3. Программа
- •2.4.3.4. Тестирование
- •2.4.4. Задание 4. Структуры данных
- •2.4.4.1. Условие задания
- •2.4.4.2. Пример для варианта 31
- •2.4.4.3. Программа
- •2.4.4.4. Тестирование
- •2.4.5. Задание 5. Создание и обработка структур
- •2.4.5.1. Условие задания
- •2.4.6.2. Пример для варианта 30
- •2.4.7.2. Пример для варианта 30
- •2.4.7.3. Программа
- •2.4.7.4. Тестирование
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Понятие структуры 2
2.4.3.2. Пример для варианта 30
Создать структуру, содержащую сведения о количестве изделий, собранных рабочими цеха за неделю. Каждая запись содержит поля: фамилия рабочего, количество изделий, собираемых им ежедневно, т.е. раздельно в понедельник, вторник и т.д. Количество записей произвольное. Написать программу, выводящую на экран следующую информацию: фамилию сборщика и общее количество изделий, собранных им за неделю; фамилию сборщика, собравшего наибольшее количество изделий, и день когда он достиг наибольшей производительности.
2.4.3.3. Программа
#include <iostream>
#include <string.h>
# include <iomanip>
#include <time.h>
using namespace std;
struct fabric
{
char name[10];
int pon;
int vtor;
int sred;
int chet;
int pyat;
int sub;
};
void main(void)
{
fabric f[100],f_new[10];
char n[200000];
int kol,max=0,c,e,v,z,ch,p,s,j,i;
int mas[50];
int MAX[100];
int k[100];
srand(time(NULL));
cout<<"input kol-vo ingenerov"<<endl;
cin>>kol;
if (kol<=0) cout<<"error";
else {
for (int i=0; i<kol; i++)
{
//cout<<"name ";
//cin>>setw(15)>>f[i].name;
//n=rand()%255;
//cout<<n;
//cin>>setw(15)>>f[i].name[i];
n[i]=rand()%20+10;
f[i].name[i]=rand()%25+65;
cout<<f[i].name[i];
for (int j=1;j<n[i];j++){
f[i].name[j]=rand()%25+97;
cout<<f[i].name[j];
}
//cin>>setw(15)>>f[i].name;
cout<<endl;
//cout<<f[i].name<<endl;
//cout<<"kol-vo detaley v pon ";
//cin>>f[i].pon;
e=rand()%100;
f[i].pon=e;
MAX[i]=f[i].pon;
k[i]=1;
cout<<" v pon "<<f[i].pon<<endl;
//cout<<"kol-vo detaley v vtor ";
//cin>>f[i].vtor;
v=rand()%100;
f[i].vtor=v;
cout<<"vo vtor "<<f[i].vtor<<endl;
if (f[i].vtor>MAX[i]){ MAX[i]=f[i].vtor; k[i]=2; }
//cout<<"kol-vo detaley v sredu ";
//cin>>f[i].sred;
z=rand()%100;
f[i].sred=z;
cout<<"v sred "<<f[i].sred<<endl;
if (f[i].sred>MAX[i]){ MAX[i]=f[i].sred; k[i]=3; }
//cout<<"kol-vo detaley v 4etverg ";
//cin>>f[i].chet;
ch=rand()%100;
f[i].chet=ch;
cout<<"v 4et "<<f[i].chet<<endl;
if (f[i].chet>MAX[i]){ MAX[i]=f[i].chet; k[i]=4; }
//cout<<"kol-vo detaley v pyatnicu ";
//cin>>f[i].pyat;
p=rand()%100;
f[i].pyat=p;
cout<<"v pyt "<<f[i].pyat<<endl;
if (f[i].pyat>MAX[i]){ MAX[i]=f[i].pyat; k[i]=5; }
//cout<<"kol-vo detaley v subbotu ";
//cin>>f[i].sub;
s=rand()%100;
f[i].sub=s;
cout<<"v sub "<<f[i].sub<<endl;
if (f[i].sub>MAX[i]){ MAX[i]=f[i].sub; k[i]=6; }
mas[i]=f[i].pon+f[i].vtor+f[i].sred+f[i].chet+f[i].pyat+f[i].sub;
}
for (int i=0; i<kol; i++)
{ //for (int j=0; j<kol;j++)
cout<<f[i].name<<" ";
cout<<mas[i]<<endl;
}
for (int i=0; i<kol; i++)
{
if (mas[i]>max) { max=mas[i]; c=i; }
}
cout<<"pobeditel - "<<f[c].name<<" den' - ";
if (k[c]==1) cout<<"pon"<<endl;
if (k[c]==2) cout<<"vtor"<<endl;
if (k[c]==3) cout<<"sreda"<<endl;
if (k[c]==4) cout<<"chet"<<endl;
if (k[c]==5) cout<<"pyat"<<endl;
if (k[c]==6) cout<<"sub"<<endl;
}
//system ("pause");
}