Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР14-С++-24-мая-2012.doc
Скачиваний:
34
Добавлен:
23.09.2019
Размер:
2.26 Mб
Скачать

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");

}