|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.05.2017, 18:00 | #1 |
Регистрация: 15.06.2014
Сообщений: 5
|
Как Допилить задачу, небольшие наработки есть. По результатам обследования предприятий выяснить процентное выполне
По результатам обследования предприятий выяснить процентное выполнение плана по персоналу. Для каждого предприятия известно: наименование предприятия, фактическая численность персонала (промышленного и непромышленного) и плановая численность всего персонала. Число предприятий не более 30. Результаты распечатать в виде таблицы:
Указания: Заполнить исходную таблицу и сортировать ее по уменьшению значений второго столбца. После этого в цикле, пока не откажется поль-зователь • запрашивать нижнюю границу процента выполнения плана по персона-лу, • копировать из исходной в рабочую таблицу строки с процентом выпол-нения плана по персоналу, большим заданного, • выявлять предприятие с наименьшей долей непромышленного персо-нала и запоминать его наименование, • выдавать сведения о предприятиях. //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "math.h" #include "stdio.h" #include "string.h" #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { StringGrid1->Cells[0][0]="В№"; StringGrid1->Cells[0][1]="ГЇ/ГЇ"; StringGrid1->Cells[1][0]="ГЌГ*èìåГ*îâГ*Г*ГЁГҐ"; StringGrid1->Cells[1][1]="Ïðåäïðèÿòèÿ"; StringGrid1->Cells[2][0]="Âñåãî"; StringGrid1->Cells[2][1]="ïåðñîГ*Г*Г«Г* ГЇГ® ГЇГ«Г*Г*Гі"; StringGrid1->Cells[3][0]="Г”Г*ГЄГІГЁГ·ГҐГ±ГЄГЁ ÏåðñîГ*Г*Г«Г*"; StringGrid1->Cells[3][1]="ÏðîìûøëåГ*Г*ûé "; StringGrid1->Cells[4][1]="ÍåïðîìûøëåГ*ûé ïåðñîГ*Г*Г«Г*"; StringGrid1->Cells[5][0]="Äîëÿ"; StringGrid1->Cells[5][1]="ÍåïðîìûøëåГ*îãî ïåðñîГ*Г*Г«Г*"; StringGrid1->Cells[6][0]="ÂûïîëГ*ГҐГ*ГЁГҐ"; StringGrid1->Cells[6][1]="ГЇГ«Г*Г*Г* ГЇГ® ïåðñîГ*Г*ëó"; StringGrid1->ColCount=7; StringGrid1->RowCount=3; } struct TAB { char name[20]; int vsego; int prom; int nprom; }; //--------------------------------------------------------------------------- void __fastcall TForm1::N3Click(TObject *Sender) { FILE*f; int i,n; TAB x; if (SaveDialog1->Execute()) { f=fopen (SaveDialog1->FileName.c_str(),"wb"); if(f==NULL) { ShowMessage("Error open file"); exit(0); } n=StringGrid1->RowCount; for(i=2; i<n; i++) { strcpy(x.name, StringGrid1->Cells[1][i].c_str()); x.vsego=StrToInt(StringGrid1->Cells[2][i]); x.prom=StrToInt(StringGrid1->Cells[3][i]); x.nprom=StrToInt(StringGrid1->Cells[4][i]); fwrite(&x,sizeof(x),1,f); } fclose(f); } } //--------------------------------------------------------------------------- void __fastcall TForm1::N4Click(TObject *Sender) { FILE*f; int i,n; TAB x; if(OpenDialog1->Execute()) { f=fopen(OpenDialog1->FileName.c_str(),"rb"); if (f==NULL) { ShowMessage("Error to file"); exit(0); } i=2; while(fread(&x,sizeof(x),1,f)) { StringGrid1->Cells[0][i]=i-1; StringGrid1->Cells[1][i]=x.name; StringGrid1->Cells[2][i]=x.vsego; StringGrid1->Cells[3][i]=x.prom; StringGrid1->Cells[4][i]=x.nprom; i++; } fclose(f); } } //--------------------------------------------------------------------------- void __fastcall TForm1::N5Click(TObject *Sender) { float vsego,nprom,prom,dolya,plan; int n,i; n=StringGrid1->RowCount; for(i=2;i<n;i++) { nprom=StrToFloat(StringGrid1->Cells[4][i]); //plan=StrToFloat(StringGrid1->Cells[5][i]); vsego=StrToFloat(StringGrid1->Cells[2][i]); prom=StrToFloat(StringGrid1->Cells[3][i]); dolya=nprom/vsego*100; StringGrid1->Cells[5][i]=FloatToStrF(dolya,ffFixed,5,2); plan=(nprom+prom)/vsego*100; StringGrid1->Cells[6][i]=FloatToStrF(plan,ffFixed,5,2); } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дан массив размера N. Определить количество его промежутков монотонности (понять задачу, есть мои наработки язык си) | ЕленаPRO | Помощь студентам | 1 | 12.11.2014 08:43 |
Решением задачи на С. Есть наработки! | adamans | Помощь студентам | 3 | 03.01.2013 06:41 |
Часы(есть наработки) | sllh_111 | Помощь студентам | 2 | 19.04.2010 17:04 |
Pascal, наработки есть. | Otre4eHHbIu | Помощь студентам | 1 | 24.12.2009 08:43 |