Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2017, 18:00   #1
Victoria123
 
Регистрация: 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);


}
Изображения
Тип файла: png кк.png (11.1 Кб, 28 просмотров)
Victoria123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив размера 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